Upgrade HP3000 SIMH Disk Drive from HP7920 to HP7925

The virtual hard drive that came with SIMH is a 55MB HP7920 disk drive. With just the O/S installed, there isn’t a lot of space left on this drive. This HP3000 can also emulate a 120MB HP7925.

This procedure will step you through backing the HP3000 up, creating an HP7925, then restoring the files onto the new hard drive. I’ve wanted to do this 2 times now, so I will write down the process for posterity.

SYSDUMP

You need to copy the O/S and all the files to tape. This is done with the SYSDUMP command.

Earlier versions of SIMH hung trying to do a SYSDUMP. I obtained simh-4.0-current–2019-05-07-52a31597.zip and extracted the hp3000.exe from it.

:HELLO MANAGER.SYS

CPU=1. CONNECT=1. SUN, AUG 25, 1991, 4:11 PM
16:11/#S1/14/LOGOFF ON LDEV #20

16:11/#S2/15/LOGON FOR: MANAGER.SYS,PUB ON LDEV #20
HP3000 / MPE V E.01.00 (BASE E.01.00). SUN, AUG 25, 1991, 4:11 PM
:<<type control-E>>
Simulation stopped, P: 071144 (PAUS 0)
sim> attach ms0 sysdump-190825.tape
MS: creating new file
sim> go

16:11/10/Vol (unlabelled) mounted on LDEV# 7

:FILE T;DEV=7
:SYSDUMP *T

ANY CHANGES?
ENTER DUMP DATE? 0
ENTER DUMP FILE SUBSET(S) @.@.@
LIST FILES DUMPED? N
?16:12/#S2/16/IS "T" ON LDEV#7 (Y/N)?
<<type control-A to get "=" prompt>>
=REPLY 16,Y
STORE/RESTORE, VERSION 2 (C) 1981 HEWLETT-PACKARD CO.
SUN, AUG 25, 1991, 4:12 PM

LOADLIST.PUB .SYS NOT STORED:(S/R 55) FILE IN USE FOR WRITING
LOG0016 .PUB .SYS NOT STORED:(S/R 55) FILE IN USE FOR WRITING
SL .PUB .SYS NOT STORED:(S/R 55) FILE IN USE FOR WRITING

FILES STORED: 535
FILES NOT STORED: 3
**WARNING** FOLLOWING SYSTEM FILES NOT DUMPED
<<This is fine>>
HIOCTAP0.PUB.SYS
HIOCIPR0.PUB.SYS
IONRDR0.PUB.SYS

END OF SUBSYSTEM
:
<<type control-A to get "=" prompt>>
=SHUTDOWN

SESSION ABORTED BY SYSTEM MANAGEMENT
CPU=5. CONNECT=12. SUN, AUG 25, 1991, 4:22 PM
16:22/#S2/15/LOGOFF ON LDEV #20
16:22/1/ALL JOBS LOGGED OFF
SHUT

Programmed halt, CIR: 030377 (HALT 17), P: 161440 (BR P-1)
sim> exit

Create a SIM script file with the following contents. I will call this myreload.sim.

set -n console log=mpe-1-reload.log
set console DEL=177
set cpu idle=10
set ds0 7925,format
attach -n ds0 mpe.7925.disc
set ms0 7970E
attach -r ms0 sysdump-190825.tape
deposit SWCH 003006
load
assert 01.112247=046022
deposit 01.112247 021360

mpe.7225.disc will be the file containing the contents of the new HP7925 disk drive.

sysdump-190825.tape is the name of the tape file I just created above.

Now Start the HP using the new SIM script:

C:\hp3000Sim>hp3000 myreload.sim

HP 3000 simulator V4.0-0 Current        git commit id: 52a31597
Logging to file "mpe-1-reload.log"
C:/hp3000Sim/myreload.sim-5> attach -n ds0 mpe.7925.disc
DS: creating new file
C:/hp3000Sim/myreload.sim-7> attach -r ms0 sysdump-190825.tape
MS: unit is read only

Cold load complete, P: 177661 (LOAD Q-12)

The last step is to remove the HP7920 from the configuration, add the HP7925, and once that is done, the system will load the tape onto the new drive.

Type GO to start the system and follow the example:

sim> go
HP32002E.01.00
WHICH OPTION <COLDSTART/RELOAD/UPDATE>? RELOAD
WHICH OPTION <SPREAD/COMPACT/RESTORE/ACCOUNTS/NULL>? SPREAD
ANY CHANGES? Y
LOAD MAP?
MEMORY SIZE = 512.?
I/O CONFIGURATION CHANGES? Y
LIST I/O DEVICES?
HIGHEST DRT = 36.?
LOGICAL DEVICE #? 1
DRT #? 0
LOGICAL DEVICE #? 1
DRT #? 4
UNIT #? 0
SOFTWARE CHANNEL #? 0
TYPE? 0
SUB TYPE? 9
RECORD WIDTH? 128
OUTPUT DEVICE? 0
ACCEPT JOBS/SESSIONS?
ACCEPT DATA?
INTERACTIVE?
DUPLICATIVE?
ENABLE SEEKAHEAD?
INITIALLY SPOOLED?
DRIVER NAME? IOMDISC1
DEVICE CLASSES? DISC,SPOOL
IS DISC A SERIAL DISC CLASS? N
IS DISC A FOREIGN DISC CLASS?N
IS SPOOL A SERIAL DISC CLASS? N
IS SPOOL A FOREIGN DISC CLASS?N
LOGICAL DEVICE #?
MAX # OF OPEN SPOOLFILES = 20.?
LIST I/O DEVICES? Y
LOG DRT U  C T SUB               REC   OUTPUT  MODE   DRIVER   DEVICE
DEV  #  N  H Y TYPE  TERMINAL    WIDTH  DEV            NAME    CLASSES
 #      I  A P      TYPE SPEED
        T  N E
1   4   0  0 0  9                128    0             IOMDISC1 DISC
                                                               SPOOL
6   14  0  0 32 2                66     0          S  IOLPRT0  LP
7   6   0  0 24 0                128    0             IOTAPE0  TAPE
8   6   1  0 24 0                128    0             IOTAPE0  TAPE
9   6   2  0 24 0                128    0             IOTAPE0  TAPE
10  6   3  0 24 0                128  LP       JA     IOTAPE0  JOBTAPE
20  7   0  0 16 0    18   ??     40     20     JAID   IOTERM0  TERM
21  7   1  0 16 0    10   ??     40     21     JAID   IOTERM0  TERM
22  7   2  0 16 1    10   ??     40     22     JAID   IOTERM0  TERM
23  7   3  0 16 0    10   ??     40     23     JAID   IOTERM0  TERM
24  7   4  0 16 0    10   ??     40     24     JAID   IOTERM0  TERM
25  7   5  0 16 0    10   ??     40     25     JAID   IOTERM0  TERM
26  7   6  0 16 0    10   ??     40     26     JAID   IOTERM0  TERM
27  7   7  0 16 0    10   ??     40     27     JAID   IOTERM0  TERM
28  7   8  0 16 0    10   ??     40     28     JAID   IOTERM0  TERM
29  7   9  0 16 0    10   ??     40     29     JAID   IOTERM0  TERM
30  7   10 0 16 0    10   ??     40     30     JAID   IOTERM0  TERM
31  7   11 0 16 0    10   ??     40     31     JAID   IOTERM0  TERM
32  7   12 0 16 0    10   ??     40     32     JAID   IOTERM0  TERM
33  7   13 0 16 0    10   ??     40     33     JAID   IOTERM0  TERM
34  7   14 0 16 0    10   ??     40     34     JAID   IOTERM0  TERM
35  7   15 0 16 0    10   ??     40     35     JAID   IOTERM0  TERM
CLASS CHANGES?
LIST I/O DEVICES?
LIST ADDITIONAL DRIVERS?
I/O CONFIGURATION CHANGES?
DISC VOLUME CHANGES? Y
LIST VOLUME TABLE? Y
VOLUME # NAME LOG DEV #
1 MH7920U0 0
DELETE VOLUME? Y
ENTER VOLUME NAME? MH7920U0
ENTER VOLUME NAME?
LIST VOLUME TABLE?
NON-SYSTEM VOLUME ON LDEV 1
ADD TO SYSTEM VOLUME SET? Y
ENTER VOLUME NAME? MH7925U0
LOGICAL PACK SIZE IN CYLINDERS = 815.?
LIST DEFECTIVE TRACK/SECTOR INFORMATION?
DELETE TRACK?
LIST VOLUME TABLE? Y
VOLUME # NAME LOG DEV #
1 MH7925U0 1
LIST VIRTUAL MEMORY DEVICE ALLOCATION? Y
VOLUME NAME   LDEV #   VM ALLOCATION
  MH7925U0     1        0
ENTER VOLUME NAME , SIZE IN KILOSECTORS? MH7925U0,10
ENTER VOLUME NAME , SIZE IN KILOSECTORS?
VIRTUAL MEMORY CHANGES? Y
LIST VIRTUAL MEMORY DEVICE ALLOCATION? Y
VOLUME NAME   LDEV #   VM ALLOCATION
  MH7925U0     1        10
ENTER VOLUME NAME , SIZE IN KILOSECTORS?
VIRTUAL MEMORY CHANGES?
DISABLE LOGGING?
MAX # OF SPOOLFILE KILOSECTORS? =128?
# OF SECTORS PER SPOOLFILE EXTENT = 384.?
2 FILES NOT FOUND - ANOTHER TAPE SET AVAILABLE?N
NOT ALL FILES FOUND - LIST?
BANK 0 DEPENDENT MEMORY USED - 14004
<< make up any date < 1/1/2000 >>
DATE (M/D/Y)?6/12/91
TIME (H:M)?20:48
WED, JUN 12, 1991, 8:48 PM? (Y/N)Y
LOG FILE NUMBER 29 ON
*WELCOME*
:HELLO OPERATOR.SYS;HIPRI
20:48/13/SP#6/SPOOLED OUT
20:48/#S1/14/LOGON FOR: OPERATOR.SYS,OPERATOR ON LDEV #20

That’s it! On a real classic HP3000, that would have taken hours. I spent many a long night in my youth doing just that.

Just to check that everything is roughly correct:

:HELLO MANAGER.SYS
CPU=1. CONNECT=2. SAT, JUN 1, 1991, 8:49 PM
20:49/#S1/14/LOGOFF ON LDEV #20

20:49/#S2/15/LOGON FOR: MANAGER.SYS,PUB ON LDEV #20
HP3000 / MPE V E.01.00 (BASE E.01.00). SAT, JUN 1, 1991, 8:49 PM
:REPORT TMP.@
ACCOUNT       FILESPACE-SECTORS     CPU-SECONDS    CONNECT-MINUTES
   /GROUP       COUNT    LIMIT    COUNT    LIMIT    COUNT    LIMIT
GAMES            8902       **       20       **      410       **
   /TMP          4870       **        1       **        3       **
HPOFFICE            0       **        0       **        0       **
HPPL85              0       **        0       **        0       **
HPPL87              0       **        0       **        0       **
HPPL89           1140       **        0       **        0       **
HPPL96              0       **        0       **        0       **
ITF3000             0       **        0       **        0       **
SUPPORT         38073       **        0       **        0       **
SYS             39284       **       44       **     1016       **
   /TMP             0       **        0       **        0       **
TELESUP          1559       **        0       **        0       **
:

The last step is to fix the SIMH startup script to use the new hard drive. Most likely you are using the mpe-auto.sim. script. Edit it and change 7920 to 7925 everywhere:

; Set the disc mode and attach the disc image file.

set ds0 7925
attach -e ds0 mpe.7925.disc
This entry was posted in c-retro, Uncategorized and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.