mirror of
https://github.com/simh/simh.git
synced 2026-01-13 23:35:57 +00:00
466 lines
15 KiB
Plaintext
466 lines
15 KiB
Plaintext
To: Users
|
|
From: Bob Supnik
|
|
Subj: Sample Software Packages
|
|
Date: 31-May-01
|
|
|
|
This memorandum documents the sample software packages available to run
|
|
with the SIMH simulators. Many of these packages are available under
|
|
limited use licenses; please read the license terms included with the
|
|
software.
|
|
|
|
The following copyright notice applies to both the SIMH source and binary:
|
|
|
|
Original code published in 1993-2001, written by Robert M Supnik
|
|
Copyright (c) 1993-2001, Robert M Supnik
|
|
|
|
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 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 shall not
|
|
be used in advertising or otherwise to promote the sale, use or other dealings
|
|
in this Software without prior written authorization from Robert M Supnik.
|
|
|
|
1. PDP-8
|
|
|
|
1.1 ESI-X
|
|
|
|
ESI-X is an interactive program for technical computation. It can
|
|
execute both immediate commands and stored programs (like BASIC). ESI-X
|
|
is provided as both source and as a binary loader format paper-tape
|
|
image. For more information see the documentation included with the
|
|
program. My thanks to Dave Waks, who wrote the program, and to Paul
|
|
Pierce and Tim Litt, who recovered the source from its archival medium.
|
|
|
|
To load and run ESI-X:
|
|
|
|
sim> load esix.bin
|
|
sim> run 5400
|
|
_TYPE 2+2.
|
|
2+2 = 4
|
|
|
|
1.2 FOCAL69
|
|
|
|
FOCAL69 is an interactive program for technical computations. It can
|
|
execute both immediate commands and stored programs (like BASIC). FOCAL69
|
|
is provided as a binary loader format paper-tape image. To load and
|
|
run FOCAL69:
|
|
|
|
sim> load focal69.bin
|
|
sim> run 200
|
|
*TYPE 2+2
|
|
= 4.000*
|
|
|
|
1.3 PDP-8 OS/8
|
|
|
|
OS/8 is the PDP-8's mass storage-based operating system. It provides a
|
|
program development and execution environment for assembler, BASIC, and
|
|
FORTRAN programs. OS/8 is provided under license, as is, without fee, by
|
|
Digital Equipment Corporation, for non-commercial use only. Please read
|
|
the enclosed license agreement for full terms and conditions. This license
|
|
agreement must be reproduced with any copy of the OS/8 disk images. My
|
|
thanks to Doug Jones of the University of Iowa, who provided the disk
|
|
images, and to Digital Equipment Corporation, which provided the license.
|
|
|
|
To boot and run OS/8:
|
|
|
|
sim> att rx0 os8sys_rx.dsk
|
|
sim> att rx1 os8f4_rx.dsk
|
|
sim> boot rx0
|
|
|
|
.DA dd-mmm-yy
|
|
.
|
|
|
|
Note that OS/8 only recognizes upper case characters. The first disk
|
|
(drive 0) is the system disk; it also includes BASIC. The second disk
|
|
(drive 1) includes FORTRAN.
|
|
|
|
2. PDP-11
|
|
|
|
2.1 UNIX V5, V6, V7
|
|
|
|
UNIX was first developed on the PDP-7; its first widespread usage was on
|
|
the PDP-11. UNIX provides a program development and execution environment
|
|
for assembler and C programs. UNIX V5, V7, V7 for the PDP-11 is provided
|
|
under license, as is, without fee, by Santa Cruz Organization (SCO), for
|
|
non-commercial use only. Please read the enclosed license agreement for
|
|
full terms and conditions. This license must be reproduced with any copy
|
|
of the UNIX V5, V6, V7 disk images. My thanks to PUPS, the PDP-11 UNIX
|
|
Preservation Society of Australia, which provided the disk images, and to
|
|
SCO, which provided the license.
|
|
|
|
2.1.1 UNIX V5
|
|
|
|
UNIX V5 is contained on a single RK05 disk image. To boot UNIX:
|
|
|
|
sim> set cpu 18b
|
|
sim> att rk0 unix_v5_rk.dsk
|
|
sim> boot rk
|
|
@unix
|
|
login: root
|
|
#ls -l
|
|
|
|
2.1.2 UNIX V6
|
|
|
|
UNIX V6 is contained on three RK05 disk images. To boot UNIX:
|
|
|
|
sim> set cpu 18b
|
|
sim> att rk0 unix0_v6_rk.dsk
|
|
sim> att rk1 unix1_v6_rk.dsk
|
|
sim> att rk3 unix3_v6_rk.dsk
|
|
sim> boot rk0
|
|
@unix
|
|
login: root
|
|
# ls -l
|
|
|
|
2.1.3 UNIX V7
|
|
|
|
NOTE: The V7 disk images with V2.3c and later releases are new and
|
|
replace the prior versions, which were corrupt.
|
|
|
|
UNIX V7 is contained on a single RL02 disk image. To boot UNIX:
|
|
|
|
sim> set cpu 18b
|
|
sim> set rl0 RL02
|
|
sim> att rl0 unix_v7_rl.dsk
|
|
sim> boot rl0
|
|
@boot
|
|
New Boot, known devices are hp ht rk rl rp tm vt
|
|
: rl(0,0)rl2unix
|
|
#
|
|
|
|
A smaller image is contained on a single RK05 disk image. To boot UNIX:
|
|
|
|
sim> set cpu 18b
|
|
sim> att rk0 unix_v7_rk.dsk
|
|
sim> boot rk0
|
|
@boot
|
|
New Boot, known devices are hp ht rk rl rp tm vt
|
|
: rk(0,0)rkunix
|
|
# STTY -LCASE
|
|
#
|
|
|
|
2.2 RT-11
|
|
|
|
RT-11 is the PDP-11's single user operating system. It provides a program
|
|
development and execution environment for assembler, BASIC, and FORTRAN
|
|
programs. RT-11 is provided under license, as is, without fee, by Mentec
|
|
Corporation, for non-commercial use ONLY ON THIS SIMULATOR. Please read
|
|
the enclosed license agreement for full terms and conditions. This license
|
|
agreement must be reproduced with any copy of the RT-11 disk image. My
|
|
thanks to John Wilson, a private collector, who provided the disk image
|
|
for RT-11 V4; to Megan Gentry, of Digital Equipment Corporation, who
|
|
provided the disk image for RT-11 V5.3; and to Mentec Corporation, which
|
|
provided the license.
|
|
|
|
2.2.1 RT-11 V4
|
|
|
|
RT-11 is contained in a single RK05 disk image. To boot and run RT-11:
|
|
|
|
sim> att rk0 rtv4_rk.dsk
|
|
sim> boot rk0
|
|
|
|
For RL, RM, and RP series disks, RT-11 expects to find a manufacturer's bad
|
|
block table in the last track of the disk. Therefore, INITialization of a
|
|
new (all zero's) disk fails, because there is no valid bad block table. To
|
|
create a minimal bad block table, use the SET <unit> BADBLOCK command.
|
|
|
|
2.2.2 RT-11 V5.3
|
|
|
|
RT-11 is contained in a single RL02 disk image. To boot and run RT-11:
|
|
|
|
sim> set rl0 rl02
|
|
sim> att rl0 rtv53_rl.dsk
|
|
sim> boot rl0
|
|
|
|
This is a full RT-11 distribution kit. It expects the user to copy the
|
|
distribution pack and generate a new system. This requires mounting
|
|
blank packs on RL1. When a blank pack is attached to the simulator,
|
|
a bad block table must be created with the SET <unit> BADBLOCK command.
|
|
|
|
3. Nova RDOS
|
|
|
|
RDOS is the Nova's real-time mass storage operating system. It provides a
|
|
program development and execution environment for assembler, BASIC, and
|
|
FORTRAN programs. RDOS is provided under license, as is, without fee, by
|
|
Data General Corporation, for non-commercial use only. Please read the
|
|
enclosed license agreement for full terms and conditions. This license
|
|
agreement must be reproduced with any copy of the RDOS disk image. My
|
|
thanks to Carl Friend, a private collector, who provided the disk image,
|
|
and to Data General Corporation, which provided the license.
|
|
|
|
To boot and run RDOS:
|
|
|
|
sim> att dp0 rdos_d31.dsk
|
|
sim> set tti dasher
|
|
sim> boot dp0
|
|
FILENAME? (cr)
|
|
DATE (mm/dd/yy)? xx/yy/zz
|
|
TIME (hh:mm:ss)? hh:mm:ss
|
|
R
|
|
list/e
|
|
|
|
4. PDP-1 LISP
|
|
|
|
PDP-1 LISP is an interactive interpreter for the Lisp language. It can
|
|
execute both interactive commands and stored programs. The startup
|
|
instructions for LISP are complicated; see the documentation included
|
|
with the program for details. My thanks to Peter Deutsch, who wrote the
|
|
program, to Gordon Greene, who typed it in from a printed listing, and
|
|
to Paul McJones, who helped with the final debug process.
|
|
|
|
5. PDP-7 SIM8
|
|
|
|
PDP-7 SIM8 is a PDP-8 simulator for the PDP-7. It implements an 8K
|
|
PDP-8/I with keyboard, teleprinter, reader, punch, and line printer.
|
|
It provides an interactive console environment for control and debug
|
|
of the simulated PDP-8. For more information see the documentation
|
|
included with the program. My thanks to Dave Waks, who wrote the
|
|
program, and to Paul Pierce and Tim Litt, who recovered the source
|
|
from its archival medium.
|
|
|
|
To load and run SIM8:
|
|
|
|
sim> load sim8.rim
|
|
sim> run
|
|
AC/ 0000
|
|
|
|
6. PDP-15
|
|
|
|
6.1 FOCAL
|
|
|
|
FOCAL15 is an interactive program for technical computations. It can
|
|
execute both immediate commands and stored programs (like BASIC). FOCAL15
|
|
is provided as a binary loader format paper-tape image. My thanks to Al
|
|
Kossow, who provided the binary image. To load and run FOCAL15:
|
|
|
|
sim> load focal15.bin
|
|
sim> run
|
|
*TYPE FSQT(2),!
|
|
= 1.4142
|
|
*
|
|
|
|
6.2 Advanced Software System/Keyboard Monitor
|
|
|
|
The Advanced Software System Keyboard Monitor is the simplest mass storage
|
|
monitor for the PDP-15. It offers single-user program development and
|
|
execution capabilities. To load and run ADSS/KM-15:
|
|
|
|
- Load the paper-tape bootstrap into upper memory:
|
|
|
|
sim> load dec-15u.rim 77637
|
|
|
|
You <must> specify the load address.
|
|
|
|
- Verify that the bootstrap loaded correctly:
|
|
|
|
sim> ex pc
|
|
PC: 077646
|
|
|
|
- Mount the Advanced Software System DECtape image on DECtape unit 0:
|
|
|
|
sim> attach dt adss15_32k.dtp
|
|
|
|
- Run the bootstrap:
|
|
|
|
sim> run
|
|
|
|
- The DECtape will boot and print out
|
|
|
|
KMS9-15 V5B000
|
|
$
|
|
|
|
and is now ready for commands. Recognized commands include:
|
|
|
|
D list system device directory
|
|
I list available commands
|
|
R list device assignments
|
|
SCOM list systems communication region
|
|
|
|
- To run Focal, assign unused DAT slot 10 and then load Focal
|
|
|
|
$A LPA0 10
|
|
$GLOAD
|
|
LOADER V5B000
|
|
>_FOCAL<altmode = control-[>
|
|
FOCAL V9A
|
|
*TYPE 2+2,!
|
|
4.0000
|
|
*
|
|
|
|
7. IBM 1401
|
|
|
|
7.1 Single Card "Koans"
|
|
|
|
One of the art forms for the IBM 1401 was packing useful programs into a
|
|
single punched card. Three samples are included:
|
|
|
|
i1401_ctolp.cd prints a card deck on the line printer
|
|
i1401_ctopu.cd copies a card deck to the card punch
|
|
i1401_hello.cd prints "HELLO WORLD" on the line printer and stops
|
|
|
|
To use the reproduction cards, simply insert them at the beginning of a
|
|
text file, terminated by newline. Attach the modified file to the card
|
|
reader, attach a blank file to the output device, and boot the card reader.
|
|
|
|
7.2 Diagnostic Tape
|
|
|
|
The software and writeup were provided by Charles Owens.
|
|
|
|
This 1401 Diagnostics tape is a bootable tape containing a series of 1401
|
|
diagnostics dating from about 1962. The 1407 Inquiry console is not used;
|
|
all control is via the front panel.
|
|
|
|
To run in the simulator, attach thusly:
|
|
|
|
sim> attach mt1 1401diag.mt
|
|
sim> attach lpt errorlist.txt
|
|
sim> boot mt1
|
|
|
|
The simulator will halt with IS = 433. At this point, you can set options
|
|
through the sense switches and memory.
|
|
|
|
D 1252 "1" Will cause headings to print for each test run.
|
|
Otherwise no printing will occur unless there are errors.
|
|
|
|
D SSB 1 Loop if an error is detected.
|
|
|
|
D SSC 1 Prints all test cases not just errors.
|
|
|
|
D SSD 1 Repeat the test run over and over.
|
|
|
|
D SSE 1 Halt if any error is detected, otherwise continue.
|
|
|
|
When you continue from this halt (use C to CON), the simulator will halt
|
|
at 3001. Enter C again and the tape will spin thru a series of basic
|
|
CPU diagnostics.
|
|
|
|
7.3 SPS
|
|
|
|
The software and writeup were provided by Charles Owens.
|
|
|
|
sps1.obj and sps2.obj are the object card decks are the "Symbolic
|
|
Programming System", a primitive assembler for the 1401 that predates
|
|
the better known and more functional Autocoder.
|
|
|
|
To use SPS, write an SPS program using your favourite editor (two
|
|
examples are provided, hello.sps and diaglist.sps). SPS decks are
|
|
not free-format, but operands must be placed in columns:
|
|
|
|
1 - 5 Line Count (optional)
|
|
6 - 7 Count (number of characters when defining a constant).
|
|
8 - 13 Label (six characters must start with alphabetic).
|
|
14 - 16 Opcode: Examples:
|
|
A = Add
|
|
B = Branch (must be d-mod for conditional)
|
|
BWZ = Branch if Wordmark or Zone
|
|
C = Compare
|
|
CC = Carriage Control (printer)
|
|
CS = CLear Storage
|
|
CU = Control Unit (e.g. tape)
|
|
CW = Clear Workmark
|
|
D = Divide
|
|
DC = Define Constant (no wordmark)
|
|
DCW = Define Constant (starts in 24, length in 6-7)
|
|
END = End of program
|
|
LCA = Load Characters
|
|
H = Halt
|
|
M = Multiply
|
|
MCE = Move and Edit
|
|
MCS = Move and Supress Zeros
|
|
MCW = Move Characters
|
|
MN = Move Numeric
|
|
MZ = Move Zone
|
|
ORG = Define Origin Point
|
|
P = Punch Card
|
|
R = Read Card
|
|
S = Subtract
|
|
SS = Stacker Select
|
|
SW = Set Wordmark
|
|
W = Write Line
|
|
ZA = Zero and Add
|
|
ZS = Zero and Subtract
|
|
Tape:
|
|
MCW %UX YYY W Write Tape from addr YYY w/o wordmarks)
|
|
LCA %UX YYY W Write Tape, Unit X from addr YYY w/wordmarks)
|
|
MCW %UX YYY R Read Tape from addr YYY w/o wordmarks)
|
|
LCA %UX YYY R Read Tape, Unit X from addr YYY w/wordmarks)
|
|
CU %UX M Write Tape Mark
|
|
CU %UX E Skip and Blank Tape
|
|
CU %UX B Backspace Record
|
|
CU %UX R Rewind Tape
|
|
CU %UX U Rewind and Unlaod tape
|
|
17 - 22 Address for A-operand (label or 4-digit actual address)
|
|
23 - 23 blank, + or - to adjust A-operand by a constant
|
|
24 - 26 3-digit number to adjust A-operand by if 23 is + or -
|
|
27 - 27 Index (?)
|
|
28 - 33 Address for B-operand
|
|
34 - 34 Blank, + or -
|
|
35 - 37 3-digit number of adjust B-address by if 34 is + or -
|
|
38 - 38 Index (?)
|
|
39 - 39 D-modifier for this instruction. Notes:
|
|
/ = Compare is unequal
|
|
S = Branch if Compare Equal
|
|
T = B is less than A
|
|
U = B is greater than A
|
|
L = Tape read error
|
|
K = Tape end of reel
|
|
40 - 55 Comments
|
|
|
|
The SPS deck should start with an ORG operation to specify where in storage
|
|
the program starts, and end with an END card, with an optional A-operand
|
|
showing where to start execution.
|
|
|
|
To assemble an SPS program, place the SPS source between the SPS1.OBJ and
|
|
the SPS2.OBJ deck, and another copy of the same source after the SPS2.OBJ
|
|
deck (SPS is a two-pass assembler). SPS prints a listing on LPT and punches
|
|
an object deck on CDP, ready to run.
|
|
|
|
A UNIX command script to assemble an SPS deck painlessly is in "sps". To
|
|
use the script, enter "sps programname". The script creates programname.lst
|
|
for the listing and programname.obj for the object deck. Windows users
|
|
are out of luck, for now.
|
|
|
|
8. HP2116 16K BASIC
|
|
|
|
HP BASIC is a paper-tape centric implementation of BASIC for a 16KW
|
|
HP2116. Device numbers correspond to the default simulator settings:
|
|
|
|
PTR = 10
|
|
TTY = 11
|
|
PTP = 12
|
|
|
|
The program is a complete but early BASIC and has one unsual requirement:
|
|
all programs must include a valid END statement to run correctly. My
|
|
thanks to Jeff Moffatt for providing the program.
|
|
|
|
To load and run BASIC:
|
|
|
|
sim> load basic1.abs
|
|
sim> run 100
|
|
READY
|
|
10 PRINT SQR(2)
|
|
20 END
|
|
RUN
|
|
1.41421
|
|
|
|
9. PDP-10 TOPS-10 7.03
|
|
|
|
TOPS-10 was the primary time-shared operating system for the PDP-10.
|
|
Installation and distribution tapes for TOPS-10 7.03 are available at
|
|
http://pdp-10.trailing-edge.com.
|
|
[end simh_swre.txt]
|