mirror of
https://github.com/rcornwell/sims.git
synced 2026-04-27 04:28:12 +00:00
276 lines
9.7 KiB
Plaintext
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
|