Poor man's "Keyrah" to connect C64 keyboard to USB (for BMC64 emulator)

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). Pins I used.
- You can also connect LED of C64 to VCC/GND of Arduino. I used 220ohm resistor.
Firmware/flashing
& "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 config file. 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
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) A0(A0/PF7)
// 7(5) A1(A1/PF6)
// 6(6) A2(A2/PF5)
// 5(7) A3(A3/PF4)
// 4 N/C
// 3(8) TX(D1/PD3)
// 2 N/C
// 1(I) 8(D8/PB4)
Issues
- .crt-files doesn't work with C= + F7, so as workaround LSHIFT + F7 is F12.
Issue with shift (fixed in newer BCM64 versions)
- "+", "-", "£", "@" and "*" doesn't produce GFX-chars when shifted
"Repair" rpi_sym.vkm (1.0.9)?
- at 5 6 0 -> 5 6 8
- minus 5 3 0 -> 5 3 8
- plus 5 0 0 -> 5 0 8
- sterling 6 0 0 -> 6 0 8
- asterisk 6 1 0 -> 6 1 8
sed -i 's/5 6 0/5 6 8/g; s/5 3 0/5 3 8/g; s/5 0 0/5 0 8/g; s/6 0 0/6 0 8/g; s/6 1 0/6 1 8/g' rpi_sym.vkm
Links