Installing VMS V1.0 on SIMH
The aim of this tutorial is to show how to install VMS V1.0 on the SIMH VAX-11/780 simulator.
Preparations
simh vax780 simulator
You have to use the SIMH vax780 simulator because the VAX-11/780 was the only VAX existing when VMS was introduced.
All other VAX computers need later versions of VMS to run.
VMS V1.0
Get a VMS V1.0 RK07 disk image from here, unzip and put it in into the directory where the SIMH vax780 simulator resides.
vax780.ini for a typical small 16-user VAX-11/780 system
Use the following vax780.ini file for a typical small 16-user VAX-11/780 system.
You cannot set a memory size smaller than 1MB in the simh vax780 simulator directly, but there is a workaround in VMS:
You set the maximum available memory in SYSBOOT> on the first boot.
A VAX-11/780 system like this - but without the tape drive - (DEC order no. SV-AXHHB) cost 141,300 US$ back in 1980.
The MASSBUS TE16 tape drive subsystem (TEE16) added in this configuration was 20,200 US$, and an additional 512KB memory (MS780-DB) would have taken 13,900 US$.
; ================================================ ; vax780.ini ; ================================================ ; ; Small Size 16 User System made of: ; - 512K bytes of memory (set within SYSBOOT>) ; - 16 DZ11 terminal lines ; - 2 RK07 disk drives ; - line printer ; - TE16 magnetic tape unit ; The tape unit is non-standard in small systems, ; but very useful e.g. to install more software SET QUIET SET CPU 1M SET THROTTLE 1M ;SET CPU IDLE=VMS SET CONSOLE LOG=VMS010-01.LOG ATT CS CONSOLE.RX1 ; DXA1: SET DZ LINES=16 ATT DZ 6666 SET LPT ENA ATT LPT printer.txt SET RP DIS SET RL DIS SET HK0 RK07 ; DMA0: ATT HK0 VAX-VMS_V1.0.RK7 SET HK1 RK07 ; DMA1: ATT HK1 DATA.RK7 SET HK2 DIS SET HK3 DIS SET HK4 DIS SET HK5 DIS SET HK6 DIS SET HK7 DIS SET RQ DIS SET RY DIS SET TQ DIS SET TS DIS SET TU ENA SET TU0 TE16 ; MTA0: SET TU1 DIS SET TU2 DIS SET TU3 DIS SET TU4 DIS SET TU5 DIS SET TU6 DIS SET TU7 DIS BOOT HK0/R5:1 ;BOOT HK0
Installation
First boot
Start the simh vax780 simulator:
Windows:
run vax780.exe
Linux:
./vax780
Be aware that Linux is case sensitive!
SIMH tells you it will write a log:
Logging to file "VMS010-01.LOG"
VMS boots to the SYSBOOT> prompt. Enter the following three commands and confirm each with <Enter>:
SYSBOOT> USE 16USER.PAR SYSBOOT> SET PHYSICALPAGES 1024 SYSBOOT> CONTINUE
This way you do:
- Choose the parameter file for a small 16-user system
- Reduce available memory to 1024 pages = 512K
- Continue booting
VMS continues booting and asks you for the current date and time:
VAX/VMS Version 1.00 21-AUG-1978 15:54 PLEASE ENTER DATE AND TIME (DD-MMM-YYYY HH:MM) 21-MAY-1989 8:51
Enter date and time as shown above and confirm with <Enter>.
The boot process continues up to the boot statistics screen now:
OPCOM, 21-MAY-1989 08:51:11.84, LOGFILE INITIALIZED, OPERATOR=_OPA0: $ ! $ ! VAX/VMS system startup - Release 1 $ ! $ SHOW TIME 21-MAY-1989 08:51:12 $ SET NOVERIFY %MOUNT-I-MOUNTED, CONSOLE mounted on _DXA1: Login quotas - Interactive limit=64, Current interactive value=0 SYSTEM job terminated at 21-MAY-1989 08:51:15.16 Accounting information: Buffered I/O count: 142 Peak working set size: 100 Direct I/O count: 37 Peak virtual size: 111 Page faults: 271 Mounted volumes: 1 Elapsed CPU time: 0 00:00:01.90 Elapsed time: 0 00:00:04.31
Press <Enter> to get to the login prompt.
Log in with username SYSTEM and password MANAGER.
The password is NOT echoed.
Username: SYSTEM Password: Welcome to VAX/VMS Version 1.00 $
You're in!
Try DIR as a first VMS command to show the files in your login directory:
$ DIR DIRECTORY DM0:[SYSMGR] 21-MAY-89 08:51 ACCOUNTNG.DAT;1 1. 21-MAY-89 08:51 FORMSTYPE.DAT;1 2. 21-AUG-78 15:54 OPERATOR.LOG;1 1. 21-MAY-89 08:51 SYSHUTDWN.COM;1 0. 21-AUG-78 15:54 SYSTARTUP.COM;1 0. 21-AUG-78 15:54 TOTAL OF 4./112. BLOCKS IN 5. FILES $
A first look around
Let's have a first look at our installed VMS V1.0!
For the users completely new to VMS
Try the following commands.
You can abreviate all commands to the extend that they do not get ambiguous, e.g. SH instead of SHOW
VMS is not case-sensitive, but it is common practice to enter commands in UPPERCASE.
SHOW SYS shows you what's going on your system:
$ SH SYS VAX/VMS Processes on 21-MAY-1979 18:04:45.10 Pid Process Name UIC State Pri Dir. I/O CPU Page flts Ph.Mem 00010000 NULL 000,000 COM 0 0 00:00:28.69 0 0 00010001 SWAPPER 000,000 HIB 16 0 00:00:00.12 0 0 00010017 ERRFMT 001,006 HIB 7 5 00:00:00.03 26 29 00010018 OPCOM 001,004 LEF 11 2 00:00:00.06 29 33 00010019 JOB_CONTROL 001,004 HIB 11 6 00:00:00.09 31 77 0001001A DMA0ACP 001,003 HIB 9 88 00:00:00.50 47 69 0002001B SYSTEM 001,004 CUR 5 6 00:00:00.28 71 86 $
- Pid = Process ID
- Process Name (self-explaining)
- UIC = Process owner (User ID)
- State = Process state
- Pri = Process priority
- Dir. I/O = Process direct I/O count
- CPU = Process CPU time used
- Page flts = Process page faults
- Ph.Mem = Process physical memory
SHOW DEV shows the devices on your VAX:
$ SH DEV List of Devices on 21-MAY-1979 18:09:45.68 Device Device Device Err. Volume Free Trans Mount Name Status Characteristics Count Label Blocks Count Count DMA0: on line MNT 0 VAXVMSRL1 29528 19 1 DMA1: on line 0 OPA0: on line 0 DXA1: on line MNT FOR 0 CONSOLE 0 1 1 LPA0: on line 0 TTA0: on line 0 TTA1: on line 0 TTA2: on line 0 TTA3: on line 0 TTA4: on line 0 TTA5: on line 0 TTA6: on line 0 TTA7: on line 0 TTB0: on line 0 TTB1: on line 0 TTB2: on line 0 TTB3: on line 0 TTB4: on line 0 TTB5: on line 0 TTB6: on line 0 TTB7: on line 0 MTA0: on line 0 $
- DMA0 is the first RK07 disk drive (the VMS system drive)
- DMA1 is the second RK07 disk drive (the data drive, still empty)
- OPA0 is the operator terminal (from which you boot the system)
- DXA1 is the console floppy drive (very important to boot a real VAX-11/780, just a dummy for simh)
- LPA0 is the system line printer
- TTA0 - TTB7 are the sixteen user terminals
- MTA0 is the TE16 magtape drive
HELP shows the available help topic and brief instructions for using HELP:
$ HELP Help can be obtained on a particular topic by typing : HELP topic subtopic subsubtopic ... A topic can have the following format : 1) an alphanumeric string (e.g. a command name, option, etc...) 2) same preceded by a "/" (=interpreted as a qualifier) 3) the match-all symbol "*" Examples: HELP ASSIGN PARAMETERS HELP SET TERMINAL /LOWERCASE Abbreviations result in all matches being displayed. Additional information available: ALLOCATE APPEND ASSIGN BASIC CANCEL CLOSE COBOL CONTINUE COPY CREATE DEALLOCATE DEASSIGN DEBUG DECK DEFINE DELETE DEPOSIT DIFFERENCES DIRECTORY DISMOUNT DUMP EDIT EOD EOJ ERROR EXAMINE EXIT FORTRAN GOTO HELP IF INITIALIZE INQUIRE JOB LIBRARY LINK LOGOUT MACRO MCR MOUNT ON OPEN PASSWORD PRINT PURGE READ RENAME REQUEST RUN SET SHOW SORT SOS SYNCHRONIZE STOP SUBMIT TYPE UNLOCK WAIT WRITE login procedure specify symbols $
Be careful not to destroy the newly installed system; you are logged in as SYSTEM who can e.g. easily delete crucial system files.
The use of SHOW commands cannot do any harm.
For users who already know "newer" VMS versions (V4.x and later)
You will probably miss some of the commands you know from "newer" VMS versions ...
Some utilities have different names, others are not yet existing.
- BACKUP is DSC in VMS V1.0
- MONITOR is DISPLAY in VMS V1.0 (needs to be called MCR DISPLAY)
- SHOW MEMORY is not yet implemented in VMS V1.0
- ...
Orderly shutdown
VMS needs an orderly shutdown.
Don't just break out of the simulation using <Strg + e> and tell simh to exit.
You might loose data not yet written to disk and (if Murphy comes around) destroy the file structures on your disk.
Use the following command to perform an orderly shutdown:
@SYS$SYSTEM:SHUTDOWN
You will be asked for the shutdown delay in minutes (you can specify 0 minutes for an immediate shutdown).
Furthermore you can give an optional reason for the shutdown to be displayed at the terminals of the users on your system (just press <Enter> to skip).
$ @SYS$SYSTEM:SHUTDOWN System shutdown command procedure. 21-MAY-1989 16:41:14 HOW MANY MINUTES UNTIL SHUTDOWN?: 0 REASON?: REBOOT Login quotas - Interactive limit=0, Current interactive value=1 Non-operator logins are disabled. OPCOM, 16:43:45.70, OPERATOR TERMINAL STATUS, _OPA0: CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, OPER(1,2,3,4,5,6,7,8,9,10,11,12) _OPA0:,SYSTEM 16:43:46.57 "BATCH AND DEVICE QUEUES HAVE BEEN STOPPED" _OPA0:,SYSTEM 16:43:51.14 "SYSTEM SHUTDOWN IN 0 MINUTES. LOGINS ARE DISABLED, PLEASE LOGOFF. _OPA0:,SYSTEM 16:43:55.68 "REBOOT Invoke installation dependent shutdown procedure. Stop all user processes. Dismount all mounted volumes. OPCOM, 16:44:02.02, SYSTEM ACCNT=SYSTEM OPCOM, _OPA0:, "OPERATOR REQUESTED SHUTDOWN" OPCOM, 21-MAY-1989 16:44:02.15, LOGFILE CLOSED, OPERATOR=_OPA0: **** FATAL BUG CHECK, VERSION = 1.00 OPERATOR, Operator requested system shutdown CURRENT PROCESS = SYSTEM REGISTER DUMP R0 = 00000024 R1 = 00000000 R2 = 00000004 R3 = 7FFE8F05 R4 = 80059670 R5 = 7FFEE284 R6 = 31000513 R7 = 7FFEF99C R8 = 7FFEF87C R9 = 7FFEF98C R10= 7FFEF9A4 R11= 7FFE6C10 AP = 00000000 FP = 7FFEEBD0 SP = 7FFEEBC8 PC = 0000045D PSL= 00DF0000 KERNEL/INTERRUPT STACK 7FFEEBD0 00000000 7FFEEBD4 00000000 7FFEEBD8 7FFDC778 7FFEEBDC 7FFEEBE4 7FFEEBE0 800087E9 7FFEEBE4 00000000 7FFEEBE8 00000000 7FFEEBEC 7FFDC778 7FFEEBF0 7FFDC760 7FFEEBF4 8000B4E3 7FFEEBF8 80000096 7FFEEBFC 03C00000 EXEC STACK PROCESS PRIVILEGES 80062400 FFFFFFFF 80062404 FFFFFFFF IMAGE NAME = DMA0:[SYSEXE]OPCCRASH.EXE;1 Infinite loop, PC: 80008462 (BRB 80008462) sim> exit Goodbye
For VMS V1.0 it is expected behavior to get a FATAL BUG CHECK at the end of the shutdown.
When you get the simh prompt (sim>) you can safely exit the simulator using the exit command.
Subsequent boots
Now that you have sucessfully installed VMS V1.0 you no longer need to boot into SYSBOOT>.
Make a comment out of the command BOOT HK0/R5:1 in the vax780.ini file by putting a semicolon in front of it.
Remove the semicolon from the ;BOOT HK0 line to make it a command.
From now on you'll boot directly into VMS V1.0!
Congratulations!
"Connecting" User Terminals
I recommend using a Telnet client such as PuTTY to connect to the 16 terminal lines.
I use the following PuTTY settings:
- Host Name: 127.0.0.1 (or your PCs IP address)
- Connection type: Telnet
- Port: 6666
- Terminal/Keyboard/The Backspace key/: Control-?
- Terminal/Keyboard/The function keys and keypad: VT100+
Connected to the VAX 11/780 simulator DZ device, line 0 Username: SYSTEM Password: Welcome to VAX/VMS Version 1.00 $