Written by: Administrator
Parent Category: Tools
Category: PDP11GUI

Just for fun I took my PDP-11/70 console panel project and integrated it into PDP11GUI. So PDP11GUI can be operated over an ancient “light and switches” console now.

I first intended the panel only as an enhancement for SimH. But the experiment got out of control and created strange mutants (old horror movie theme!): the 11/70 console panel connects also to all machines supported by PDP11GUI, resulting in “panelized” versions of 11/44, 11/23, 11/73, etc.!

Of course only a few PDP11GUI-operations are executable by panel:

On the other hand, not all modes of the panel are useable for PDP11GUI ... the panel is very 11/70-hardware-specific.

The console panel window is not an MDI window, instead it is free floating. So you can hide PDP11GUI and the console panel window is still visible. This is nice for demonstrations!

The panel is a photo realistic simulation, but I can also connect my real PDP-11/70 panel over USB! Feel free to visit me if you want a demonstration.

 

pdp11gui_consolepanel

The panel looks nice, but needs a lot of explanation!

Description of the panel

The labels printed onto the panel are not very readable, but you can move the mouse over a LED or a switch or a knob and get a hint.

The original documentation is the PDP-11/70 processor manual, Section III, pdf page 187ff.
But under PDP11GUI, the panel behaves sometimes different.

You can toggle switches and rotate the knobs by just left-clicking onto them.

Status indicators

The upper row of LEDs contains status indicators, DEC calls them “Execution indicators” . Most of them have constant values under PDP11GUI.

ADDRESS display

The mid row of LEDs displays an address up to 22 bit wide. They are labeled “ADDR” on the panel. This the physical address loaded with the “LOAD ADDR” switch.

The upper rotary knob is not labeled, but internally called “ADDRESS SELECT”. It chooses what is displayed on the “ADDRESS” LEDs. Only two positions are implemented:

DATA display

The bottom row of LEDs displays a 16 bit data word. They are labeled “DATA”.

The lower rotary knob also not labeled, it is called “DATA SELECT” and chooses what kind of data is shown. There are two implemented positions:

The two Parity-LEDs are always OFF.

Note: The DATA display does NOT show always the content of the displayed address!

Data Input Switches

The left bank of switches on the panels bottom is used to enter addresses or data words. Therefore they are vertically aligned with the “ADDRESS” and “DATA” LEDs.

A switch flipped upward represents a logic “1”, a switch in normal position is a “0” (zero). (See the “bit-to-octal” table below)

Command Switches

The switches to the right of the white “Lamp test” switch (try it!) are the real command center of the panel. Most switches return to their standard-position, they are called “Momentary Action Switches” by DEC.

Decoding binary digits

DATA display, ADDRESS Display und Data Input Switches present data as bits. Groups of three bits are optically grouped together on the panel, because three bits make one octal digit. In case you forgot:

 

Switches/LEDs in group
(for switches: ON=up)
Binary value
Octal value
off, off, off
0 0 0
0
off, off , ON
0 0 1
1
off, ON,  off
0 1 0
2
off, ON,  ON
0 1 1
3
ON,  off,  off
1 0 0
4
ON,  off,  ON
1 0 1
5
ON,  ON, off
1 1 0
6
ON,  ON, ON
1 1 1
7

 

How to operate the panel

General notes

Read a memory address

  1. Set the “ADDRESS SELECT” knob to “CONS PHY”
  2. Enter the address with the Data Input Switches
  3. Trigger  the “LOAD ADDR” switch
  4. The address is displayed on the “ADDRESS” LEDs
  5. Trigger the “EXAM” switch
  6. Data is displayed in the “DATA” LEDs
  7. In case of an illegal address, “ADDR ERR” LED goes ON.

Read the next memory address

  1. Trigger the “EXAM” switch again
  2. The “ADDRESS” LEDs increment by 2 (or by 1, if you’re reading R0..R7).
  3. New data is displayed in the “DATA” LEDs

Write a memory address

  1. Set the “ADDRESS SELECT” knob to “CONS PHY”
  2. Enter the address with the Data Input Switches
  3. Trigger  the “LOAD ADDR” switch
  4. The address is displayed on the “ADDRESS” LEDs
  5. Enter data with the “Data Input” switches.
  6. Trigger the “DEP” switch
  7. Entered data is displayed in the “DATA” LEDs
  8. In case of an illegal address, “ADDR ERR” Led goes ON:

Write the next memory address

  1. Enter data with the “Data Input” switches.
  2. Trigger the “DEP” switch again
  3. The “ADDRESS” LEDs increment by 2  (or by 1, if you’re writing R0..R7).
  4. Entered data is displayed in the “DATA” LEDs

Reset the processor to a start address

  1. Set the “ADDRESS SELECT” knob to “CONS PHY”
  2. Enter the start address with the “DATA INPUT” switches.
  3. Trigger  the “LOAD ADDR” switch
  4. The address is displayed on the “ADDRESS” LEDs
  5. Set “ENABLE/HALT” to “HALT”
  6. Trigger “START”

Start program execution

  1. Set the “ADDRESS SELECT” knob to “CONS PHY”
  2. Enter the start address with the “DATA INPUT” switches.
  3. Trigger  the “LOAD ADDR” switch
  4. The address is displayed on the “ADDRESS” LEDs
  5. Set “ENABLE/HALT” to “ENABLE”
  6. Trigger “START”
  7. The “RUN” LED goes ON.
  8. If the program HALTS, set the “ADDRESS SELECT” knob to “PROG PHY” The ADDRESS LEDs iwll then dispaly the addresss of the HALT instruction.

Stopping a running program

  1. Switch “ENABLE/HALT” to “HALT”
  2. The “RUN” LED goes OFF.

Continue program execution

  1. Switch “ENABLE/HALT” to “ENABLE”
  2. Trigger “CONT”
  3. The “RUN” LED goes ON.

Execute next instruction / Single Step

  1. Switch “ENABLE/HALT” to “HALT”
  2. Trigger “CONT”
  3. The “ADDRESS” LEDs show the  program counter after the next instruction.

Display the content of the PDP-11 “Display Register” at 17777570

  1. Connect to SimH
  2. Choose a processor with Switch/Display register. To select a PDP-11/70, type “set cpu 11/70” on SimH’s command prompt. The QBus PDP-11’s (LSI11, 11/23/53/73/93) don’t implement a Switch/Display register, you will get a UNIBUS timeout trap if you access it!
  3. Set the lower rotary “DATA SELECT” knob to “DISPLAY REGISTER”
  4. Either stop program execution, SingleStep, let the processor run onto HALT, or write to 17777570 with a Memory or a Register window.
  5. The new value of the Display Register is shown on “DATA” LEDs.
  6. Reset “DATA SELECT” to “DATA PATH” again.

Set the PDP-11 “Switch Register” at 17777570

  1. Connect to SimH
  2. Choose a processor with Switch/Display register. The QBus PDP-11’s (LSI11, 11/23/53/73/93) don’t implement it, you will get a UNIBUS timeout trap!
  3. Set DATA switches 0 to 15 to any 16 bit value.
  4. Before every START, CONTINUE or SINGLE STEP command, the value of DATA switches is set to SimHs “SR” (switch reg) registers.