Written by: Administrator
Parent Category: Projects
Category: BlinkenBone panel simulations

The PDP-11/40 is the simplest DEC panel, and also the first I made.

blinkenbone panelsim

The PDP-11/40 is a 16 bit machine with 18 bit addresses, so it can address 256 KBytes over a simple memory management unit. The panel shown here has different paintings and is labeled "industrial11". It was build in 1973.

The PDP-11/40 has only a core set of Lamps & switches, making it ideal for teaching and demonstration. Almost all DEC CPU panels (surely all PDP-11's) follow the same approach, so its worth to take a closer look.

 

Octal and 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:

0

0 0 0

1

0 0 1

2

0 1 0

3

0 1 1

 pdp1140 octal 000   pdp1140 octal 001   pdp1140 octal 010   pdp1140 octal 011 

 

4

1 0 0

 

5

1 0 1

 

6

1 1 0

 

7

1 1 1

 pdp1140 octal 100   pdp1140 octal 101   pdp1140 octal 110   pdp1140 octal 111 

 

Basic panel controls

The larger left half of the panel is for memory address and data, the small right half for the CPU.

ADDRESS display: The upper row of LEDs displays an address up to 18bit wide. They are labeled “ADDRESS” on the panel. This the physical address loaded with the “LOAD ADDR” switch.

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

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 are the real command center of the panel. Most switches return to their standard-position, they are called “Momentary Action Switches” by DEC.

 

Operating the panel

The switches are operated by clicking with the mouse on to them. There are two stypes of switches: bi-stable and "momentary action" switches. Multiple switches can be changed by holding the mose button and moving over them. In the old days a bunch of switches was set in a similar fashion by sliding with a finger over them.

Read a memory address

  1. Enter the address with the Data Input Switches
  2. Trigger  the “LOAD ADDR” switch
  3. The address is displayed on the “ADDRESS” LEDs
  4. Trigger the “EXAM” switch
  5. Data is displayed in the “DATA” LEDs

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. Enter the address with the Data Input Switches
  2. Trigger  the “LOAD ADDR” switch
  3. The address is displayed on the “ADDRESS” LEDs
  4. Enter data with the “Data Input” switches.
  5. Trigger the “DEP” switch
  6. Entered data is displayed in the “DATA” LEDs

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. Enter the start address with the “DATA INPUT” switches.
  2. Trigger  the “LOAD ADDR” switch
  3. The address is displayed on the “ADDRESS” LEDs
  4. Set “ENABLE/HALT” to “HALT”
  5. Trigger “START”

Start program execution

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

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.