Indigo Keyboard and Mouse Converter

Below is a picture of my first prototype Indigo keyboard converter. It consists of a PIC 16C65 for the keyboard portion of the converter and a PIC 16F84 for the mouse.

In the final design I have replaced the 16c65 and the 16F84 with the much newer and cheaper 16F628 chips. I am also driving both PICs from a single 10mhz TTL clock module instead of using individual crystal oscillators for each microcontroller. This converter has been tested to work with both the R3K and R4K models of the Indigo.
Schematic for converter
Here is the schematic for the converter switched over to the PIC 16F628 chips. Currently you can substitute a 16F84 for the mouse part of the converter as it doesn't use the built in UART of the 16F628, but rather implements a transmit only UART in software. If you do substitute a 16F84, you will need to pull MCLR high through a 10K resistor. I believe this design will also work with older SGI machines that use the same proprietary keyboard and mouse that the Indigo uses. The only change would be a different cable from the keyboard converter to the back of the unit.
(click for full size image)
Bill of materials
Here is the bill of materials for the converter. You should be able to find everything you need from Mouser Electronics or Digikey. Many of the parts can also be bought at your local Radio Shack store.
Microchip 16F628 (may substitute a 16F84 for the mouse section)
Maxim MAX232CPE
LM7805 voltage regulator
10mhz TTL clock oscillator
6pin mini-din jack
10uf electrolytic capacitor
47uf electrolytic capacitor
.01uf capacitor
10K 1/4 watt resistor
1K 1/4 watt resistor (optional)
LED (optional)
18 pin socket for PICs
16 pin socket for MAX232 (optional)
PS2 style 6 conductor M to M straight through cable
Proto board for converter (Radio Shack 276-158 works great)
Keyboard Converter Code for PIC 16F628
keyboard version 1.0 (16F628)
Mouse Converter Code for PIC 16F628 (or 16F84)
mouse version 1.0 (works with either 16F84 or 16F628)
Configuration bits while programming the 16F628 chips:

Oscillator: EC I/O
Watchdog timer: Off
Power Up Timer: On
Code Protect: Off
Brown Out Detect: Enabled
Master Clear: Disabled
Low Voltage Program: Disabled
Data EE Protect: Disabled
Questions / Comments Regarding the PS2 to SGI Keyboard Converter
If you should discover a bug or have any questions regarding the keyboard converter, please feel free to drop me an email at