1
0
mirror of https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter synced 2024-11-13 12:45:01 -05:00
Arduino-USB-HID-RetroJoysti.../C64_keyboard/README.md
2019-02-18 10:27:25 +02:00

67 lines
2.4 KiB
Markdown

# Poor man's "Keyrah" to connect C64 keyboard to USB (for BMC64 emulator)
![Controller](https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/raw/master/C64_keyboard/Soarer_controller_for_C64.jpg)
## Building
- Solder all keyboard connector pins to Arduino Pro Micro.
- You can solder Restore key (connector pin "I") paraller to some other pin. I soldered "I" and "G" to Arduino pin A8. (this is actually not needed, because there is one free pin left)
- You can also connect LED of C64 to VCC/GND of Arduino. I used 220ohm resistor.
## Firmware/flashing
- Download Soarer controller firmware: https://geekhack.org/index.php?topic=50437.0
- Install Arduino IDE
- Connect RST to GND couple of times to get Arduino Pro Micro to programming mode (notice that com-port is different in programming mode in Windows)
- Flash firmware
```
& "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -p m32u4 -c avr109 -P COM5 -b 57600 -U flash:w:firmware\Soarer_Controller_v1.20_beta4_atmega32u4.hex:i
```
## Setup
- Download configfile. Check pin order to match your setup.
- Compile and upload config file to Arduino Pro Micro
```
.\scas C64_matrix.sc C64_matrix.bin
.\scwr C64_matrix.bin
```
## Testing
- https://keycode.info/
## Pins I used
```
// Pin Label
// 20(A) 2(D2/PD1)
// 19(B) 3(D3/PD0)
// 18(C) 4(D4/PD4)
// 17(D) 5(D5/PC6)
// 16(E) 6(D6/PD7)
// 15(F) 7(D7/PE6)
// 14(G) 8(D8/PB4)
// 13(H) 9(D9/PB5)
// 12(0) 10(D10/PB6)
// 11(1) 16(D16/PB2)
// 10(2) 14(D14/PB3)
// 9(3) 15(D15/PB1)
// 8(4) 18(A0/PF7)
// 7(5) 19(A1/PF6)
// 6(6) 20(A2/PF5)
// 5(7) 21(A3/PF4)
// 4 N/C
// 3(8) TX(D1/PD3)
// 2 N/C
// 1(I) 8(D8/PB4)
```
## Issue
- "+", "-", "£", "@" and "*" doesn't produce GFX-chars when shifted
## Links
- https://geekhack.org/index.php?topic=50437.0
- https://deskthority.net/workshop-f7/soarer-s-keyboard-controller-firmware-t6767.html
- Soarer_Controller_v1.20_beta4.zip (26.10.2013)
- https://www.waitingforfriday.com/wp-content/uploads/2017/01/C64_Keyboard_Schematics_PNG.png
- http://kookye.com/wp-content/uploads/2016/02/Pinout-ProMicro.jpg
- I used this as starting point: https://github.com/abzman/Keyboard-config-file/blob/master/C64_matrix.sc
- C64-emulator for Raspberry Pi 2/3: http://accentual.com/bmc64/