Disclaimers, Caveats etc.

Currently the series 16 emulator is in a rather strange intermediate state, half way between a proper graphical user interface propram and a command-line application. The front panel (of the H316) is presented in graphical form, but everything else goes via. the command-line terminal, including file selection dialogs.

However, the emulator is reasonably useable, and behaves like a real series 16 machine in most circumstances.

Command line parameters

-t
Text mode

Front Panel

The front panel resembles that of a H316.

A row of sixteen buttons, towards the top of the front panel, allows registers to be set by the operator. These buttons are pressed to set the corresponding bit of the register, a Clear button to the right allows the register to be cleared. (On the emulator the individual buttons toggle the bit, so that depressing it a second time clears the bit, though this is not the behaviour of the real hardware.)

Below the row of sixteen register bits are a series of buttons as follows:

OFF-ON
Turns the computer off and on. Turning the machine off should cause a power fail interrupt before the machine actually turns off. This isn't actually implemented yet (7 June 1999).
Four sense switches
The four sense switches may be tested by a program running on the emulator, allowing primitive control of programs.
Register selection
The register buttons allow the various registers to be viewed, and in most cases, modified.
X
(DDP-516 only) Allows the X register to be viewed, but not modified.
A
A register
B
B register
OP
The operation register. Shows the state of various timing states and, more usefully, CPU flags. The text below the sixteen bit register lights gives the meanings of the OP register bits. See XXXX.
P/Y
The program counter (P) or memory address register (Y).
M
The M register
MSTR
Master clear. This clears the machine to a known reset state. All the machine registers are cleared. It is shown as a biased toggle button for the H316. (Press the lower button and it will revert to the unpressed button after a short delay.) For the DDP-516 it is a simple push-button. Master clear is disabled when the MA/SI/RUN switch is in the RUN position.
Fetch/Store
This affects whether data is fetched from memory, or stored to memory in memory access mode (when the MA/SI/RUN switch is in the MA position).
P+1/P
When operating in the memory access mode (when the MA/SI/RUN switch is in the MA position), this affects whether the address used for the memory access is incremented (P+1). Note that the address is incremented before the memory access.
MA/SI/RUN
Controls whether the machine is in the memory access, single instruction, or run modes.
MA
Memory access. Each time the start button is depressed a single memory access is performed. The Fetch/Store and P+1/P switches control the operation.
SI
Single Instruction. Each time the start button is depressed a single instruction is executed, and the next instruction is fetched from memory into the M register. It can be examined, and optionally modified, in the M register before it is executed when the start button is next depressed.
RUN
Run mode. When the start button is depressed the computer runs continuously until it encounters a HLT instruction, or the MA/SI/RUN is moved from the RUN position.
Start button
The start button is used to perform a memory access, single instruction execution, or to start the machine running, as described above. If the start button is depressed while the computer is running, a start button interupt will be generated, if the permit interrupt bit is set.

The key-in loader

Locations '01 through '17 (the "'" indicates octal) contain the key-in loader. This has the task of fetching a bootstrap loader, from paper-tape, which then loads an executable into memory.

Two versions of the key-in loader exist, one for reading from ASR (teletype) and the other for reading from high speed paper-tape (typically 300 or 1000 characters per second). The emulator starts with the high speed paper-tape reader key-in loader ready in core.

In order to load an executable into core, simply set the P/Y register to '1, place the MA/SI/RUN switch into the RUN position, and depress start. (Note that the emulator starts up in this state, needing only the start button to be depressed to start loading.)

A command-line prompt asks for a file name:

PTR: Filename> <filename>

On pressing enter the paper-tape reader device will open the (binary) file and read it. (The program running on the emulator has no knowledge that the data is coming from a disk file; it ``thinks'' the data is coming from paper-tape.)

The majority of executables (though by no means all) start at location '1000. To run such executables, once the loading operation is complete, set the MA/SI/RUN switch to either MA or SI. Press the master clear button. Select the P/Y register and key in '1000 (depress the ``7'' button and no others). Return the MA/SI/RUN switch the the RUN position and press the start button.