1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-04-27 04:28:12 +00:00
Files
rcornwell.sims/I7000/i701_doc.txt
Richard Cornwell e4a916f001 I7000: Fixed coverity errors, updated help.
Note CR and CP devices are now called CDR and CDP.
   CON device is now called INQ.
2017-05-29 22:14:55 -04:00

276 lines
9.7 KiB
Plaintext

To: Users
From: Richard Cornwell
Subj: IBM 701 Simulator Usage
Date: 01-May-2006
COPYRIGHT NOTICE
The following copyright notice applies to both the SIMH source and binary:
Original code published in 1993-2007, written by Robert M Supnik
Copyright (c) 1993-2007, Robert M Supnik
IBM 701 simulator written by Richard Cornwell
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
ROBERT M SUPNIK OR RICHARD CORNWELL BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Robert M Supnik or Richard
Cornwell shall not be used in advertising or otherwise to promote the sale,
use or other dealings in this Software without prior written authorization
from both Robert M Supnik and Richard Cornwell.
This memorandum documents the IBM 701 simulator.
The IBM 701 also know as "Defense Calculator" was introduced by IBM
on April 7, 1953. This computer was start of IBM 700 and 7000 line.
Memory was 2048 36 bit words. Each instruction could be signed plus
or minus, plus would access memory as 18 bit words, minus as 36 bit
words. There was a expansion option to add another 2048 words of
memory, but I can't find documentation on how it worked. Memory cycle
time was 12 microseconds. The 701 was withdrawn from the market
October 1, 1954 replaced by 704 and 702. A total of 19 machines were
installed.
1. Simulator Files
To compile the IBM 701, you must define USE_INT64 and I701 as part of the
compilation command line.
sim/ scp.h
sim_console.h
sim_defs.h
sim_fio.h
sim_rev.h
sim_tape.h
scp.c
sim_fio.c
sim_tape.c
sim/i7090/ i7090_defs.h
i701_cpu.c 701 CPU, Channel, interface
i7090_chan.c
i701_sys.c
i7090_cdr.c 701 specific peripherals
i7090_cdp.c
i7090_lpr.c
i7090_drum.c
i7000_defs.h Generic 7000 peripherals.
i7000_chan.c
i7000_mt.c
2. IBM 701 Features
The IBM 701 simulator is configured as follows:
device simulates
name(s)
CPU 701 CPU with 2KW of memory
CH 704 devices.
MT 729 magnetic tape controller, channel A (required)
CDR 711 card reader
CDP 721 card punch
LP 716 line printer
DR0 733 drum
The 701 simulator implements several unique stop condition:
- undefined CPU instruction
- divide check on a divide and halt instruction
- write select of a write protected device
The LOAD command will load a card binary image file into memory. An
octal dump file, or a psuedo assembly code.
2.1 CPU
Memory size is 2KW on a standard CPU.
CPU registers include the visible state of the processor as well as the
control registers for the interrupt system.
name size comments
IC 15 program counter
AC 38 accumulator
MQ 36 multiplier-quotient
SW1..SW6 1 sense switches 1..6
SW 6 sense switches
SL1..4 1 sense lights 1..4
ACOVF 1 AC overflow indicator
DVC 1 divide check indicator
IOC 1 I/O check indicator
The CPU can maintain a history of the most recently executed instructions.
This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:
SET CPU HISTORY clear history buffer
SET CPU HISTORY=0 disable history
SET CPU HISTORY=n enable history, length = n
SHOW CPU HISTORY print CPU history
SHOW CPU HISTORY=n print first n entries of CPU history
2.2 I/O Channels (CH)
The channel device on the 701 is only used by simulator, and has no controls
or registers.
2.3 Peripherals
2.3.1 711 Card Reader (CDR)
The card reader (CDR) reads data from a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card reader files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CDR FORMAT=TEXT sets ascii text mode
SET CDR FORMAT=BINARY sets for binary card images.
SET CDR FORMAT=BCD sets for BCD records.
SET CDR FORMAT=CBN sets for column binary BCD records.
SET CDR FORMAT=AUTO Automaticly determines format.
or in the ATTACH command:
ATT CDR <file> attaches a file
The card reader can be booted with the:
BOOT CDR loads first 3 words of card.
Error handling is as follows:
error processed as
not attached report error and stop
end of file out of cards
OS I/O error report error and stop
2.3.2 721 Card Punch (CDP)
The card reader (CDP) writes data to a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card punch files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CDP FORMAT=TEXT sets ascii text mode
SET CDP FORMAT=BINARY sets for binary card images.
SET CDP FORMAT=BCD sets for BCD records.
SET CDP FORMAT=CBN sets for column binary BCD records.
SET CDP FORMAT=AUTO Automaticly determines format.
or in the ATTACH command:
ATT CDP <file> attaches a file
Error handling is as follows:
error processed as
not attached report error and stop
OS I/O error report error and stop
2.3.3 716 Line Printer (LP)
The line printer (LP) writes data to a disk file as ASCII text with
terminating newlines. Currently set to handle standard signals to
control paper advance.
SET LP NO/ECHO Sets echoing to console of lineprinter output.
Error handling is as follows:
error processed as
not attached report error and stop
OS I/O error report error and stop
The Printer supports the following SPRA n selection pulses for controlling
spacing (spacing occurs before the line is printed):
SPRA 2 Single space.
SPRA 1 To top of form.
SPRA 3 Double space.
SPRA 4 Triple space.
SPRA 9 Suppress linefeed after print.
SPT Will skip if any printer line has been pulsed.
Defualt with no SPRA is to single space before printing.
2.3.4 729 Magnetic Tape (MTA)
There are 10 tape devices.
Each individual tape drive support several options: MTA used as an example.
SET MTn ONLINE Sets the mag tape drive online.
SET MTn OFFLINE Sets the mag tape drive offline and not ready.
SET MTn REWIND Sets the mag tape to the load point.
SET MTn LOCKED Sets the mag tape to be read only.
SET MTn WRITEENABLE Sets the mag tape to be writeable.
SET MTn LOW Sets mag tape to low density.
SET MTn HIGH Sets mag tape to high density.
Options: Density LOW/HIGH does not change format of how tapes are written. And
is only for informational purposes only.
Tape drives can be booted with:
BOOT MTn
2.3.4 733 Drum (DR)
Up to 16 units can be attached to the CPU. Each drum is 2048K words in size.
They are all stored in one file.
SET DR0 UNITS=n
Drum unit 0 can be booted with:
BOOT DR0
2.6 Symbolic Display and Input
The IBM 701 simulator implements symbolic display and input. Display is
controlled by command line switches:
-c display as BCD character
-m display instruction mnemonics
Input parsing is controlled by the first character typed in or by command
line switches:
' or -c BCD character
" or -s BCD string
alphabetic instruction mnemonic
numeric octal number
Instruction input uses standard 701 assembler syntax. There is one
basic instruction classes, memory reference.
opcode address