An interrupt-on-change routine (The PET sets a ROW to read) sets outputs (Columns) for the PET to read back as keypresses. A main loop is created to catch bytes from the PS2 keyboard, Once a PS2 byte ...
The configuration can easily be changed to someone elses liking, the definitions are towards the top of the file. Here is a sample implementation based on the Arduino Nano. On the left you can see the ...