Adafruit ItsyBitsy version
This hardware and software allows a Commodore 64 or Commodore 128 keyboard to be used as a USB HID keyboard. The use of ItsyBitsy allowed all the extra lines necessary to support the extra keys added for C128. ItsyBitsy is an alternate form factor related to Arduino Leonardo with all the extra lines of the 32U4 present. The ATmega32U4 has the ability to directly act as a USB HID device in conjuction with the Arduino keyboard library. Utilizing a DB-25 to 0.1" 2.54mm pitch dual row pin socket adapter for the first hand soldered and wired circuit board to make it both easier to build and semi-permanent.
Status: Working 88+ key solution. Multiple keys pressed on same row issue has been resolved (only one column output must be active at one time, otherwise change column to a HIGH-Z input to avoid competing low and high outputs).
Multiple branches are present for this repository
- main - merge from ninetyone_hid_itsy_bitsy
- ninetyone_hid_itsy_bitsy - working C128 HID driver using Adafruit ItsyBitsy
- ninetyone_serial_itsy_bitsy - working C128 serial scancode 0..88 + RESTORE, CAPS, DISP reporter to USB serial using Adafruit ItsyBitsy
- sixtyfour_hid_pro_micro - working C128 HID driver using Arduino Pro Micro
- sixtyfour_serial_pro_micro - working C64 serial scancode 0..64 + RESTORE reporter to USB serial using Arduino Pro Micro
- ninetyone_tx2_itsy_bitsy - working C128 serial scancode 0..88 + RESTORE, CAPS, DISP reporter to software serial (pin 2, instead of I2C data) using Adafruit ItsyBitsy designed for wired connection to M5Stack C64/C128 emulator (M5CoreS3, etc.)
- vic20_sixtyfour_serial_itsy_bitsy - working Vic-20 serial scancode 0..64 + RESTORE reporter to USB serial using Adafruit ItsyBitsy (changing I/O pins to match Vic-20)
- vic20_sixtyfour_serial_itsy_bitsy-xlat-from-c64 - working Vic-20 serial scancode 0..64 + RESTORE reporter to USB serial using Adafruit ItsyBitsy (alternate converting scan codes internally from C64 to Vic-20)
Commodore Vic-20, 64, 128 keyboards are hardware compatible with the 128 adding additional columns and lines for an extra 26 keys. But the Vic-20 scan code numbering is different because the lines are connected to the I/O chips in a different order, and the scan code is calculated differently.
Notes:
RESTORE key mapping not included in this iteration.
WARNING!!! wiring has changed between various commits.
Always review DB-25 to Pro Micro wiring instructions which are in source code comments.
Links