BMC64 is a bare metal C64 Emulator (using VICE) for the Raspberry Pi (Models 2 & 3). There is no bloated O/S to boot and the emulator has direct access to hardware resulting in better performance than the Linux based distributions. VICE dependencies are satisfied using circle-stdlib.
GitHub Link: https://github.com/randyrossi/bmc64
- Quick boot time: ~7 seconds!
- True 50hz/60hz smooth scrolling (no horizontal tearing or jitters!)
- Extremely low latency between input and audio/video
- Excellent audio/video synchronization
- No need to issue a shutdown sequence, just power off
- Supports wiring real joysticks via GPIO pins (optional) Click Here for adapter build instructions
NOTE: Versions 1.0.6 through 1.0.8 were prone to lock up on Rpi3. If you are having this issue, please try 1.0.9.
- Burn to SD card
- Linux: sudo dd if=bmc64-1.0.9.img of=/dev/sdx bs=64k (make SURE /dev/sdx is correct!)
- Windows: Use etcher or Win32DiskManager
- You MUST obtain at a minumum Commodore 64 KERNAL, CHARGEN, BASIC, and d1541II rom files and copy them to the sdcard. The emulator will not run without them. These are available from many sites.
- Copy to your SD card your .D64/.TAP/.CRT files. They must reside in the root directory.
- All USB devices must be attached before you power on the PI. They must remain plugged in or the emulator will not function.
- F12 brings up the menu (or Commodore Key+F7 if enabled)
- README for more details.
These measurements were reported by _kieferkn/i:/stern _'s video "C64 Hardware -TheC64 mini Input Lag Test" video
|Real C64||0 frames |
|Real C64 + Framemeister HDMI Upscaler||3 frames |
|Ultimate 64||1-2 frames ||See video for measurement.|
|C64 Mini||6-7 frames ||Agrees with 8-bit guy|
|Vice2.4 Desktop||6 frames ||What O/S, processor,etc? Seems high. Default settings?|
|BMC64||2-3 frames using GPIO|
4-5 frames Keyrah+DB9
? frames using USB gamepad
|Measured using an oscilloscope on composite out + GPIO/Keyrah, more details to follow.|
Special thanks goes out to my friend Ryan Daum for his advice and technical guidance on this project!