Close

Systems Integration

A project log for OSI Challenger 4P Reproduction

I am making a full sized Challenger 4P reproduction, a 6502 based personal computer from the late 1970s.

michael-gardiMichael Gardi 02/28/2023 at 01:380 Comments

Well the case is done, the keyboard is assembled, and the Challenger 4P emulator is running on the Raspberry Pi 4. I guess it's time integrate all the pieces.  To that end the only real task is to wire the keyboard to the Pi and write the emulator Python code to read the hardware keyboard keys. 

We are ready to wire the keyboard to the Pi. I'm using the header on the encoder labeled SOL-20. The pinout looks like this.

The keyboard encoder is expecting 5V while the Raspberry Pi 4 operates at 3.3V. So to overcome this I purchase a Voltage-Level Shifter Module from Amazon. 

Here is how I wired the keyboard. Note that for the exception of +5V and GND lines which are wired to the 3.3V side or the level shifter, all of the other connections are wired to the 5V side.

Keyboard EncoderRaspberry PiDescription
5V5VPower
GNDGNDGround
D0GPIO5Key 0 bit (low)
D1GPIO6Key 1 bit
D2GPIO12Key 2 bit
D3GPIO13Key 3 bit
D4GPIO19Key 4 bit
D5GPIO16Key 5 bit
D6GPIO26Key 6 bit
D7GPIO20Key 7 bit (high)
STROBEGPIO4Key ready on falling edge.


Once the wiring was complete I update the emulator's keyboard.py code to detect and process key presses from the keyboard.  Note that you can still run the emulator without attaching the "special" keyboard and just use the PC's keyboard. I have posted the updated keyboard.py file to github

Here is what my little integration test looks like.

The emulator can be seen running on the small LCD screen.  Keyboard seems to be working well.  Ready now to insert everything into the case.

Discussions