The keyboard interface plugs into the second controller port on the Genesis, and uses a four bit bidirectional bus with handshaking. The protocol is similar to what is used by the Sega Team Player adapter.
Initially I planned to use a PIC16C84 for ease of prototyping, and later switch to a PIC16C54 for low cost. I found that it was too difficult to meet the necessary timings on the keyboard port without using interrupts, because the code might be in the middle of talking to the Genesis when the keyboard wants service.
As it turns out, even the PIC16C61 costs too much to use in production, so a Korean mask-ROM 8-bit part is being used instead.
Last updated June 2, 1995
Copyright 1995 Eric Smith