KungFu Flash, the multi-game cartridge for Commodore 64
KungFu Flash is a system capable of emulating cartridges from .PRG files and .D64 disk images. Just copy the CRT, PRG or D64 files to a microSD card and launch them via its built-in selection menu. Do you want to know how Kungfu Flash works? we tell you about it below.
KungFu Flash at a glance
The KungFu flash cartridge has 3 buttons, a reset button, a menu button to start the launcher, and a special button that is used by action replay or final cartridge type cartridges to save the current running state of the game or program and save to disk or tape.
Kung Fu Flash cartridge box
The kung Fu Flash PCB fits perfectly into the original cartridge box, you just have to make some holes for the buttons and make a cutout for the microSD card. If you have mounted the USB connector you will also need to make a hole for it.
Another possibility is to 3D print a cartridge sleeve such as the designed by bigbyBut if you don't have a 3D printer or you prefer to receive the cartridge with its own box, we have our own design that we can provide you with the Kung Fu Flash cartridge.
Kung Fu Flash cart Commodore 64/128
Do you know the Easy flash 3 cartridge? we have an article in which we explain how it works in detail.
Kung Fu Flash PCB
The gerber files and the BOM can be found at here. All updates to this project are available on the KinJorgensen's GitHub.
Cartridges supported by Kung Fu Flash
The following types of cartridges are currently supported:
- Normal cartridge (8k, 16k, Ultimax)
- Action Replay v4.x/v5/v6
- KCS Power Cartridge
- Final Cartridge III(+)
- Simons' BASIC
- Fun Play, Power Play
- Ocean type 1
- Epyx Fastload
- C64 Game System, System 3
- Dinamic
- Zaxxon, Super Zaxxon
- Magic Desk, Domark, HES Australia
- Super Snapshot v5
- Comal-80
- EasyFlash
Supported file types
The Kung Fu Flash system currently supports the following file types:
- Cartridge (CRT)
- Disk image (D64, D71, D81)
- Program (PRG, P00)
- Firmware update (UPD)
Cartridge programming via USB port
The USB port is active while the launcher is running, allowing programs to be transferred from a PC using the EasyFlash 3 USB protocol. KungFu Flash is detected as a standard serial port when connected to the PC. No custom driver installation is required, a new COM device will appear when the usb is connected.
Kung Fu Flash uses a modified version of EasyFlash 3 USB Utilities.
Firmware update
To update the firmware of the KungFu Flash cartridge just place the file KungFuFlash_v1.xx.upd on the SD card and select the file in the launcher to start the firmware update. The latest firmware can be found here.
Limitations
Kung Fu Flash is a software-defined cartridge where a fast microcontroller emulates the cartridge hardware in its programming. This makes it extremely flexible, allowing different types of cartridges to be supported at relatively low cost.
Kung Fu Flash will only work with the PAL version of the Commodore 64 or Commodore 128. The NTSC version is currently not supported. Disk drive emulation is using kernal vectors and will not work with fast loaders. REL files are currently not supported and there is no write support.
Kung Fu Flash is based on and uses parts of other open source projects:
- EasyFlash 3 by Thomas Giesel
- Draco Browser by Sascha Bader
- fatfs-stm32 by Aurelio Colosimo
- FatFs by ChaN
- libusb_stm32 by Dmitry Filimonchuk
- stm32f4-bare-metal by Furkan Cayci
- OpenC64Cart by Giorgioggì
- EasyFlash 3 USB Utilities by Tomaz Kac
- Disk2easyflash by ALeX Kazik