                 HP 32002E MPE-V/R Operating System Software Kit
                 ===============================================
                        J. David Bryan <jdbryan@acm.org>
                             Last update: 2026-03-27


This package contains a bootable disc image of an HP 3000 MPE-V/R version
E.01.00 operating system.  The image is in SIMH format, with each 16-bit disc
word in little-endian format, i.e., lower-order byte first.  It is provided for
use with the SIMH HP 3000 Series III simulator that is available at:

  http://simh.trailing-edge.com/hp/

This package requires Release 15 or later of the simulator.  Earlier releases,
or releases based on SCP 4.x will not work.

Please refer to the following documents from the simulator distribution archive
file when using this kit:

  Filename                  Title
  -----------------------   ------------------------------------
  doc/hp3000_guide.pdf      the "HP 3000 Simulator User's Guide"
  doc/simh_doc.pdf          the "SIMH Users' Guide"
  doc/simh_supplement.pdf   the "SIMH Users' Guide Supplement"
  doc/hp3000_release.txt    the "SIMH/HP 3000 Release Notes"

Problems with the simulator or this software kit should be reported as indicated
in the Release Notes document.

This kit includes the following files:

  Filename                  Description
  ------------------------  -------------------------------------------------------
  mpe.7920.disc             the bootable MPE disc image

  mpe-auto.sim              a script to cold load the disc and perform a COOLSTART
  mpe-remote-auto.sim       a script to cold load and start a "remote" MPE instance
  mpe-man.sim               a script to cold load the disc for manual startup

  mpe-1-reload.sim          a script to RELOAD the system from the FOS tape
  mpe-2-restore.sim         a script to RESTORE subsystems and examples from tape
  mpe-3-sysdump.sim         a script to SYSDUMP the disc to tape for alteration
  mpe-4-coldstart.sim       a script to COLDSTART the system to load the changes

  configure-disc.inc        an included script to configure the system disc model

  mpe-1-reload.7920.log     the console log for the mpe-1-reload.sim script
  mpe-2-restore.7920.log    the console log for the mpe-2-restore.sim script
  mpe-3-sysdump.7920.log    the console log for the mpe-3-sysdump.sim script
  mpe-4-coldstart.7920.log  the console log for the mpe-4-coldstart.sim script
  mpe-1-reload.7912.log     the console log for a RELOAD with a 7912 system disc

  readme.txt                this documentation file

PDF manuals describing MPE commands are available from Bitsavers and the HP
Computer Museum at:

  https://bitsavers.org/pdf/hp/3000/

  https://www.hpmuseum.net/exhibit.php?catdoc=32



--------------------
Using the Disc Image
--------------------

After unpacking the archive into a directory, the disc image is ready to run
using the HP 3000 simulator and either the "mpe-auto.sim" or "mpe-man.sim"
simulator command file.

"mpe-auto.sim" sets up the simulation environment, attaches the "printer.txt"
file to the simulated HP 2617 line printer, attaches the disc image to the
simulated HP 7920 disc drive, cold loads the system, requests a COOLSTART, and
supplies the date and time to MPE (see the usage note below).  At the conclusion
of the script, the system operator is logged on at the simulation console, and
the Asynchronous Terminal Controller (ATC) is configured to listen for Telnet
connections on local port 1054.

"mpe-man.sim" performs the same setup but stops after cold loading the system.
The user must perform the remainder of the startup interaction manually --
choosing a WARMSTART or COOLSTART, etc.

Both command files assign "localhost" port 1054 to the ATC.  If you use a
firewall, you may have to allow the "hp3000" executable to receive incoming
connections.  If port 1054 is in use or is otherwise unsuitable, you may edit
the command files to use any available local port.

Once the HP 3000 simulator has been compiled, running:

  hp3000 mpe-auto

...should produce this output on the simulation console:

  HP32002E.01.00
  WHICH OPTION <WARMSTART/COOLSTART>? COOLSTART
  ANY CHANGES? NO

  DATE (M/D/Y)?02/17/88
  TIME (H:M)?17:38
  WED, FEB 17, 1988,  5:38 PM? (Y/N)Y
  LOG FILE NUMBER 5 ON
  *WELCOME*
  :HELLO OPERATOR.SYS;HIPRI
  17:38/13/SP#6/SPOOLED OUT
  17:38/#S1/14/LOGON FOR: OPERATOR.SYS,OPERATOR ON LDEV #20
  HP3000 / MPE V  E.01.00 (BASE E.01.00).  WED, FEB 17, 1988,  5:38 PM
  :

...where the date and time reflect the current date and time of the host system
with a year selected from the 20th century whose days of the week and leap-year
status match those of the current year.

Two example BASIC programs are provided in the OPERATOR.SYS account.  The "TEN"
program calculates and prints the square roots of the numbers from 1 to 10 in
both single- and double-precision.  It may be run from the BASIC interpreter at
the system console:

  :BASIC

  HP32101B.00.26(4WD)  BASIC  (C)HEWLETT-PACKARD CO 1979
  >GET TEN
  >RUN
  TEN
  HELLO FROM HP 3000 BASIC!  HERE ARE SOME SQUARE ROOTS:

   1              1              1.000000000000000L+00
   2              1.41421        1.414213562373095L+00
   3              1.73205        1.732050807568877L+00
   4              2              2.000000000000000L+00
   5              2.23607        2.236067977499790L+00
   6              2.44949        2.449489742783178L+00
   7              2.64575        2.645751311064591L+00
   8              2.82843        2.828427124746190L+00
   9              3              3.000000000000000L+00
   10             3.16228        3.162277660168379L+00

  >EXIT

  END OF SUBSYSTEM
  :

The TEN program can also be compiled by the BASIC compiler and prepared to
produce an executable program that may be run directly from the command prompt:

  :BASICPREP TENCMD,TENRUN

  PAGE 0001   HP32103B.00.24(4WD)  BASICOMP  (C)HEWLETT-PACKARD CO 1979


  $CONTROL SOURCE,USLINIT,LABEL,MAP,LIST,WARN
  $COMPILE TEN
     10 LONG J
     20 PRINT "HELLO FROM HP 3000 BASIC!  HERE ARE SOME SQUARE ROOTS:"
     30 PRINT
     40 FOR I=1 TO 10
     45   J=I
     50   PRINT I,SQR(I),SQR(J)
     60 NEXT I
    110 END


      SYMBOL MAP

      TEN

   NAME    TYPE          STRUCTURE       ADDRESS

    I      REAL          SIMPLE VAR      Q+  4
    J      LONG          SIMPLE VAR      Q+  3,I


   LABEL MAP    ENTRY POINT     0   STACK     9
    LABEL  LOCATION   LABEL  LOCATION   LABEL  LOCATION   LABEL  LOCATION
     10=   20    31    20          31    30          46    40          50
     45          63    50          70    60         113   110         124
  $EXIT

  NO. ERRORS=000             NO. WARNINGS=000
  PROCESSOR TIME=0:00:00     ELAPSED TIME=0:00:00

  END OF COMPILE

  END OF PREPARE
  :RUN TENRUN

  HELLO FROM HP 3000 BASIC!  HERE ARE SOME SQUARE ROOTS:

   1              1              1.000000000000000L+00
   2              1.41421        1.414213562373095L+00
   3              1.73205        1.732050807568877L+00
   4              2              2.000000000000000L+00
   5              2.23607        2.236067977499790L+00
   6              2.44949        2.449489742783178L+00
   7              2.64575        2.645751311064591L+00
   8              2.82843        2.828427124746190L+00
   9              3              3.000000000000000L+00
   10             3.16228        3.162277660168379L+00

  END OF PROGRAM
  :

The other example program is "SQR", which calculates the square root and sine of
the numbers from 1 to 10 and 0.1 to 1.0, respectively, in an infinite loop.  It
can be used to show the speed of the simulator in multiples of a real HP 3000
Series III machine, as follows:

  :BASIC

  HP32101B.00.26(4WD)  BASIC  (C)HEWLETT-PACKARD CO 1979
  >GET SQR
  >RUN
  SQR

  A COMPUTE-BOUND PROGRAM TO DEMONSTRATE
    THE SIMULATOR'S 'SHOW CPU SPEED' COMMAND

  LET IT RUN FOR SEVERAL SECONDS TO MEASURE THE SPEED
    AND THEN PRESS CTRL+E TO OBTAIN THE SCP PROMPT
    AND ENTER 'SHOW CPU SPEED' TO DISPLAY THE SPEED
    IN MULTIPLES OF THE SPEED OF A REAL SERIES III

  THEN INTERRUPT BASIC BY PRESSING CTRL+Y
    AND ENTER 'ABORT' TO STOP THE PROGRAM
    AND RETURN TO THE BASIC COMMAND PROMPT

Once the program is started, let it run about ten seconds on an otherwise
quiescent host system to allow the speed to be calculated.  Then press CTRL+E
(i.e., control-E, ^E) on the simulation console to obtain an SCP prompt and
enter the "show cpu speed" command:

  scp> show cpu speed
  Simulation speed = 36x

This shows that the simulator is executing machine instructions approximately 36
times faster than a real Series III.  Finally, press CTRL+Y to interrupt the
program, enter ABORT to abort program execution and return to the BASIC
interpreter, and then enter EXIT to return to the command prompt:

  *CONTROL-Y BREAK IN LINE 150 IN SQR
  >ABORT

  >EXIT

  END OF SUBSYSTEM
  :

Note that if you try a SHOW CPU SPEED command while MPE is idle (e.g., while
sitting at the CI prompt), you will get an unrealistic reading:

  :
  scp> show cpu speed
  Simulation speed = 210x

This is because MPE executes a PAUS instruction while idle, and PAUS is
implemented as a tight, two-word microcode loop with no memory accesses and no
instruction fetches.  Consequently, it appears to execute very rapidly to the
simulator, which results in the invalid report.  CPU speed is accurately
measured only when MPE or a user program is busy.


Two example COBOL programs are also provided in the OPERATOR.SYS account.
"COBINT" calculates interest payments, while "COBTAX" calculates a 6% sales tax
on a purchase.  They may be run as follows with the COBOL-II compiler:

  :COBOLIIGO COBINT

  PAGE 0001   HP32233A.02.05  [74] Copyright Hewlett-Packard CO. 1989

  [...]

  LINE # SEQ #   COL  ERROR  SVRTY  TEXT OF MESSAGE
  ------ -----   ---  -----  -----  ---------------
  00040  035000  80    050     W    ARITHMETIC OVERFLOW MAY OCCUR.

  0 ERROR(s), 0 QUESTIONABLE, 1 WARNING(s)

      DATA AREA IS %000370 WORDS.
      CPU TIME = 0:00:00.  WALL TIME = 0:00:00.

  END OF PROGRAM

  END OF PREPARE

  ENTER THE PRESENT VALUE (999999):
  001000

  ENTER THE NUMBER OF TERMS (999):
  036

  ENTER THE ANNUAL INTEREST RATE PERCENTAGE (99V99):
  0400

  PRESENT VALUE ... $  1000
  TERMS ...........  36
  INTEREST RATE ...   4.00%

  THE PAYMENT AMOUNT IS $    29.52

  END OF PROGRAM
  :COBOLIIGO COBTAX

  PAGE 0001   HP32233A.02.05  [74] Copyright Hewlett-Packard CO. 1989

  [...]

  0 ERROR(s), 0 QUESTIONABLE, 0 WARNING(s)

      DATA AREA IS %000245 WORDS.
      CPU TIME = 0:00:00.  WALL TIME = 0:00:00.

  END OF PROGRAM

  END OF PREPARE

  ENTER COST OF SALE (BEFORE TAX) NO DECIMAL PT
  (4 DIGITS MAX) INCLUDE LEADING ZEROS!
  1200
  TOTAL COST OF PURCHASE = $   12.72
  ARE YOU FINISHED? (Y OR N)
  Y

  END OF PROGRAM
  :

The COBOL-II firmware instruction set must be "installed" (enabled) to run
COBOL-II programs.  The supplied simulator command files "mpe-auto.sim" and
"mpe-man.sim" enable the firmware.

Connecting a terminal emulator (e.g., Reflection or QCTerm) via Telnet to local
port 1054 will connect the session to the next available ATC channel.  Pressing
RETURN or ENTER will bring up the MPE colon prompt from which, for example, the
system manager may be logged on:

  <attempting connection to localhost>
  <localhost contacted>

  Connected to the HP 3000 simulator ATCD device, line 1


  :HELLO MANAGER.SYS
  HP3000 / MPE V  E.01.00 (BASE E.01.00).  WED, FEB 17, 1988,  5:46 PM
  :

Up to fifteen concurrent terminal sessions may be started independently of the
operator's session running on the system console.

Before exiting the simulator, MPE must be shut down to ensure that the in-memory
tables are written to the disc.  First log off any additional terminal emulator
sessions connected via Telnet with the "BYE" command.  Then log off the
operator's session at the system console:

  :BYE

  CPU=15. CONNECT=25. WED, FEB 17, 1988,  6:11 PM
  18:11/#S1/14/LOGOFF ON LDEV #20

Press CTRL+A to get the system console prompt ("="), enter the SHUTDOWN command,
and then exit the simulator after the CPU halts:

  =SHUTDOWN
  18:11/1/ALL JOBS LOGGED OFF
  SHUT

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

A log of the system console session has been saved in the "mpe-auto.log" file.



-------------------------------------
Using DS/3000 to Interconnect Systems
-------------------------------------

HP product 32189B, "Distributed Systems" (hereafter DS/3000), is a set of
software modules that allow point-to-point communication between HP 3000 Series
III machines using Synchronous Single-Line Controller (SSLC) interfaces.  A user
at a local HP 3000 simulator can connect to a remote simulator, log on to the
remote machine, enter commands, and transfer files between machines.  The remote
machine may be a second simulator instance on the same host machine or may be a
simulator running on a host machine accessible across the Internet.  The MPE
system supplied in the kit is configured with two SSLC instances named SSLC1 and
SSLC2, allowing DS/3000 connections to two remote machines simultaneously.

These manuals describe the MPE commands that will be used below:

  Part Number  Title and Print Data
  -----------  ---------------------------------------------------------------------
  32189-90001  DSN/DS HP 3000 to HP 3000 User/Programmer Reference Manual (Apr 1984)
  32189-90002  DSN/DS HP 3000 to HP 3000 Network Administrator Manual (Apr 1984)

As an example, assume that we want to connect between two HP 3000 simulated
machines on the same host platform.  First, copy the MPE system disc
"mpe.7920.disc" to a new file named "mpe-remote.7920.disc".  Then start each
simulator instance independently, running:

  hp3000 mpe-auto

...in one console window (this will become our "local" machine), and:

  hp3000 mpe-remote-auto

...in another (this becomes our "remote" machine).  After both are running and
have logged the system operator on, enable the SSLC to accept connection
requests by entering a DSCONTROL command on each system:

  18:01/#S1/14/LOGON FOR: OPERATOR.SYS,OPERATOR ON LDEV #20
  HP3000 / MPE V  E.01.00 (BASE E.01.00).  TUE, DEC 23, 1997,  6:01 PM
  :DSCONTROL DS1;OPEN
  DS DEVICE 40: MASTER AND SLAVE ACCESS OPENED.
  :

The "remote" simulator instance is listening for DS/3000 connections on local
port 1060, due to the presence of an "attach sslc1 1060" command in the
"mpe-remote-auto.sim" command file.  This simulates a real HP 3000 system
configuring its synchronous modem to answer incoming calls.

To connect the local machine to the remote machine, press CTRL+E at the
simulation console of the local machine and then do:

  scp> set sslc1 connect=1060
  Connected to 1060

At the same time, the console of the remote machine will show:

  Accepted connection from 127.0.0.1

The SSLC interfaces in each machine are now connected to each other.  Now obtain
a DS/3000 connection for the current user by entering a DSLINE command at the
console of the local machine:

  :DSLINE DS1
  DS LINE NUMBER = #L3.
  :

This simulates connecting to the modem on the remote machine.  With the link
active, commands may be sent to the remote machine.  At the local console, enter
the REMOTE command and then log on to the operator account of the remote
machine:

  :REMOTE

  #HELLO OPERATOR.SYS
  HP3000 / MPE V  E.01.00 (BASE E.01.00).  TUE, DEC 23, 1997,  6:56 PM
  #LISTF

  FILENAME

  COBINT      COBTAX      COMPJOB     DSJOB       EXAMJOB     SQR
  TEN         TENCMD

  #BASIC

  HP32101B.00.26(4WD)  BASIC  (C)HEWLETT-PACKARD CO 1979
  >GET TEN
  >RUN
  TEN
  HELLO FROM HP 3000 BASIC!  HERE ARE SOME SQUARE ROOTS:

   1              1              1.000000000000000L+00
   2              1.41421        1.414213562373095L+00
   3              1.73205        1.732050807568877L+00
   4              2              2.000000000000000L+00
   5              2.23607        2.236067977499790L+00
   6              2.44949        2.449489742783178L+00
   7              2.64575        2.645751311064591L+00
   8              2.82843        2.828427124746190L+00
   9              3              3.000000000000000L+00
   10             3.16228        3.162277660168379L+00

  >EXIT

  END OF SUBSYSTEM
  #BYE
  CPU=1. CONNECT=1. TUE, DEC 23, 1997,  6:57 PM
  #

The "#" prompt characters that appear instead of the usual ":" characters
indicate that you are communicating with the remote machine.  To exit remote
mode and return to the local command interpreter, enter a single colon:

  #:
  :

The resulting ":" prompt indicates the return to local control.  The console of
the remote machine shows the (remote) accesses:

  18:56/#S2/16/LOGON FOR: OPERATOR.SYS,OPERATOR ON LDEV #50
  18:57/#S2/16/LOGOFF ON LDEV #50

Although the REMOTE command was ended, the link remains active and can be shared
by multiple simultaneous users (up to four with the kit configuration) on either
system if each user enters the same DSLINE command shown above.

To release the DS/3000 connection for the current user, enter another DSLINE
command on the local machine:

  :DSLINE DS1;CLOSE
  1 DS LINE WAS CLOSED.
  :

To shut down the SSLC so that new DSLINE attempts will be rejected, enter this
DSCONTROL command on each system:

  :DSCONTROL DS1;SHUT
  DS DEVICE 40: MASTER AND SLAVE ACCESS SHUT.
  :

The modems are still connected; to break the connection (i.e., hang up the
modem), press CTRL+E at the console of the local machine and enter:

  scp> set sslc1 disconnect

At this point, the usual :BYE and =SHUTDOWN commands may be entered to shut down
MPE before exiting the two simulator instances.



-------------------------
Creating a New Disc Image
-------------------------

The supplied disc image was created by running the simulator with each of the
four numbered simulator command files (mpe-1-reload.sim, mpe-2-restore.sim,
mpe-3-sysdump.sim, and mpe-4-coldstart.sim) in order, i.e.:

  hp3000 mpe-1-reload
  hp3000 mpe-2-restore
  hp3000 mpe-3-sysdump
  hp3000 mpe-4-coldstart

"mpe-1-reload" performs a RELOAD from the MPE-V/R Fundamental Operating Software
(FOS) tape image to a new, blank disc image, producing the bootable image file
"mpe-reload.7920.disc".  "mpe-2-restore" performs a RESTORE to load the
subsystems and example programs onto the disc.  "mpe-3-sysdump" performs a
SYSDUMP from disc to tape to change the code segment size from 8K to 16K,
increase the number of terminal buffers per port from 3 to 5, and install the
COBOL II and DS/3000 libraries to the system SL.  "mpe-4-coldstart" performs a
COLDSTART to load the changed configuration and update the system.  The four
console logs provided may be examined to see how MPE was configured.

Finally, the new disc image was renamed manually from "mpe-reload.7920.disc" to
"mpe.7920.disc", which is the name used by the "mpe-auto" and "mpe-man" command
files to boot MPE.  This allows a new system to be generated without disturbing
the existing system.

The four command files expect these tape images to be present in the same
directory:

  32002-11018_Rev-2548.tape
  subsys-compilers.tape
  subsys-ds.tape
  examples.tape

The FOS installation tape image is available from the HP Computer Museum at:

  https://www.hpmuseum.net/display_item.php?sw=442

It is contained in the "MPE_Tapes.zip" file that is accessed via the "Download
software" link on that page.

The other files may be recreated from the supplied disc image as described
below.



--------------------------
Recreating the Tape Images
--------------------------

The "subsys-compilers.tape", "subsys-ds.tape", and "examples.tape" image files
used by the "mpe-2-restore" simulator command file are not supplied with the
kit.  They may be recreated by submitting the COMPJOB, DSJOB, and EXAMJOB jobs
to MPE.

After starting MPE, the system operator must first enable job streaming by
entering the "STREAMS 10" command.  Then the "STREAM COMPJOB" command may be
submitted to recreate the "subsys-compilers.tape" image:

  17:37/#S1/14/LOGON FOR: OPERATOR.SYS,OPERATOR ON LDEV #20
  HP3000 / MPE V  E.01.00 (BASE E.01.00).  WED, FEB 24, 1988,  5:37 PM
  :STREAMS 10
  :STREAM COMPJOB
   #J1
  :
  17:36/#J1/15/LOGON FOR: COMPTAPE,MANAGER.SYS,PUB ON LDEV #10
  17:36/#J1/15/FROM/MANAGER.SYS/MOUNT NEW "SUBSYS-COMPILERS.TAPE" ON 7970E UNIT 0.
  ?17:36/#J1/16/LDEV# FOR "MT" ON TAPE (NUM)?

At this point, press CTRL+E to obtain an SCP prompt and attach a new, blank tape
image file to the tape drive configured as unit 0:

  scp> attach -n ms0 subsys-compilers.tape
  MS: creating new file
  17:36/10/Vol (unlabelled) mounted on LDEV# 7

MPE detects the tape load and reports it to the operator.  Pressing RETURN or
ENTER will bring up the MPE colon prompt.  Enter a REPLY command to inform
process ID number 16 (determined from the console query above) that the tape was
just mounted on LDEV 7.

  :REPLY 16,7
  :
  17:36/#J1/15/LOGOFF ON LDEV #10

The job then stores the files to the tape image and completes.

In a similar manner, the "STREAM DSJOB" and "STREAM EXAMJOB" commands may be
used to recreate the "subsys-ds.tape" and "examples.tape" images using the same
procedure as above:

  :STREAM DSJOB
   #J2
  :
  17:39/#J2/17/LOGON FOR: DSTAPE,MANAGER.SYS,PUB ON LDEV #10
  17:39/#J2/17/FROM/MANAGER.SYS/MOUNT NEW "SUBSYS-DS.TAPE" ON 7970E UNIT 0.
  ?17:39/#J2/18/LDEV# FOR "MT" ON TAPE (NUM)?

  scp> attach -n ms0 subsys-ds.tape
  MS: creating new file
  17:39/10/Vol (unlabelled) mounted on LDEV# 7

  :REPLY 18,7
  :
  17:39/#J2/17/LOGOFF ON LDEV #10

and:

  :STREAM EXAMJOB
   #J3
  :
  17:41/#J3/19/LOGON FOR: EXAMTAPE,OPERATOR.SYS,OPERATOR ON LDEV #10
  17:41/#J3/19/FROM/OPERATOR.SYS/MOUNT NEW "EXAMPLES.TAPE" ON 7970E UNIT 0.
  ?17:41/#J3/20/LDEV# FOR "MT" ON TAPE (NUM)?

  scp> attach -n ms0 examples.tape
  17:42/10/Vol (unlabelled) mounted on LDEV# 7

  :REPLY 20,7
  :
  17:42/#J3/19/LOGOFF ON LDEV #10

Finally, detach the tape from the tape drive by pressing CTRL+E and entering:

  scp> detach ms0

The three tape images are now ready for use by the "mpe-2-restore" command file.



------------------------------------------
Specifying Different System Configurations
------------------------------------------

Each of the "mpe-*.sim" command files accepts an optional disc drive model
parameter.  MPE V/R supports the HP 7920 and 7925 (MAC drives), and the HP 7911,
7912, 7933, and 7935 (CS/80 drives) as system discs.  For example, this command
line:

  hp3000 mpe-1-reload 7912

...will reload the FOS tape and create a new, bootable system disc named
"mpe-reload.7912.disc".  Running the other three system configuration command
files in order and specifying the "7912" parameter to each will result in a
fully configured system, which may be run by renaming the "mpe-reload.7912.disc"
file to "mpe.7912.disc" and then doing:

  hp3000 mpe-auto 7912

...to COOLSTART the system.

Any of the supported disc drive model numbers may be used to reload, configure,
and run the system, and the various systems can co-exist.  For all command
files, if the model is omitted, the 7920 drive is used.



-------------------------------------------------------------
Configuring the HP 30341A HP-IB Interface Module ("Starfish")
-------------------------------------------------------------

The Intermodule Bus Adapter (IMBA) that connects to the Starfish must be
installed in the Series III and cabled to the I/O bus before use.  In
simulation, this is accomplished by executing the SET IMBA ENABLED command
before cold-loading an MPE system that uses Starfish peripherals.  The supplied
simulator command files executes this command when the optional drive model
parameter specifies a CS/80 drive.

There is very little available HP documentation for the Starfish system
operation.  From the November 1982 HP Computer Documentation Index, these
manuals were available:

  Part Number  Title and Print Data
  -----------  ------------------------------------------------------------------
  30341-90001  HP-IB Interface Module Installation Manual (Jul 1981)
  30341-90002  30341A HP-IB Interface Module Reference/Training Manual (Jun 1981)
  30341-90012  Understanding the Series III HP-IB Manual (Apr 1981)

A few MPE system manuals have explicit Starfish mentions:

  Part Number  Title and Print Data
  -----------  -------------------------------------------------------------------
  30000-90014  MPE IV System Manager/System Supervisor Reference Manual (Dec 1981)
  32002-90004  Console Operator's Guide Series II, III, 30, 33, and 44 (May 1981)

The essential differences between MPE configuration for the MAC disc and the
CS/80 disc on the Starfish are:

  - The MAC DRT number is the DEVNO of the disc controller, whereas the CS/80
    DRT number is the combination of the GIC channel number and the disc bus
    address (specifically, DRT = channel * 8 + address).

  - The MAC disc driver is IOMDISC1, whereas the CS/80 disc driver is HIOMDSC2.

  - The type and subtype numbers differ between the MAC and CS/80 drivers.

The "mpe-1-reload.7912.log" file is provided as an example of RELOADing MPE for
a 7912 system disc.  It was produced by running the command file with the "7912"
parameter, as illustrated in the previous section.

Appendices A and B of the MPE IV System Manager manual describes the driver
configurations.



-----------
Usage Notes
-----------

 1. MPE-V/R is not year-2000 compliant.  As such, only dates from 1999 and
    earlier are accepted.  The boot scripts select a year whose days of the week
    and leap-year status are identical to the current year.  For example,
    February 29, 2016 is a Monday, as is February 29, 1988.

 2. ATC channel 0 is the system console.  It has its internal CAPS LOCK key down
    by default to accommodate stand-alone diagnostics that require input in
    upper case.  The other channels have CAPS LOCK up by default.  These
    defaults may be changed by placing the appropriate SET ATCDn commands in the
    command file used to cold load the system; see the "HP 3000 Simulator User's
    Guide" section describing the ATC unit options CAPSLOCK and NOCAPSLOCK for
    details.

 3. ATC channels 1-15 are configured as HP terminals.  As such, they require the
    use of ENQ/ACK protocol.  By default, the ATC simulator is configured to
    handle ENQ/ACK locally, i.e., the ENQ is discarded, and the ACK is supplied
    to MPE by the simulator.  This allows the use of non-HP terminal emulator
    clients.  If you use an HP terminal emulator, you may disable the local
    ENQ/ACK handling and allow the emulator to perform the handshaking, although
    typically this slows down output to the terminal and is not necessary.  If
    you use a real HP terminal, e.g., an HP 2645A, connected to a serial line,
    remote ENQ/ACK handling is required; the ATC will overrun the terminal if
    local handling is configured.  See the "HP 3000 Simulator User's Guide"
    section describing the ATC unit options LOCALACK and REMOTEACK for details.

 4. ATC channel 2 (LDEV 22) is configured as a full-duplex modem connection,
    rather than the hardwired connections used by the other ATC channels.  MPE
    will use the Data Terminal Ready (DTR) signal to drop the connection when
    the user logs out or is forcibly logged out by the system operator.  This
    demonstrates the Terminal Control Interface (TCI) capability.

 5. The languages preinstalled on the disc image are:

      - BASIC (interpreter and compiler)
      - COBOL 68
      - COBOL 74/85
      - FORTRAN 66
      - Pascal
      - RPG
      - SPL

    User-Defined Commands (UDCs) are preinstalled to provide access to the COBOL
    74 compiler with the MPE-V/E COBOLII, COBOLIIPREP, and COBOLIIGO commands,
    and to the COBOL 85 compiler with COBOLIIX, COBOLIIXPREP, and COBOLIIXGO.

 6. The system SL is changed during the SYSDUMP/COLDSTART to replace the three
    COBLIB segments with their COBOL-II replacements from U00U232A.USL.SYS
    (COBLIB16 and COBLIB18) and a consolidated COBOL replacement from
    COB68LIB.PUB.SYS (COBLIB14).  This allows both COBOL and COBOL-II programs
    to run.

    SYSDUMP will generate two warnings when the COBLIB16 and COBLIB18 segments
    are added:

      *** WARNING ***
      ERROR #48 CODE SEGMENT MAY BE TOO LARGE

    These may be ignored, as the code segment size was also increased during the
    SYSDUMP process.

    SYSDUMP also reports:

      **WARNING** FOLLOWING SYSTEM FILES NOT DUMPED
      HIOCTAP0.PUB.SYS
      HIOCIPR0.PUB.SYS
      IONRDR0.PUB.SYS

    This warning is expected and may be ignored.

 7. Programs generated by the COBOLII and COBOLIIX commands use the HP 32234A
    COBOL II firmware instructions (a.k.a., the "Language Extension
    Instructions").  The simulated CPU must be configured to enable these
    instructions, or COBOL II programs will abort at run time with a "PROGRAM
    ERROR #7 ILLEGAL INSTRUCTION" message.  As noted above, the supplied
    simulator command files "mpe-auto.sim" and "mpe-man.sim" enable the
    firmware.

 8. File transfers using the Reflection terminal emulator and its associated
    PCLINK2.PUB.SYS program are supported under simulation.  The simulator must
    be configured to use 8-bit transfers, remote ENQ/ACK, and no alphabetic
    upshifting on the ATC channel to be used for file transfer.  In addition,
    MPE must be configured to use 8-bit transfers for the channel, e.g., by
    specifying the TERM=12 parameter when logging on.  See the "Terminal Data
    Interface" subsection of the ATC section in the "HP 3000 Simulator User's
    Guide" for further configuration details.

 9. The CS/80 driver for MPE V/R supports only a very limited set of disc
    models.  MPE V/R does not provide or support the cartridge tape driver for
    the integrated tape units in the HP 7911 and 7912 models (HIOCTAP0) or the
    HP 9144 standalone tape drive (HIOCTAP1).

10. While the HP 7905 disc drive is supported by the MPE driver, it has
    insufficient capacity to be used as the sole system disc for MPE V/R.

11. Two SSLC devices are configured in the MPE kit: one as device number 18
    operating in full-duplex mode, and the other as device number 19 operating
    in half-duplex mode.  The simulator starts with one SSLC instance configured
    by default as DEVNO=18, INTMASK=E, INTPRI=3, and SRNO=7.  The supplied MPE
    system startup scripts issue a "SET SSLC COUNT=2" command to create a second
    SSLC device and a "SET SSLC2 HALFDUPLEX,DEVNO=19,INTPRI=5,SRNO=8" command to
    reconfigure the second device (the INTPRI and SRNO settings may use any
    unused values).  Half-duplex mode has about 70% of the performance of
    full-duplex mode, and the second SSLC is configured that way as a technology
    demonstrator.  If you want two (or more) SSLCs to have simultaneous
    connections to more than one remote machine, configuring all devices for
    full-duplex mode via SYSDUMP and COLDSTART is recommended.  Note that the
    SSLC simulator mode and the MPE device mode must agree for proper operation.

12. Running the DSLIST program shows the presence of four modules of the
    DSN/X.25 (HP 32191B) product.  These are dummy (non-functional) modules
    provided by MPE so that the SYSDUMP command will not report them as
    "missing" when dumping the operating system to tape.
