HP 2000/Access on SimH 4.x

HP Time-Shared BASIC is one of the more interesting operating systems that ran on the HP 2000/21MX/1000 architecture. In general it was a multi-user, time-sharing system as its name implies. To better explain what HP 2000/Access is, this quote from the HP 2000 Access Operator's Manual does an excellent job:

Hewlett-Packard 2000 Access is a timesharing system; up to 32 users can simultaneously access the system from local or remote terminals. Users interact conversationally with the system to develop programs, store and retrieve data, receive computer assisted instruction, or perform any of a long list of multi-terminal activities. The Access system includes a Data Communications facility, making it possible for users to pass data between two Access systems or to submit jobs from Access for processing on another computer.

2000/Access is actually the final version of the HP Time-Shared BASIC system, the previous versions—2000A through 2000F—were quite similar, though each had different hardware requirements. Eric Smith gives a complete summary of the hardware requirements on his page “HP-2000 Time Shared BASIC Model Comparison”, although a quick summary of the differences would be as follows: 2000A through 2000C/2000C′ ran on the 2116B or 2116C, with a 2114B I/O processor (for 2000B and 2000C/2000C′); 2000E ran on a singular 2100A; finally 2000F and 2000/Access ran on a pair of 2100 or 21MX systems. As can be gleaned from the title of this page, the main thrust will be toward 2000/Access, and simulating it on SimH. (NB: That link goes to the project's original homepage; the current release is on GitHub.)

The way this “tutorial” of sorts will be organized will be as follows:

  1. Prerequisites
    1. Software & Manuals
    2. Simulator Configuration
  2. System Generation
    1. Configuring the I/O Processor
    2. Generating an Initial System Program
  3. System Operation
    1. System Startup
      1. I/O Processor Startup
      2. System Processor Startup
    2. System Shutdown
      1. HIBERNATE Shutdown
      2. SLEEP Shutdown

Prerequisites

Software & Manuals

There are two/three pieces of software required to use HP 2000/Access.

Other software that would be required would be one's favourite C compiler and linker if one intends to build the SimH package from sources. Pre-built binary images exist for SimH for Windows (distributed on GitHub as well); and many Linux/BSD distributions have a release of SimH in their software repository; however please note that most of these versions are the pre-4.x version; this should not matter for simulating HP 2000/Access as there were little functional changes to the HP2100 simulator, however 4.0-beta is the current release which is being actively maintained.

While not a required prerequisite, it is, of course, always a good idea to read any documentation related to installing and operating a “classic” operating system, such as HP 2000/Access. Luckily, the BitSavers archive has scans of several of the HP 2000/Access manuals. Which will be linked herein:

Simulator Configuration

As was mentioned far above, in the introduction to this page, the HP 2000/Access system is built around two complete HP 2100 or HP 21MX/HP 1000 systems working in tandem; therefore there are not one, but two simulator configurations which must be made, and both simulator instances need to be running simultaneously.

The “rules” for configuring the simulator are based on Chapter 1 of the HP 2000 Access Operator's Manual. At this point, one need only decide which processor model one wishes to use for their 2000/Access system. The initial lines of the simulator configuration files for the main processor (SP) should be as such:

set CPU 2100
set CPU 32K
set CPU 1000-F
set CPU 32K

Naturally the listing on the left is for HP 2100 based systems, while the one on the right is for HP 21MX/HP 1000 based systems. Both the 2100 and 21MX/1000 series CPUs come standard with the 12579A Extended Arithmetic Unit, which was optional in the 2116/2115/2114. Optional settings for the 2100 system processor include addition of the 12901A Floating Point firmware ROM (via set CPU FP), the addition of the 12907A Fast FORTRAN Processor firmware ROM (via set CPU FFP), as well as enabling the Initial Binary Loader memory area (via set CPU LOADERENABLE) which is by default loaded with the Basic Binary Loader (BBL; which is not very useful, as the SP is not configured with a paper tape reader, however the Basic Moving-head Disc Loader (BMDL) or Basic Magnetic Tape Loader (BMTL) would be useful; if one can find an absolute binary image of either). The 21MX CPUs include by default the 12901A Floating Point firmware, and 12976B/13307B (the former for the 21MX-M, the latter for the 21MX-E/F) Dynamic Mapping System firmware; the 21MX-F SP chosen includes the 12977B/13306B (as with the DMS firmware the former is for the -M, while the latter is for the -E/-F) Fast FORTRAN Processor firmware, and 93585A Double Integer Instructions firmware (which is optional on the -E, and not available on the -M) as standard. Optional—as in “not used by 2000/Access”—firmware additions for the 21MX-F SP include the 92067A Extended Memory Area (set CPU EMA) firmware or the 92084A Virtual Memory and Operating System (set CPU VMA) firmware (which are mutually exclusive) both of which are only useful for RTE (RTE-IV may use either, RTE-6/VM requires the 92084A firmware on 21MX-E/F systems), the 12824A/12829A (the former for RTE-IVB, the latter for RTE-6/VM) Vector Instruction Set firmware (set CPU VIS), and the 92835A SIGNAL/1000 firmware (set CPU SIGNAL). The 21MX/1000 series CPUs include four Initial Binary Loaders stored in ROM, which correspond to the following standard option boot ROMs (in order):

  1. 12992K—Loader ROM for 2748B paper tape reader, simulator device PTR
  2. 12992A—Disc Loader ROM for 7900/2883 discs, simulator devices DPC or DQC
  3. 12992D—Loader ROM for 7970B/E magnetic tape, simulator device MSC
  4. 12992B—Disc Loader ROM for 7905/7906/7920/7925 discs, simulator device DS

Configuring the CPU of the Input/Output Processor (IOP) is similar to the SP initial configuration; however the processors should be configured with the bare minimum of options. In terms of IOP memory that is defined by the peripherals installed in the IOP, and the terminal buffer lengths. From testing with a maximal possible configuration in SimH, the maximum needed memory is 24KW—where the terminal buffers have been set to maximum size—for most cases however, 16KW would suffice.

The CPU of the IOP must also be configured without any of the “optional” extensions listed above, but the IOP does have to have the 2000/Access I/O Processor firmware ROMs installed (corresponding to 13206A for the 2100, 13207A for the 21MX-M, or 22702A for the 21MX-E/F; the simulator command being set CPU IOP).

set CPU 2100
set CPU 16K
set CPU IOP
set CPU 1000-M
set CPU 32K
set CPU IOP

As with the SP, to the left is the setup for the 2100 based IOP, and the right is for the 21MX/1000 based IOP. The IOP memory has been over-specified—to avoid out of memory issues in IOP configuration process—for the 21MX/1000 based IOP; minimal memory has been “installed” in the 2100 based IOP, as per its minimal configuration (see below).

The next part of the configuration file is the same for both the SP and IOP: disabling all devices. This is not strictly needed, but it makes sense to start from a blank slate.

set PTR disabled
set PTP disabled
set TBG disabled
set LPS disabled
set LPT disabled
set BACI disabled
set MPX disabled
set DPD disabled
set DPC disabled
set DQD disabled
set DQC disabled
set DRD disabled
set DRC disabled
set DS disabled
set MTD disabled
set MTC disabled
set MSD disabled
set MSC disabled
set MUXL disabled
set MUX disabled
set MUXC disabled
set IPLI disabled
set PIF disabled
set DA disabled

At this point the configurations files once again diverge. However, the divergence is only in regards to the SP and IOP configurations there is no longer a difference in CPU models at this point in the configuration files. The first system to be configured will be the SP, as it has a somewhat minimal number of devices, compared to the IOP. Per the first chapter of the HP 2000 Access Operator's Manual, there are four absolutely required devices for the main processor:

  1. 12875A Processor Interconnect
  2. 12531C Buffered Teleprinter Interface or 12531D Buffered Terminal Interface
  3. 12539C Time Base Generator
  4. 13181A/B Digital Magnetic Tape Unit Interface or 13183A/B Digital Magnetic Tape Unit Interface

A disk controller is also required, however it is possible to have multiple disk controllers in the system, depending on the disk configuration. Again, per the HP 2000 Access Operator's Manual, we can see which types of disc, and hence disk controller are supported by HP 2000/Access:

  1. 13210A Disc Drive Interface
  2. 12565A Disc Interface
  3. 13175D Disc Controller Interface

As discussed in the manual, it is possible to configure the SP with one or more of the same drive (namely: all 7900s, all 2883s, all 7905s, or all 7920s), to configure it with 7900s or 2883s and 7905s or 7920s, or finally to configure it with 7900s or 2883s and a mixture of 7905s and 7920s. It is not possible to configure the system with a 13210A and 12565A simultaneously; it is possible to configure the system with a 13175D and either the 13210A or 12565A however. When configured with two disc controllers, the 13175D must have higher priority in the interrupt chain than the 13210A or 12565A.

The manual however does not mention that both the 7906M and 7925M disc drives are also supported on the 13210A controller within 2000/Access. Both drives function as expected; the 7906M is used fully, however the 7925M disk is not fully used, only 65515 blocks are used—as on the 7920M.

The SP must be configured in a particular order. The above list of required options lists them in their order of select code precedence. The disc controller(s) are placed between the 12539C Time Base Generator and whichever Digital Magnetic Tape Unit Interface is in use. Therefore, two example configurations—one a “minimalist” configuration, and one a “large” configuration—will be demonstrated, for the sake of completeness.

2100A SP Configuration
(Octal) Select Codes Device
10, 11 12875A Processor Interconnect
12 12531C Buffered Teleprinter Interface
13 12539C Time Base Generator
14, 15 13210A Disc Drive Interface
16, 17 13181A Digital Magnetic Tape Unit Interface
21MX-F SP Configuration
(Octal) Select Codes Device
10, 11 12875A Processor Interconnect
12 12531D Buffered Terminal Interface
13 12539C Time Base Generator
14 13175D Disc Controller Interface
15, 16 12565A Disc Interface
17, 20 13183B Digital Magnetic Tape Unit Interface

It should noted that unfortunately SimH 4.x does not support the 12531D Buffered Terminal Interface and 2762A Terminal Printer for simulation the corresponding simulator configuration will use the 12531C Buffered Teleprinter Interface and 2754A Teleprinter in lieu of the 12531D plus 2762A. The actual simulator configurations for the two examples above would be:

; Enable devices and place them in the right order
set TTY DEVNO=12
set IPLI enabled
set IPLI DEVNO=10
set TBG enabled
set TBG DEVNO=13
set DPC enabled
set DPC DEVNO=14
set MSC enabled
set MSC DEVNO=16

; Configure 12531C and 2754A
set TTY0 UC
set TTY1 7P

; Configure 12539C
set TBG CALTIME
set TBG W1A
set TBG W2A

; Configure 13210A and singular 7900A disk
set DPC 13210A
set DPC0 ENABLED
set DPC0 UNPROTECT
set DPC1 disabled
set DPC2 disabled
set DPC3 disabled

; Configure 13181A and singular 7970B
set MSC 13181A/B
set MSC FASTTIME
set MSC0 enabled
set MSC1 disabled
set MSC2 disabled
set MSC3 disabled

; Configure 12875A
set IPLI LINK
set IPLO LINK
; Enable devices and place them in the right order
set TTY DEVNO=12
set IPLI enabled
set IPLI DEVNO=10
set TBG enabled
set TBG DEVNO=13
set DQC enabled
set DQC DEVNO=15
set MSC enabled
set MSC DEVNO=17
set DS enabled
set DS DEVNO=14

; Configure 12531C and 2754A
set TTY0 UC
set TTY1 7P

; Configure 12539C
set TBG CALTIME
set TBG W1A
set TBG W2A

; Configure 12565A and two 2883 disks
set DQC0 enabled
set DQC0 UNPROTECT
set DQC1 enabled
set DQC1 UNPROTECT

; Configure 13183B and four 7970E
set MSC 13183A/B
set MSC FASTTIME
set MSC0 enabled
set MSC1 enabled
set MSC2 enabled
set MSC3 enabled

; Configure 13175D, one 7906M disk, and two 7920M disks
set DS0 enabled
set DS0 NOFORMAT
set DS0 UNPROTECT
set DS0 7906
set DS1 enabled
set DS1 NOFORMAT
set DS1 UNPROTECT
set DS1 7920
set DS2 enabled
set DS2 NOFORMAT
set DS2 UNPROTECT
set DS2 7920
set DS3 disabled
set DS4 disabled
set DS5 disabled
set DS6 disabled
set DS7 disabled

; Configure 12875A
set IPLI LINK
set IPLO LINK

There is some redundancy within each of the example configurations above, mostly to force the simulators into a known configuration. The redundancy comes from the fact the simulator has most of the required devices enabled by default (thus the process of disabling all the devices, and then enabling only those being used is redundant), similarly several of the device defaults match with the configured settings.

The minimalist configuration for the 2100 series SP, beyond the unchangeable 12875A, 12531C, and 12539C consists of a 13210A with a single 7900A disk drive, and a 13181A controller with a single 7970B. This would be the absolute bare minimum SP configuration for HP 2000/Access. The configuration for the 21MX/1000 series SP has the required 12875A, 12531C, and 12539C (please note: as was mentioned above, SimH does not support the 12531D, hence its replacement by the 12531C), it has been equipped with two hard disk controllers, the 13175D fitted with one 7906M and two 7920M drives and the 12565A fitted with two 2883 drives, and uses the 13183B with four 7970E tape units.

The final step in configuring the simulators is to attach the simulated devices. The “mandatory” attach commands are those associated with the 12875A Processor Interconnect and the configured disc drives. An optional pair of configurations is to setup the system console device as telnet attached, and to setup the simulator console for remote (telnet) connection. Neither of the optional configuration steps are necessary—hence why they are optional—though having the remotely attached simulator console does allow for attaching and detaching devices without halting the simulator to do so. The example 21MX configuration file has configuration lines for the optional telnet console and remote simulator console features, however they have been commented out.

; Attach 12875A Processor Interconnect
attach -L IPLI 65534
attach -L IPLO 65535

; Attach 7900A disk pack
attach DPC0 ACCESS.DSK
; Configure telnet console
set CONSOLE TELNET=65531
set CONSOLE TELNET=BUFFERED=32768

; Configure Remote Console
set REMOTE TLENET=65532
set REMOTE NOMASTER

; Attach 12875A Processor Interconnect
attach -L IPLI 65534
attach -L IPLO 65535

; Attach disks
attach DQC0 ACCESS3.dsk
attacg DQC1 ACCESS4.dsk
attach DS0 ACCESS0.dsk
attach DS1 ACCESS1.dsk
attach DS2 ACCESS2.dsk

One should, of course, choose port numbers and file names which work for one's own system, as opposed to the examples given herein. The two “parts” of the 12875A Processor Interconnect (simulator devices IPLI and IPLO) are configured to listen on sockets 65534 and 65535 for the IOP. In the 21MX-F/1000-F SP configuration telnet ports are opened at sockets 65531 and 65532 for the console teleprinter device (65531) and the remote simulator console (65532). The console teleprinter is given a 32KB buffer as well, allowing for “headless” operation; the remote console by default is configured with an 8KB buffer, however as it is not defined to be a master console, it may safely be ignored if one does not wish to use it.

Configuration of the IOP is more “interesting” than the SP. This is mostly because of the much greater array of peripherals which attach to the IOP of the HP 2000/Access system. SimH supports many of the peripherals, although, not in multiple as was possible with the real hardware. The HP 2000 Access Operator's Manual provides a list of the supported optional hardware for the IOP:

There are some devices which are required by the IOP, which are also listed in the HP 2000 Access Operator's Manual as well:

  1. 12539C Time Base Generator
  2. 12920A/B Asynchronous Multiplexer Interface
  3. 12875A Processor Interconnect

As with the SP above, the list of required devices is ordered in terms of decreasing select code priority. The optional device interfaces would be installed after the required devices, with the exception of the 12618A Synchronous Modem Interface which is installed before the 12539C Time Base Generator. The optional devices may be installed in any order, further many of the optional devices may be installed in multiple, per the HP 2000 Access Operator's Manual:

Maximal Unit Counts for HP 2000/Access I/O Processor Peripherals
I/O Device Type Number
Line Printers 7
Paper Tape Readers 7
Card Readers 7
Card Readers/Punches/Interpreters 7
Synchronous Modems 1

The 92900A Real Time Applications Terminal Subsystem, consisting of two different parts is somewhat more odd, namely, it is possible to have a maximum of seven 40280A Serial Link Controllers in the IOP, but only thirty-one 3070A Terminals in total. The 40280A can host up to thirty-one 3070As each; therefore with seven 40280As the maximum physically supported number of 3070As is two hundred and seventeen, but only thirty-one are supported by the 2000/Access software.

In a 2000/Access system utilizing 2100 series processors, one 2748A paper tape reader is required for loading the system; however SimH obviates the need for the 2748A. A restriction imposed on the IOP configuration by SimH is the presence of a 12531C teleprinter interface, as the corresponding SimH device (TTY) cannot be disabled. Finally, SimH does not provide support for some of the devices (2892A, 7261A, 2894A, 2610A, 2614A, 2778A, the 92900A subsystem, 2753B, and 12618A), nor does it support multiples of the supported devices (excluding printers; one 2767A and one 2607A, 2613A, 2617A, or 2618A printer are supported).

As with the SPs two configurations will be provided for the IOPs, one minimal and one “large.” In this case, the minimal configuration will be applied to the 2100 series processor, and the large configuration for the 21MX, mirroring the SP configurations. The IOP CPU and RAM options are as illustrated above, and all possible devices have been disabled (also as above), what is next is configuration of the device codes for the IOPs. The 2100 series IOP will be configured with the required devices, plus the technically required 2748A, and an optional 2767A printer; the 21MX series IOP will be configured with the required devices as well as optional 2748A tape reader, 2895A tape punch, 2767A printer, and 2618A printer. The 12531C has been set to select code 778, to put it far “out of the way of” the supported devices. Therefore the select code assignments would be as follows:

2100A IOP Configuration
(Octal) Select Codes Device
10 12539C Time Base Generator
11, 12, 13 12920A Asynchronous Multiplexer Interface
14, 15 12875A Processor Interconnect
16 12597A-002 Tape Reader Interface
17 12653A Line Printer Interface
77 12531C Buffered Teleprinter Interface
21MX-M IOP Configuration
(Octal) Select Codes Device
10 12539C Time Base Generator
11, 12, 13 12920A Asynchronous Multiplexer Interface
14, 15 12875A Processor Interconnect
16 12597A-002 Tape Reader Interface
17 12597A-005 Tape Punch Interface
20 12845B Line Printer Interface
21 12653A Line Printer Interface
77 12531C Buffered Teleprinter Interface

The corresponding lines for the configuration files would be:

; Enable devices and place them in the right order
set PTR enabled
set PTR DEVNO=16
set TTY DEVNO=77
set TBG enabled
set TBG DEVNO=10
set LPS enabled
set LPS DEVNO=17
set MUX enabled
set MUX DEVNO=11
set MUXC enabled
set MUXC DEVNO=13
set IPLI enabled
set IPLI DEVNO=14

; Configure 12597A-002
set PTR READER

; Configure 12539C
set TBG CALTIME
set TBG W1A
set TBG W2A

; Configure 12653A
set LPS PRINTER
set LPS POWERON
set LPS FASTTIME

; Configure 12920A
set MUX TERMINAL
set MUX LINEORDER=ALL

; Configure 12875A
set IPLI LINK
set IPLO LINK
; Enable devices and place them in the right order
set PTR enabled
set PTR DEVNO=16
set PTP enabled
set PTP DEVNO=17
set TTY DEVNO=77
set TBG enabled
set TBG DEVNO=10
set LPS enabled
set LPS DEVNO=21
set LPT enabled
set LPT DEVNO=20
set MUX enabled
set MUX DEVNO=11
set MUXC enabled
set MUXC DEVNO=13
set IPLI enabled
set IPLI DEVNO=14

; Configure 12597A-002
set PTR READER

; Configure 12539C
set TBG CALTIME
set TBG W1A
set TBG W2A

; Configure 12653A
set LPS PRINTER
set LPS POWERON
set LPS FASTTIME

; Configure 12845B
set LPT 2618
set LPT EXPAND
set LPT POWERON
set LPT FASTTIME
set LPT PRINTER
set LPT VFU

; Configure 12920B
set MUX TERMINAL
set MUX LINEORDER=ALL

; Configure 12875A
set IPLI LINK
set IPLO LINK

As with the configurations for the SP, there is redundancy within the IOP configurations, but which are included to ensure the simulator is in a known good state. The final portion of each simulator configuration file is setting up the correct attachments needed for the simulator to function.

; Attach 2676A Printer
attach LPS LPS_%DATE_YYYY%-%DATE_MM%-%DATE_DD%.txt

; Attach 12920A Multiplexer
attach MUX 65533

; Attach 12875A Processor Interconnect
attach -CW IPLI 65535
attach -CW IPLO 65534
; Attach 2676A Printer
attach LPS LPS_%DATE_YYYY%-%DATE_MM%-%DATE_DD%.txt

; Attach 2618A Printer
attach LPT LPT_%DATE_YYYY%-%DATE_MM%-%DATE_DD%.txt

; Attach 12920B Multiplexer
attach MUX 65533

; Attach 12875A Processor Interconnect
attach -CW IPLI 65535
attach -CW IPLO 65534

Port numbers and file names may of course be varied to suit the needs of the user's own particular system. One must attach the two parts of the 12875A Processor Interconnect such that the port for the SP IPLI device is assigned to the IOP IPLO device, and vice versa. The processor interconnect is setup such that the SP will listen for connections, and the IOP will initiate the connection; the -W flag on the IOP processor interconnect attach commands also requests that the IOP wait thirty seconds for the connection to be established. Therefore, it is necessary, when starting the simulators, to first start the SP, and then start the IOP for the processor interconnect to function. The printer file names make use of the SimH 4.x SCP environment variables for date and time, such that the file name consists of the printer device name followed by the day's date in ISO 8601 format (so, if the simulator was run on June 6th, 1944 then the file would be named LPx_1944-06-06.txt).

Some optional additions that may be added to either configuration file would be ECHO commands to list useful information about the simulator or simulator configuration. One could also add commands to reply to messages on the system console (of the SP) to automate replies to certain queries, such as the setting the system date and time. An example of the latter would be as such:

set quiet
expect -pri "\nDATE[?]" send -t AFTER=500000,DELAY=100000 "%DATE_JJJ%/%DATE_YY%\r"; c
expect -pri "\nTIME[?]" send -t AFTER=500000,DELAY=100000 "%TIME_HH%%TIME_MM%\r"; c

A further option would be to load a customized vertical forms unit (VFU) tape for the 2607A/2610A/2617A/2618A line printer on the IOP, if one has setup the IOP with one. The documentation of the VFU file is described in the SimH simulator documentation file, an example VFU file is provided below; the demonstration VFU tape is a twelve channel type, suitable for use with the 2613A, 2617A, or 2618A simulations; it will be truncated to eight channels when applied to a simulated 2607A. The first nine channels of the example VFU tape match with the standard HP 02613-80001 VFU tape (the functions being advance to top of form, advance to bottom of form, advance one line, advance two lines, advance three lines, advance to the next half of a page, advance to the next quarter of a page, advance to the next sixth of a page, advance to the bottom of form) and consequently the first eight columns match with the HP standard eight channel tape, 02607-80024. Channels ten, eleven, and twelve of the VFU tape provide the functions of advance to the next third of a page, advance to the next fifth of a page, and advance to the next tenth of a page. The example of how to do so would be:

set LPT VFU=demonstration.vfu

Download links for the four simulator configuration files, and the demonstration VFU tape may be found in the table below:

Download links for simulator configurations and VFU tape image.
2100 21MX
SP 2100A SP 21MX-F SP
IOP 2100A IOP 21MX-M IOP
VFU Demonstration VFU Tape

The demonstration VFU tape may be used by any IOP model. Though, the example 2100A IOP is not configured with a 2607A, 2613A, 2617A, or 2618A printer and thus the VFU tape is not used for that IOP. The example 21MX-M IOP configuration file expects the demonstration VFU tape file to be located in the same directory. The example SP configurations both enable all optional CPU features, even if they are not used by 2000/Access.


System Generation

Configuring the I/O Processor

The first step in bringing up an HP 2000/Access system is to configure the I/O processor program. The configuration process is done twice: once to store the IOP configuration on the master tape image, and once to produce a standalone IOP loader tape image. To begin configuring the IOP, one must first boot from the master tape image for one's respective processor type. (Aside: It would be wise to make a copy of the original tape image, and work from that; just in case the image gets damaged, it avoids needing to download the image again.) If one is working with a copy of the tape image named “master.tap” attaching the tape image may be done with attach -e MSC0 master.tap—the -e flag ensuring that the tape image exists before attempting to attach it—and both simulated processor types may be booted with boot MSC0; the 21MX/1000 series SP may also be booted using the IBL ROMs. As discussed, the 21MX-F SP has the 12992D ROM (7970B/E magnetic tape bootstrap) installed in the second socket, and we want to boot the first file on the master tape to load in the Master Program. Deposit the value 10sc018 into the S register, and the value 0000018 into the A register of the 21MX, where sc is equivalent to the select code of the 13181A/B or 13183A/B interface, on a real 21MX/1000 system the IBL and RUN keys would be pressed to start the processor, for SimH simply issue the boot command for the CPU; the simulator commands as issued would be, using the 21MX-F SP configuration above:

attach -e MSC0 master.tap
deposit S 101701
deposit A 000001
boot CPU

However one has booted the magnetic tape, the system will present a 1020778 halt code, the specific message being “Programmed halt, T: 102077 (HLT 77), P: 77756 (x)” where x is “NOP” on a 2100 processor, and “ALF,ALF” on a 21MX/1000 processor. The response to the 1020778 halt is to set the processor to run from memory location 20008; for both real systems this would be done by selecting the P register, clearing the display, storing a value of 0020008, and pressing the RUN key, for SimH simply issue the command go 2000 at the prompt. The Master Program will print a prompt asking whether the SP console is a 2754 if all went well. The responses for both processors are now the same, the Master Program and I/O Processor Configurator messages will be indicated as such, and typed responses are indicated as such. (“↵” indicates pressing the Enter/Return key.)

2754? YES↵
LOAD WHICH MODULE?  I/O↵

HP2000 I/O PROCESSOR CONFIGURATOR
RELOAD? NO↵
DATE? [Enter any text string, maximum of 20 characters long.]

The next series of prompts are specific to the IOP configuration. To the left will be the configuration corresponding to the sample 2100 configuration, and to the right will be the configuration corresponding to the sample 21MX configuration.

MEMORY SIZE?  16↵
NUMBER OF PORTS?  16↵
BUFFER LENGTH OPTION? YES↵
ALL,40↵
END↵
TIME BASE GENERATOR SELECT CODE?  10↵
INTERCONNECT KIT SELECT CODE?  14↵
MULTIPLEXER SELECT CODE?  11↵
2741 TYPE TERMINALS?  NO↵
INCLUDE RJE FUNCTION? NO↵
NON-SHAREABLE DEVICES?  YES↵
NUMBER OF MT DEVICES? 1↵
MT0 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
NUMBER OF PR DEVICES? 1↵
PR0 SELECT CODE?  16↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF PP DEVICES? 0↵
NUMBER OF LP DEVICES? 1↵
LP0 SELECT CODE?  17↵
LP0 SUBTYPE?  2↵
LP0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0040) 
NUMBER OF CR DEVICES? 0↵
NUMBER OF RP DEVICES? 0↵
NUMBER OF SL DEVICES? 0↵
NUMBER OF LT DEVICES? 0↵
MEMORY SIZE?  24↵
NUMBER OF PORTS?  16↵
BUFFER LENGTH OPTION? YES↵
ALL,128↵
END↵
TIME BASE GENERATOR SELECT CODE?  10↵
INTERCONNECT KIT SELECT CODE?  14↵
MULTIPLEXER SELECT CODE?  11↵
2741 TYPE TERMINALS?  NO↵
INCLUDE RJE FUNCTION? NO↵
NON-SHAREABLE DEVICES?  YES↵
NUMBER OF MT DEVICES? 4↵
MT3 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT2 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT1 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT0 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
NUMBER OF PR DEVICES? 1↵
PR0 SELECT CODE?  16↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF PP DEVICES? 1↵
PP0 SELECT CODE?  17↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF LP DEVICES? 2↵
LP1 SELECT CODE?  21↵
LP1 SUBTYPE?  2↵
LP1 DEFAULT RECORD SIZE?  (MAXIMUM IS 0040) 
LP0 SELECT CODE?  20↵
LP0 SUBTYPE?  1↵
LP0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0068) 
NUMBER OF CR DEVICES? 0↵
NUMBER OF RP DEVICES? 0↵
NUMBER OF SL DEVICES? 0↵
NUMBER OF LT DEVICES? 0↵

One can answer “no” to the “BUFFER LENGTH OPTION?” query, if it is acceptable to have all terminal buffers be 60 words in length. The “ALL,n” construction used sets all buffers to be equal to the specified length; it is possible to configure the length of a single port's buffer as “p,n” and it is possible to configure a range of buffers to a specified length with “p0-pn,n”.

The next step is to save the configured I/O processor program to the master tape.

MAGNETIC TAPE COPY? YES↵
SEPARATE TAPE?  NO↵
PRINT CONFIGURATION REPORT? NO↵
START IOP PROTECTED LOADER.  PRESS RETURN 

Once the “START IOP PROTECTED LOADER.” message is issued, at the simulator which is configured as the 2000/Access IOP, one must now boot the 12875A Processor Interconnect. For both simulators, one may simple issue the command boot IPLI. On the 21MX simulation, one may also use the installed 12992K bootstrap ROM to do the same; to utilize the 12992K ROM on the real hardware, one would press the HALT key, press the PRESET key, deposit a value of 00sc008 into the S register (where sc is the higher priority select code of the 12875A), and then press the IBL key. On SimH the preceding sequence may be replicated by first halting the simulator if it is running (default key is Control+E), then entering the following commands at the simulator prompt:

reset
deposit S 001400
boot CPU

The select code for the 12875A Processor Interconnect in the two demonstration configurations is used. If SimH at some point in the future acquires either a second 12920A Asynchronous Multiplexer Interface, or a 12618A Synchronous Data Set Interface, the select code might change (depending on the configuration).

For the 2100 simulation, one may use the built-in Basic Binary Loader. On the real hardware, one would not actually use the BBL, but the program loaded into the loader space when booting the Master Program via paper tape, the process though would be to press the HALT key, INTERNAL PRESET key, EXTERNAL PRESET key, then select and clear the S register, select the P register and set it to the beginning of the loader space based on the size of the memory installed in the processor (0377008 for a 16K machine, 0577008 for a 24K machine, and 0777008 for a 32K machine), then press the LOADER ENABLE key, and the RUN key. For SimH, as with the 21MX simulation, if the simulator is running first halt it (with Control+E), after enabling the BBL three instructions must be changed to be able to bootstrap the processor:

reset
deposit S 000000
deposit P 0x7700
set CPU LOADERENABLE
deposit 0x7763 1037sc
deposit 0x7764 1023sc
deposit 0x7766 1025sc
go

The value of x is, as stated above, dependent on the size of the IOP memory. And sc is dependent on the select code of the 12875A Processor Interconnect. For the example 2100 IOP configuration, one would use a value of 3 for x, and a value of 148 for sc.

However one goes about starting the I/O processor, once it has started, press the Return/Enter key at the prompt on the SP console. The IOP will then halt with a 1020778 halt, and the SP console with print a prompt to start the IOP at location 2002. Issue go 2002 at the IOP, and the IOP will once again present a 1020778 halt, the SP console will indicate that the IOP configuration is complete, and that the IOP may be started at location 2, it will also return to the Master Program “LOAD WHICH MODULE?” prompt. That is:

START IOP PROTECTED LOADER.  PRESS RETURN [Boot the IOP]↵
START IOP AT LOCATION 2002
[Enter “go 2002” at the IOP.]

HP2000 I/O PROCESSOR CONFIGURATION COMPLETE
(I/O PROCESSOR MAY BE STARTED AT LOCATION 2)

LOAD WHICH MODULE?  
sim> [Boot the IOP.]

Programmed halt, T: 102077 (HLT 77), P: xxxxx (yyyyy)
sun> go 2002↵

Programmed halt, T: 102077 (HLT 77), ppp75 (JMP ppp74)
sim> 

While the configurator program says that the IOP may be started at location two, this is unnecessary, as the IOPC will be run a second time, to produce a standalone loader tape for the IOP. If the IOP is built on the 2100 series processor, and it was started using the (modified) built-in BBL, enter the command set CPU LOADERDISABLE at the simulator prompt before continuing. Rerunning the IOPC is the same as the initial run, up until the “MAGNETIC TAPE COPY?” stage. Therefore, the sessions for the examples would mirror the above sessions:

LOAD WHICH MODULE?  I/O↵

HP2000 I/O PROCESSOR CONFIGURATOR
RELOAD? NO↵
DATE? [Enter any text string, maximum of 20 characters long.]
MEMORY SIZE?  16↵
NUMBER OF PORTS?  16↵
BUFFER LENGTH OPTION? YES↵
ALL,40↵
END↵
TIME BASE GENERATOR SELECT CODE?  10↵
INTERCONNECT KIT SELECT CODE?  14↵
MULTIPLEXER SELECT CODE?  11↵
2741 TYPE TERMINALS?  NO↵
INCLUDE RJE FUNCTION? NO↵
NON-SHAREABLE DEVICES?  YES↵
NUMBER OF MT DEVICES? 1↵
MT0 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
NUMBER OF PR DEVICES? 1↵
PR0 SELECT CODE?  16↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF PP DEVICES? 0↵
NUMBER OF LP DEVICES? 1↵
LP0 SELECT CODE?  17↵
LP0 SUBTYPE?  2↵
LP0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0040) 
NUMBER OF CR DEVICES? 0↵
NUMBER OF RP DEVICES? 0↵
NUMBER OF SL DEVICES? 0↵
NUMBER OF LT DEVICES? 0↵
MAGNETIC TAPE COPY? 
LOAD WHICH MODULE?  I/O↵

HP2000 I/O PROCESSOR CONFIGURATOR
RELOAD? NO↵
DATE? [Enter any text string, maximum of 20 characters long.]
MEMORY SIZE?  24↵
NUMBER OF PORTS?  16↵
BUFFER LENGTH OPTION? YES↵
ALL,128↵
END↵
TIME BASE GENERATOR SELECT CODE?  10↵
INTERCONNECT KIT SELECT CODE?  14↵
MULTIPLEXER SELECT CODE?  11↵
2741 TYPE TERMINALS?  NO↵
INCLUDE RJE FUNCTION? NO↵
NON-SHAREABLE DEVICES?  YES↵
NUMBER OF MT DEVICES? 4↵
MT3 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT2 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT1 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
MT0 DEFAULT RECORD SIZE?  (MAXIMUM IS 1024) 
NUMBER OF PR DEVICES? 1↵
PR0 SELECT CODE?  16↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF PP DEVICES? 1↵
PP0 SELECT CODE?  17↵
PR0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0064) 
NUMBER OF LP DEVICES? 2↵
LP1 SELECT CODE?  21↵
LP1 SUBTYPE?  2↵
LP1 DEFAULT RECORD SIZE?  (MAXIMUM IS 0040) 
LP0 SELECT CODE?  20↵
LP0 SUBTYPE?  1↵
LP0 DEFAULT RECORD SIZE?  (MAXIMUM IS 0068) 
NUMBER OF CR DEVICES? 0↵
NUMBER OF RP DEVICES? 0↵
NUMBER OF SL DEVICES? 0↵
NUMBER OF LT DEVICES? 0↵
MAGNETIC TAPE COPY? 

As was done when saving the IOP configuration to the master tape above, respond “yes” to the magnetic tape copy question, this time also respond “yes” to the separate tape, and configuration report questions. In other words:

MAGNETIC TAPE COPY? YES↵
SEPARATE TAPE?  YES↵
PRINT CONFIGURATION REPORT? YES↵
START IOP PROTECTED LOADER.  PRESS RETURN 

The process of starting and loading the IOP is as above, however one will need to replace the master tape with a new (blank) tape image, and a listing of the configured IOP memory map will be printed as well. As was mentioned above, if the IOP is built around a 2100 series processor, and it was bootstrapped from using the internal BBL, before the final run command is issued, first issue a set CPU LOADERDISABLE command.

START IOP PROTECTED LOADER.  PRESS RETURN [Boot the IOP]↵
DISMOUNT MASTER TAPE
MOUNT IOP COPY TAPE  PRESS RETURN[Ctrl/E]
Simulation stopped, P: x (x)
sim> detach MSC0↵
sim> attach MSC0 iop.tap↵
MSC: creating new file
sim> continue↵

START IOP AT LOCATION 2002
[Enter “go 2002” at the IOP.]

[I/O processor memory map listing omitted.]


HP2000 I/O PROCESSOR CONFIGURATION COMPLETE
(I/O PROCESSOR MAY BE STARTED AT LOCATION 2)

Programmed halt, T: 102077 (HLT 77), P: 17210 (JMP 17207)
sim> [Start the IOP at location 2.]
sim> [Boot the IOP.]

Programmed halt, T: 102077 (HLT 77), P: xxxxx (yyyyy)
sun> go 2002↵

Programmed halt, T: 102077 (HLT 77), ppp75 (JMP ppp74)
sim> run 2↵

The memory maps for both IOPs are, of course, different. The memory maps of the example configurations are as follows:

I/O PROCESSOR MEMORY MAP - DATE=[Text entered at “DATE?” prompt.]


            I/O LINKAGE
S.C.  DRIVER  I.L.  I.E.  U.N. EQT
10    D.43    0646  I.43  07   34154
11    D.51    0455  I.51  11   34170
12    HLT
13            0647  K.51
14    D.61    0300  I.61  10   34162
14    D.63    0300  I.61  12   34176
15    HLT
16    D.140   0651  I.140 14   34212
17    D.120   0650  I.120 13   34204


BASE PAGE LINKS -  00020 - 00651
AVAILABLE MEMORY - 34254 - 37677


              ASCII FILES
L.U.  DESIGNATOR  SELECT CODE  RECORD SIZE
00        LP0-2       17          0040
01        PR0         16          0064
02        MT0         16          0256


                        MODULE MAP
MN     02000-03663  DUMP   03664-04062  TBGH   04063-04115
ICKH   04116-11500  MUXH   11501-12172  MEMRY  12173-12344
IOC    12345-14374  D.43   14375-14774  D.61   14775-20227
D.51A  20230-25016  D.63   25017-25753  D.120  25754-26014
D.140  26015-26047  D.12C  26050-27115  D.14C  27116-27704
D.04   27705-30243  ASFH   30244-32244  PR0    32245-32266
LP0    32267-32307  CRC    32310-33067  LPC    33070-33566


                            QIT SUMMARY
DESIGNATOR  QIT   DESIGNATOR  QIT   DESIGNATOR  QIT   DESIGNATOR  QIT
    TG0    33656      IK0    33665      MX0    33674      AF0    33703
    LP0    33712      PR0    33721


                          ENTRY POINT MAP
.ALC.  12173  .ALL   03267  .ATOE  -----  .BSY   03506  .BUFR  13317
.C11R  17126  .C1OT  15074  .C1XM  15101  .COM.  33567  .DA    03433
.DAT   34150  .DEAL  03311  .DUMP  03665  .DVTB  34126  .FIND  03333
.FREB  03061  .GDVP  03627  .GETB  02737  .GETQ  02622  .IOC.  12350
.LTC.  14637  .LTS.  14626  .MEM.  02003  .PRIQ  02542  .PURQ  02664
.PUTQ  02513  .RTN.  12240  .SEEQ  02555  .TINT  02322  .UBSY  03564
.UNS.  13373  A.51   23101  ADV    25405  ALB    25502  ASFHC  31033
ASFHI  30325  ASFHP  30436  CBE    -----  CDONE  15650  CMPLT  03614
CONST  30324  CRCHC  32623  CRCHI  32310  CRCHP  32335  CRQ    13605
D.04   27705  D.04?  30127  D.04I  30125  D.04R  30171  D.120  25754
D.12C  26050  D.140  26015  D.14C  27142  D.43   14375  D.51   20230
D.61   15031  D.61S  15760  D.63   25042  DEATH  17532  DEVAD  33654
DMAC1  12346  DMAC2  12347  DMAXF  17633  DMCMP  17706  DMJSB  17727
DMTMX  33653  DMTOM  17461  FREG   03664  I.120  25756  I.12C  26501
I.140  26017  I.14C  27266  I.43   14650  I.51   21316  I.61   15613
ICKHC  04726  ICKHI  04116  ICKHP  04416  ICNVR  -----  ISPC   15675
K.51   23400  KDO    25644  LP0HC  32274  LP0HI  32267  LP0HP  32272
LPHC   33324  LPHI   33475  LPHP   33070  LUT51  24157  LUT61  17730
MAX    17566  MPXEP  22270  MUXEP  21277  MUXHC  12025  MUXHI  11533
MUXHP  11654  OCNVR  -----  OMTOM  17333  P.120  25761  P.12C  26734
P.140  26022  P.14C  27616  P.43   14736  P.51   23567  P.61   17202
PANIC  17477  PCF    25354  PHO    06133  PNTR   12341  PR0HC  32252
PR0HI  32245  PR0HP  32250  PULPT  03264  QHEAD  13674  QITAD  33655
QITAF  33733  QITMX  33732  QITND  33730  QITNR  33731  QTOP   14757
RDV    25425  RJE    -----  RJEIN  17020  RJUNS  -----  RMTOM  17466
RSTRT  02107  SBL    06144  SIBAF  32230  SIBIK  06241  START  02010
STR    25346  T.12C  27052  T.14C  27571  TBGHC  04112  TBGHI  04063
TBGHP  04101  TBGHQ  04071  TTPTR  02152  UCT00  25740  ULOAD  15765
WATSP  15110  WORD2  17567  XEQT   12345  XRB    25574
I/O PROCESSOR MEMORY MAP - DATE=[Text entered at “DATE?” prompt.]


            I/O LINKAGE
S.C.  DRIVER  I.L.  I.E.  U.N. EQT
10    D.43    1016  I.43  07   43411
11    D.51    0470  I.51  11   43425
12    HLT
13            1017  K.51
14    D.61    0302  I.61  10   43417
14    D.63    0302  I.61  12   43433
15    HLT
16    D.140   1023  I.140 16   43463
17    D.130   1022  I.130 15   43455
20    D.120   1020  I.120 13   43441
21    D.121   1021  I.121 14   43447


BASE PAGE LINKS -  00022 - 01023
AVAILABLE MEMORY - 43525 - 57677


              ASCII FILES
L.U.  DESIGNATOR  SELECT CODE  RECORD SIZE
00        LP0-1       20          0068
01        LP1-2       21          0040
02        PP0         17          0064
03        PR0         16          0064
04        MT0         17          0256
05        MT1         17          0256
06        MT2         17          0256
07        MT3         17          0256


                        MODULE MAP
MN     02000-03663  DUMP   03664-04062  TBGH   04063-04115
ICKH   04116-17100  MUXH   17101-17572  MEMRY  17573-17744
IOC    17745-21774  D.43   21775-22374  D.61   22375-25627
D.51A  25630-32416  D.63   32417-33367  D.120  33370-33430
D.121  33431-33471  D.130  33472-33522  D.140  33523-33555
D.12C  33556-34623  D.13C  34624-35520  D.14C  35521-36307
D.04   36310-36650  ASFH   36651-40665  PP0    40666-40705
PR0    40706-40727  LP0    40730-40750  LP1    40751-40771
CRC    40772-41551  LPC    41552-42250  PPC    42251-42732


                            QIT SUMMARY
DESIGNATOR  QIT   DESIGNATOR  QIT   DESIGNATOR  QIT   DESIGNATOR  QIT
    TG0    43034      IK0    43043      MX0    43052      AF0    43061
    LP0    43070      LP1    43077      PP0    43106      PR0    43115


                          ENTRY POINT MAP
.ALC.  17573  .ALL   03267  .ATOE  -----  .BSY   03506  .BUFR  20717
.C11R  24526  .C1OT  22474  .C1XM  22501  .COM.  42733  .DA    03433
.DAT   43405  .DEAL  03311  .DUMP  03665  .DVTB  43332  .FIND  03333
.FREB  03061  .GDVP  03627  .GETB  02737  .GETQ  02622  .IOC.  17750
.LTC.  22237  .LTS.  22226  .MEM.  02003  .PRIQ  02542  .PURQ  02664
.PUTQ  02513  .RTN.  17640  .SEEQ  02555  .TINT  02322  .UBSY  03564
.UNS.  20773  A.51   30501  ADV    33005  ALB    33102  ASFHC  37440
ASFHI  36732  ASFHP  37043  CBE    -----  CDONE  23250  CMPLT  03614
CONST  36731  CRCHC  41305  CRCHI  40772  CRCHP  41017  CRQ    21205
D.04   36310  D.04?  36532  D.04I  36530  D.04R  36574  D.120  33370
D.121  33431  D.12C  33556  D.130  33472  D.13C  34624  D.140  33523
D.14C  35545  D.43   21775  D.51   25630  D.61   22431  D.61S  23360
D.63   32442  DEATH  25132  DEVAD  43032  DMAC1  17746  DMAC2  17747
DMAXF  25233  DMCMP  25306  DMJSB  25327  DMTMX  43031  DMTOM  25061
FREG   03664  I.120  33372  I.121  33433  I.12C  34207  I.130  33516
I.13C  35133  I.140  33525  I.14C  35671  I.43   22250  I.51   26716
I.61   23213  ICKHC  04726  ICKHI  04116  ICKHP  04416  ICNVR  -----
ISPC   23275  K.51   31000  KDO    33244  LP0HC  40735  LP0HI  40730
LP0HP  40733  LP1HC  40756  LP1HI  40751  LP1HP  40754  LPHC   42006
LPHI   42157  LPHP   41552  LUT51  31557  LUT61  25330  MAX    25166
MPXEP  27670  MUXEP  26677  MUXHC  17425  MUXHI  17133  MUXHP  17254
OCNVR  -----  OMTOM  24733  P.120  33375  P.121  33436  P.12C  34442
P.130  33521  P.13C  35342  P.140  33530  P.14C  36221  P.43   22336
P.51   31167  P.61   24602  PANIC  25077  PCF    32754  PHO    06133
PNTR   17741  PP0HC  40673  PP0HI  40666  PP0HP  40671  PPCHC  42517
PPCHI  42636  PPCHP  42251  PR0HC  40713  PR0HI  40706  PR0HP  40711
PULPT  03264  QHEAD  21274  QITAD  43033  QITAF  43127  QITMX  43126
QITND  43124  QITNR  43125  QTOP   22357  RDV    33025  RJE    -----
RJEIN  24420  RJUNS  -----  RMTOM  25066  RSTRT  02107  SBL    06144
SIBAF  40635  SIBIK  06241  START  02010  STR    32746  T.12C  34560
T.13C  35310  T.14C  36174  TBGHC  04112  TBGHI  04063  TBGHP  04101
TBGHQ  04071  TTPTR  02152  UCT00  33340  ULOAD  23365  WATSP  22510
WORD2  25167  XEQT   17745  XRB    33174

At this point, the SP will have halted, and the IOP will be running.

Generating an Initial System Program

To generate the Initial System Program—that is, to install HP 2000/Access—the I/O processor must be configured and running before hand. Either complete the “Configuring the I/O Processor” or “Reloading the I/O Processor” sections on this page if necessary before continuing.

With the IOP running idly, and the SP halted, attach and boot the master tape, using which ever method of bootstrapping the SP one prefers for the processor type. At the Master Program module loading prompt, enter the model number of the first (unit 0) disk on the first disk controller of the system. So if one has a 13210A interface one would enter 7900 LOADER, for a 12565A interface one enters 2883 LOADER. For the 13175D interface, one may enter either 7905 LOADER or 7920 LOADER at the prompt although it does not particularly matter as the drive will be correctly formatted either way. If one of the loaders associated with the 13175D is selected, queries are printed for the optional 13210A and 12565A interfaces (first the former then the latter, if the 13210A is selected, then the prompt for the 12565A is not printed). Whichever loader and possible options are chosen, the disk driver is then loaded from the tape; next questions are presented for whether a system generation will be performed, and if a previously configured system will be updated. Naturally, as we are doing an initial system generation, the answers to the previous questions are “yes” and “no,” respectively.

The system generation prompts first ask what the system's name will be, then asks if the defaults will be taken for the system's disk configuration. Opting not to take the defaults, one is prompted to enter any DISC and FORMAT commands needed to setup the system's disks. Next questions are presented to label the disks for 2000/Access, as well as to mark any disk blocks as unusable due to damage (which is unnecessary given the simulated nature of the disk). The final configuration questions asked are to define how many tracks on each disk are reserved for the system directory, and for the ID code table.

If a 13175D controller is present, it is necessary to format the disk drives. However, by default the 13175D has formatting disabled for its units. To enable formatting, enter set DSn FORMAT at the simulator prompt, where n is the unit number of any 7905A, 7906M, 7920M, or 7925M disk. To do so, halt the simulator with Control+E, if it is running. Alternatively, the commands may be entered before bootstrapping the Master Program.

For the given sample configurations this initial system generation process looks as such:

LOAD WHICH MODULE?  7900 LOADER↵
SYSTEM GENERATION? YES↵
UPDATE? NO↵
SYSTEM IDENTIFICATION? [10 character system name]
CONFIGURATION OPTIONS? NO↵
 DISC RETRY READING 01 BLOCKS AT  000000.  STATUS 040001
DISC NUMBER 0 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
LOAD WHICH MODULE?  7920 LOADER↵
7900 OPTION?  NO↵
2883 OPTION?  YES↵
SYSTEM GENERATION? YES↵
UPDATE? NO↵
SYSTEM IDENTIFICATION? [10 character system name]
CONFIGURATION OPTIONS? YES↵
DISC OR FORMAT COMMANDS? DISC-1,14,1↵
DISC OR FORMAT COMMANDS? DISC-2,14,2↵
DISC OR FORMAT COMMANDS? DISC-3,15,0↵
DISC OR FORMAT COMMANDS? DISC-4,15,1↵
DISC OR FORMAT COMMANDS? FORMAT-0↵
DISC OR FORMAT COMMANDS? FORMAT-1↵
DISC OR FORMAT COMMANDS? FORMAT-2↵
DISC OR FORMAT COMMANDS? FORMAT-3↵
DISC OR FORMAT COMMANDS? FORMAT-4↵
DISC OR FORMAT COMMANDS? NO↵
DISC NUMBER 0 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
DISC NUMBER 1 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
DISC NUMBER 2 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
DISC NUMBER 3 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
DISC NUMBER 4 NOT LABELED FOR TSB
DO YOU WANT IT LABELED? YES↵
MLOCK OR MUNLOCK COMMANDS? NO↵
NUMBER OF DIRECTORY TRACKS PER DISC? 10↵
NUMBER OF ID TRACKS? 10↵

For the sample configuration using the 2100 series processors, which has only a single 7900A disk drive, the default options are taken for the disk configuration. Thus, the system is generated with a singular 7900A disk, which has one track reserved for the directory, and one track reserved for ID codes (meaning the system may have 682 files in the directory, and 682 total user codes). The 21MX based configuration does not use the defaults, as there are multiple disks in the system.

Once the system generation process is completed, the system will begin loading as normal. The current date, and current time are requested, and once they have been set the system will print the product and date code.

DATE?  [Date; DDD/YY format.]
TIME?  [Time; HHMM format.]
HP22687A-1812

At this point, dismount the master tape. If a 13175D interface is present, disable formatting for the disks; by using the simulator command set DSn NOFORMAT, where n is the unit number.

[Ctrl/E]
sim> detach MSC0↵
sim> continue


System Operation

System Startup

Starting up the HP 2000/Access system is a two stage processor. First, one needs to start the IOP, and once the IOP is running, then one starts the SP.

I/O Processor Startup

The IOP is always started via tape (image). Utilizing either the standalone IOP configuration tape, or the master tape. Whichever tape image one chooses, mount it write-protected to the first tape unit on the SP, and boot the tape using whichever bootstrap is appropriate for the system processor.

If the master tape was used, respond “yes” to the 2754 prompt, and request the I/O loader; once the I/O loader is running, respond “yes” to the reload prompt. At this point both tapes will request that the IOP protected loader be started.

2754? YES↵
LOAD WHICH MODULE?  I/O↵

HP2000 I/O PROCESSOR CONFIGURATOR
RELOAD? YES↵
START IOP PROTECTED LOADER.  PRES RETURN 
START IOP PROTECTED LOADER.  PRES RETURN 

As both IOP restart procedures are the same now, simply follow the prompts. The prompts are similar to starting the IOP during the configuration process.

START IOP PROTECTED LOADER.  PRESS RETURN [Boot the IOP]↵
(I/O PROCESSOR MAY BE STARTED AT LOCATION 2)
[Start the IOP at location 2.]
sim> [Boot the IOP.]

Programmed halt, T: 102077 (HLT 77), P: xxxxx (yyyyy)
sim> run 2↵

At this point the IOP will be running, and the SP will either have halted (if booted from the standalone IOP tape), or have returned to the “LOAD WHICH MODULE?” prompt of the Master Program (if booted from the master tape). If started from the IOP tape, dismount it from the SP now.

System Processor Startup

The System Processor is started after the I/O Processor is running, as the system cannot boot if the IOP is not running. If the IOP was started from the IOP tape, bootstrap the system disk (unit 0 on the disk controller with select code 148) utilizing whichever method is preferred for the system in question.

It is very important to note that on a 2100 SP, it is impossible to boot a 7900A disk (without acquiring an image of the BMDL paper tape) without the master tape; 2883 and any supported disk attached to the 13175D controller may be booted using boot DQC0 and boot DS0 respectively on the 2100 System Processor. On 21MX System Processors, the 12992A ROM may be used to boot from a 7900A system disk (and a 2883 system disk). To bootstrap a 7905A, 7906M, or 7920M system disk on a 21MX SP, the 12992B ROM may be used.

To utilize the correct 12992A or 12992B ROMs the following commands are input at the simulator prompt of the SP.

12992A, 7900A:

reset
deposit S 041401
boot CPU

12992A, 2883:

reset
deposit S 061400
boot CPU

12992B:

reset
deposit S 151400
boot CPU

Once the disk has been bootstrapped (either via the simulator boot x command; or using the 12992A/B bootstrap ROM), it will almost immediately halt. Issue the continue command at the simulator prompt. The SP console will now print out the “LOAD OR DUMP COMMANDS?” prompt.

If the IOP was started from the master tape, simply enter the correct disk loader at the “LOAD WHICH MODULE?” prompt. Enter the correct responses for the optional disks, if those prompts appear. Next respond “no” to the system generation and tape reload prompts. The “LOAD OR DUMP COMMANDS?” prompt will then be printed.

As no load or dump commands are necessary in a normal system startup, respond “no” to that prompt. The system will now ask for the date and time. Once date and time have been set, the system will print the product code and date code, showing that the system is now running.

LOAD OR DUMP COMMANDS? NO↵
DATE?  [Date; DDD/YY format.]
TIME?  [Time; HHMM format.]
HP22687A-1812

The above shows what is a normal startup process. The “LOAD OR DUMP COMMANDS?” prompt allows for issuing LOAD, RESTORE, or DUMP commands as needed. The function of the three commands is as such:

DUMP:
Selectively dump files/programs from the system to tape.
LOAD:
Selectively load files/programs from sleeper, hibernate, or dump tapes. If a copy of the file/program being restored already exists on disk, the file is skipped.
RESTORE:
Selectively load files/programs from tape. If the file/program being restored from the tape already exists on disk, it is replaced with the version that is on the tape.

The use of the commands would be as such:

LOAD OR DUMP COMMANDS? DUMP↵
ENTER NAME LIST, ONE PER LINE; TERMINATE WITH 'END'
ALL↵
MOUNT REEL NUMBER  1.  PRESS RETURN [Mount new image on MSC0.]↵
VERIFY? YES↵
DONE

LOAD OR DUMP COMMANDS? LOAD↵
ENTER NAME LIST, ONE PER LINE; TERMINATE WITH 'END'
X000↵
X165,ANALYZ↵
X193,PAYCAL↵
ENTRY ALREADY PRESENT
END↵
MOUNT REEL NUMBER  1.  PRESS RETURN [Attach tape image to MSC0.]↵
LOAD OR DUMP COMMANDS? RESTORE↵
ENTER NAME LIST, ONE PER LINE; TERMINATE WITH 'END'
Y500↵
X193,PAYCAL↵
END↵
MOUNT REEL NUMBER  1.  PRESS RETURN [Attach tape image to MSC0.]↵
LOAD OR DUMP COMMANDS? 

The above example shows the use of the dump, load, and restore commands. It can be seen when attempting to copy the file/program “PAYCAL” in account X193 that a copy already exists on disk and it is not copied, during the use of “load.” However, during the use of “restore” that file is replaced by the version on tape.

System Shutdown

There are two kinds of normal shutdown the 2000/Access system can do. The first is HIBERNATE, which creates a complete backup copy of the system and all files on magnetic tape; the second is SLEEP, which copies the system to disk, and may be used to backup to tape any files created or changed since the last HIBERNATE was issued.

HIBERNATE Shutdown

When the HIBERNATE command is issued, if a message was specified (using the syntax HIBERNATE-[Up to 68 character long message.]) it is printed on all active terminals; the system then disconnects all active users, and all non-shared devices are deactivated. The operator is then prompted to mount a reel of scratch tape on the first magnetic tape unit. Once the tape is mounted press return and the system is dumped to tape. Once the tape dump is completed the computer asks if the tape should be verified; if one answers “yes” then the system compares the files stored on tape with the files stored on disk. If the system needs to be dumped to more than one tape, the system will request mounting of the second tape reel after the verification pass (if any).

After the hibernate is successful, the system prints that it is done. And then asks if the system should be dumped or reloaded. Selecting the “dump” option repeats the hibernate process. Selecting the “reload” option effectively reboots the system from disk, starting at the “LOAD OR DUMP COMMANDS?” prompt. If one chooses neither (by answering “no” or by pressing the return key) the system processor halts.

HIBERNATE-[Up to 68-character shutdown message.]

MOUNT REEL NUMBER  1.  PRESS RETURN [Attach new tape image to MSC0.]↵
VERIFY? YES↵
DONE

SYSTEM DUMP OR RELOAD? NO↵
SYSTEM SHUT DOWN

The example hibernate above shows the simplest case of a hibernate without an additional dump, or reloading the system.

SLEEP Shutdown

As with the HIBERNATE command, when the SLEEP command is issued, a message is printed on all active terminals, all active users are disconnected/logged out, and all non-shared devices are deactivated. The system is then saved to disk. Again, as in the HIBERNATE command, once this is done, the system asks whether to dump or reload the system. If “dump” is selected, it will prompt the user to mount a (scratch) magnetic tape; once that is done (and the operator presses the return key) it will proceed to dump all files that have been created or updated since the last hibernate to tape. The system will then ask if one wishes to verify the tape copy; additional reels of magnetic tape needed are requested after the verification pass, if one was selected. The reload option serves to effectively restart the system, once more starting at the “LOAD OR DUMP COMMANDS?” prompt.

SLEEP-[Up to 68-character shutdown message.]

SYSTEM DUMP OR RELOAD? DUMP↵
MOUNT REEL NUMBER  1.  PRESS RETURN [Attach new tape image to MSC0.]↵
VERIFY? YES↵
DONE

SYSTEM DUMP OR RELOAD? RELOAD↵
LOAD OR DUMP COMMANDS? 

The example usage of the sleep command shows the operation of the dump and reload options. Which would be the same when used with the hibernate command.


Valid XHTML 1.0 Strict Valid CSS!
Fave icon Database CMYK © 2008 – Barry Mieny
Syntax highlighting using highlight.js by © 2006 – Ivan Sagalaev