C64 Breadbox Rebuild I (v1.12)

As I wrote under “About Me” I got my C64 to my birthday in 1983, and now I’ve rebuild him. I know there are many “Emu Kits” out there to do this with emulator stations, but… the user interface isn’t that good and I’ve found no good C64 only solution. For the keyboard and the joysticks there is a solution named “Keyrah” (Link), but it doesn’t worked very well with my solution, so I’ve used an Arduino Leonardo Board (Link) for the original C64 Keyboard, and the Sinchai USB Joystick Adapter (Link) for the old Atari Joystick Ports (Link), but you can also use a normal USB HID compatible Gamepad. For smooth graphics I’ve used a Banana Pi M1/M2 (Link). To get a good emulation I’ve modified the source of an available emulator and equipped him with ReSID emulation, a very easy Graphics User Interface, and with autostart after boot.


This is what it looks like after all work is done.


What you need:

  • Original C64 case
  • Banana Pi M1 (with “BPI-M1_Android-4.2.2_v2.1_hdmi.img“) or a Banana Pi M2 (with  “BPI-M2_Android-4.4_V4.1_hdmi.img“)
  • Arduino Leonardo 
  • Sinchai USB Joystick Adapter (or an USB HID compatible Gamepad)
  • Some wires and a Power Supply with 5V/1.2A (6 Watt)
  • My Arduino Leonardo Sketch and the C64.apk (both attached to this post)
  • Also a HMDI Monitor with 720p 50Hz support (if you are using 60Hz then the emu will not produce smooth animations!) 

1. Banana Pi M1 or M2 for the Emulation

Hint: Before you install the C64.apk, you have to go to Android Settings -> Display to change the Display Resolution to 720p 50Hz and set “Screen percent” to fill the whole screen. The Banana Pi M2 is a little bit more robust, because of his 4 CPU Cores (no dropouts, even if you have multiple system events).


2. Arduino Leonardo Keyboard Interface for the Original C64 Keyboard


C64 Keyboard Connector (Restore Key = Arduino Pin 2, C64 LED = Arduino Pin 13): 

C64 O O O O O O O O O O O O O O O O X O X O
Arduino 4 3 A0 A1 A2 A3 A4 A5 12 11 10 9 8 7 6 5 NC 2 NC GND

3. Sinchai USB Joystick Adapter for the old joysticks



C64.apk (Screenshot of the Emulation Menu, scroll up/down with Joystick Port 2)



Special hints: 

– If you want to make the C64 App as default Launcher, open the Android Settings -> Apps -> All -> “TvdLauncher” -> “Launch by default”, click “Clear defaults“, then press C= + ← on the C64 keyboard, select C64 as default Launcher

– Also you have to modify the screen zoom in the Android Display Settings. It has to fit the whole screen.

– If you want to disable the Boot Animation, you can add the line “debug.sf.nobootanimation=1” in the “/system/build.prop” file

– If you want to disable the Boot Logo, you can override the “/mnt/bootloader/bootlogo.bmp” file