Virtual PDP-10 KI10 - Understanding the console
Even if you've worked with PDP-11 or IMSAI consoles, you'll find the KI10 overwhelming at first. Not only the pure amount of lamps and buttons is impressive, also the functionality goes far beyond the well-known "EXAM/DEPOSIT/START/STOP" switches.
The original DEC document describing the console is Chapter 3 of "KI10 Central Processor Maintenance Manual" (Oct 1973, A-MN-KI10-0-MAN1), see attachement.
PDP-10 bit numbers:
Many LEDs and Buttons are labled with bit positions.
Be aware: In PDP-10 context, the MSB (most significant bit) is written to the left, and the LSB is written right, as common today.
But the Bit numbers are inversed!
For example: the 8 bit integer "197" would be displayed in a 36 LED row this way:
|Bit values for 197=0xC5 :||0 ... 1 1 0 0 0 1 0 1|
|"Normal" bit numbers :||35 ... 7 6 5 4 3 2 1 0|
|PDP-10 bit numbers :||0 ... 28 29 30 31 32 33 34 35|
So in the PDP-10 world the bit with value 20 has the number 35.
Buttons and feedback lamps
All button have feedback lamps, which give an optical signal that the button press has been accepted. Often a button is not accepted, for instance:
- Pressing STOP when the simulated PDP-10 is not executing code.
- Pressing any key if CONSOLE LOCK and CONSOLE DATALOCK are active.
- Pressing EXAM or DEPOSIT when the simulated CPU is running.
Most buttons are mechanically like keyboard keys, they react directly on press. Panel electronics may let them behave as "switches", toggling "on/off" on key press (like DATA SWITCHES). And some buttons are mechanical locking between on and off (like "READ-IN DEVICE" or LOCK/DATALOCK).
Unimplemented button functions (like SINGE PULSER or XCT in the lower row) still give an optical feed back ... as eye candy!
POWER Button: This button switches main power in the physical machine. In the simulation the state of the POWER button is irrelevant, under SimH it is first show in the "ON" position.
POWER LED: (lower panel, row 1, far right)
This LED shows "Power good, system ready to run". It is ON while SimH is connected to the panel with "set realcons connected"
implemented, shows historic correct lamp test. The "test" button above the panel and the SimH test function perform a full selftest, even operating the buttons and knobs!
CONSOLE LOCK: When pressed and locked down, input to all buttons with exception to SENSE and DATA is ignored.
"CONSOLE LOCK active" was the normal setting for a running KI10 in multiuser mode.
CONSOLE DATA LOCK: This button locks only the data input buttons SENSE and DATA SWITCHES.
READ-IN (lower panel, bottom row): This button boots the PDP-10 from a selected device.
READ-IN DEVICE (uppe rpanel, row 4 left)
These buttons select the device to boot from. Codes for five standard devices are printed in octal to the panel.
The octal numbers map to the buttons and the SimH device the following way:
(Buttons for bits 0 and 1 are not installed!)
|READ-IN DEVICE||device||SimH cmd|
|Disk A||"boot rp0"|
|Disk B||"boot rp1"|
|Mag tape A||"boot tu0"|
|Mag tape B||"boot tu1"|
Starting, Stopping, Single Step
STOP button: Pressing this button stops the simulation, like Ctrl-E in the SimH console.
STOP LEDs (lower panel, upper row):
STOP MAN indicates that the machine stopped because the STOP button was hit.
STOP PROG means the machine run onto a HALT instruction.
CONT button: This continues code execution after STOP (SimH "cont")
START button: Starts code execution from the address given by the "ADDRESS" buttons (SimH "run <address>").
RESET button: Causes a Simh "reset". A running PDP-10 is halted first.
SINGLE INST button (lower panel, bottom row, far left): If this button is active, CONT performs a single step.
MEMORY INDICATOR (unlabled LED row under "MEMORY DATA and PROGRAM DATA triangles)
Display 36 bit data, as reponse to EXAMINE and accesses to register "cmi".
The Arrow "MEMORY DATA" means: data generated by consoel operation.
"PROGRAM DATA" means: display generated under PDP-10 program control by access to registerr "cmi"
ADDRESS SWITCHES (lower panel, row 5): Used to enter a memory address.
ADDRESS CLEAR: clear all ADDRESS buttons
ADDRESS LOAD: set buttons to the value displayed in the MEMORY INDICATOR (see below)
DATA SWITCHES (lower panel, row 6):
Used to enter data for a memory address. Represented by SimH register "cds".
DATA CLEAR: clear all DATA buttons
DATA LOAD: set buttons to the value displayed in the MEMORY INDICATOR (see below)
EXAMINE THIS: Load data from the adress given by ADDRESS SWICTHES and display in MEMORY INDICATOR.
EXAMINE NEXT: Increment ADDRESS SWITCHES by 1, then perform EXAMINE THIS.
DEPOSIT THIS: write the value of DATA SWICTHES into the address given by ADDRESS SWITCHES.
DEPOSIT NEXT: Increment ADDRESS SWITCHES by 1, then perform DEPOSIT THIS.
EXEC MODE / USER MODE (LEDs on lower panel, row 1): Shows run mode of CPU. Is tied to "KERNEL".
PROGRAM COUNTER: What it says: Address of current instruction.
INSTRUCTION (36 LEDs on lower panel, row 3): Shows the current instruction being processed.
The fields of an instruction (opcode, accumulator, indirection bit, index and address) are highlighted, making a readout easier.
The field prints are also helpful if entering an instrucion over the DATA SWITCHES.
PI ACTIVE (LEDs on lower panel, row 1 left): PI ACTIVE shows the enabled interrupt sources. (PI means "Priority Interrupt".)
PI IN PROGRESS: Shows which interrupt is currently being processed.
IOB PI REQUEST: shows pending interrupts, caused by IO devices.
PI REQUEST: Shows pending interrupts, caused by CPU traps.
SimH doesn't simulate the interrupts slow enough to make an entertaining display.