Console interface hardware - core board

The hardware is built on two seperate boards. One is called the "core" board, the other is called the "I/O" board.
The core board contains the microprocessor with its RAM/EPROM, the serial link and a 16-bit parallel interface.
The I/O board contains decode logic for all the seperate I/O lines to LEDs, switches and buttons (and knobs).

core board, component side At this moment (November, 2003) the core board is finished [hardware-wise, second design]. The core board has a connector for the serial port and a connector for the parallel port and a connector for the +5V. power supply (not on this picture).
The serial port connects to the PC that runs the (PDP-11) simulator or a VT220 debugging console (or hyperterm). The parallel port connects to the I/O interface board.

In the top left corner you see the reset button. Next to this button are the CPU and the monitor EPROM socket. On the 'next' line are the 74LS00, and the two 74LS138 for respectively I/O and RAM/ROM address decode. Next to these three sockets is the optional second EPROM socket.
Below these are the sockets for the NE556 dual timer, the PIA and the optional extra RAM socket. On the last line are the two 74LS245 buffers and the ACIA with next to it the Dallas DS275 RS-232 chip. Above this chip is a small button that, pressed while resetting the core board, does not start the console application but a small monitor for debug and test purposes.
wiring tools core board, wiring side

I built the core board on a "euro sized" board, 10 x 16 cm, using good quality sockets for all IC's. Wiring all components is done with 0,3 mm isolated copper wire, found in transformers etc. You need a soldering iron with a sufficient hot tip to burn the isolation of the wire with the aid of a little solder. Doing so also gives the wire a nice pre-soldered end. Solder that end to a pin of the IC socket and then, with tweezers and a small screwdriver to bend the wire, you bring the wire to the endpoint of for example an other IC socket. Again, burn the isolation, etc. See the picture for the tools I used, and the end-result after some 10 hours soldering in one week time ...
 
solder wiring detail This detail image shows a part of the wiring from the 6802 CPU to the monitor EPROM socket.
If your fingers start itching and you are dieing to start building your own core board, here is the detailed schematic diagram of the

core board (742 kBytes, ZIPped PDF file)

core block diagram  
The core board design is tested. The RTS pin from the ACIA is (mis)used to drive a status LED, and the CTS pin of the ACIA is (mis)used to detect via a push-button right after reset if the software must launch the console application (default) or, when pressed, the simple debug-monitor. I wired this button also to one of the (white) dummy switches on the console. Two other dummy switches are wired in series. When both pressed at the same time the 6802 is reset. I used toggle switches for all the white switches. One white switch is for the "lamp test" on the 11/70 console version.
 
The core board with all components in the sockets.
core board, populated

Console interface hardware - I/O board

The I/O board is a separate board to make the core board generic: the core board can be used for other applications as well.
The I/O board only contains two decoders (74154's) and octal latches for input of the switches, the toggle buttons and the knobs (11/45, 11/50 and 11/70 console) and buffered outputs to the LEDs.
If you know what console you want to implement, you could integrate the decoders and the needed octals latches on one board together with the core electronics.
I/O board block diagram  
The "ADDRS" lines select one of the two 74154's, enables the selected demultiplexer and activates one of the 16 output lines of the demux. For the input latches, the output lines of the "input 74154" are connected to the OE* pin of the octal latches so that, when activated, the input data of the selected latch is on the "DATA" lines. All other input latches remain in 3-state.

For the output latches, the output lines of the "output 74154" are connected to the CP pin of the octal latches so that, when activated, the data on the "DATA" lines is latched by the selected latch.

The original design used 74LS373's for the input port and the output ports. However, as the outputs of the 74154 are active low, this would mean that all output latches would be in the transparant state and, when selected, they would latch the data.
For a correct operation this should be reversed. One solution is to implement inverters in the E selection lines from the 74154 to the 74LS373 output latches (if you have plenty 373's), or simply replace the 74LS373 output latches with 74LS374's. The 374 latches have an edge-sensitive latch input called CP. When the output port selection from the 74154 becomes invalid (transition from low -> high) the data is latched in the 74LS374.

The "DATA" and "ADDRS" (each 8 wires) are connected to the two 74LS245 bi-directional buffers on the core board. The 74LS245's protect the 6821 PIA and enable many octal latches to be connected to the "DATA" lines. Of the 74LS245 that drives the "ADDRS" lines are only 6 wires used, so two are available for other purposes. I am thinking of using 1 line to drive a beeper to signal errors. The 74LS245 that buffers the "DATA" lines switches I/O data direction under software control.
I/O board  
As you can see, I soldered a few more input and output latches than necessary for the 11/40 console.
The 11/40 console could be implemented with just 5 octal latches for output ports and 3 octal latches for input ports.

An extra input port could be used if you want to use some optional stuff built in the software like a selectable blinkenlight pattern (for example the RSX or RSTS/E idle patterns) on the DATA LEDs when the PC does not run the simulation software and you want to see "something" on the LEDs. However, I have choosen to read the switches 7 thru 0 at start-up time and use their setting for the blinkenlight pattern in stand-alone mode.
Here is the detailed schematic diagram :
I/O board (765 kBytes, ZIPped PDF file) The I/O board.