Installing VMS V1.0 on SIMH

From Computer History Wiki
Jump to: navigation, search

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.

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:

$ 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
$

Recommended Reading