VAX‐VMS Simh - Maverick-Shark/retroGuru GitHub Wiki
- https://gunkies.org/wiki/Installing_VMS_V1.0_on_SIMH
- https://gunkies.org/wiki/Playing_DUNGEON_on_VMS_V1.0
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.
Get a VMS V1.0 RK07 disk image from here (backup), 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.
Small VAX-11/780 system with two RK07 disk drives, and an LA120 Console Printer Terminal 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 (SHOW DEVICE):
$ 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 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.
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!
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
$