This page is the home of the Sega Genesis / Megadrive FPGA core ported to Turbo Chameleon 64.
This is an experimental core, and while I do my utmost to make sure it works for everyone and will try to help solve any problems that arise, you run this core entirely at your own risk.
If you’d like to show your appreciation for this core, or motivate me to work on this and other cores in future, donations are welcome at https://paypal.me/robinsonb5 or https://patreon.com/coresforchameleon. Anyone donating £20 or more via PayPal or sponsoring on Patreon at the second tier will be thanked by name in a “Core Supporters” shout-out page in subsequent releases.
Please note: it’s vitally important that you download the correct version of the core for your Chameleon.
FPGAGen for Chameleon V1 hardware: If you have a single mini-DIN socket on the left hand side of your Chameleon, to which a breakout cable attaches for the keyboard and mouse, then you have V1 hardware and need this version:
- FPGAGen_TC64v1_20210515.zip – If you’re having SD-card related issues on V1 hardware, please try this core instead.
- FPGAGen_TC64v1_20210512.zip – Port of MiST core, bringing cycle-exact CPU and major graphical improvements to the Chameleon.
FPGAGen for Chameleon V2 hardware: If you have three mini-DIN sockets on the left-hand side, with the keyboard and mouse plugging in directly, you have V2 hardware, and need this version:
- FPGAGen_TC64v2_20210512.zip – Port of MiST core, bringing cycle-exact CPU and major graphical improvements to the Chameleon.
Using the core
Flash the .rbf file into your Turbo Chameleon 64 using the chaco utility.
Optionally, copy the autoboot.md ROM to your SD card.
Since the Turbo Chameleon 64 can’t support more than three gamepad buttons via the DB9 ports, the extra buttons are mapped as follows:
Gamepad 1
Gamepad button | PS/2 keyboard | C64 keyboard | CDTV controller |
---|---|---|---|
Start | Enter | Return | Play* |
Button A | Right shift | Right shift | Volume up* |
Button B | Right Ctrl | Button A | |
Button C | Right Alt | Button B |
Gamepad 2
Gamepad button | PS/2 keyboard | C64 keyboard | CDTV controller |
---|---|---|---|
Start | Caps Lock | Run/Stop | Play* |
Button A | Left shift | Left shift | Volume up* |
Button B | Left Alt | Button A | |
Button C | Left Ctrl | Button B |
* The CDTV controller has a slide-switch which selects whether D-pad and A/B buttons are directed to port 1 or port 2. The core keeps track of which port is selected, and directs the Play and Volume Up events to the same port.
Other keys
Function | PS/2 keyboard | C64 keyboard | CDTV controller |
---|---|---|---|
Menu | F12 | <- (top left) | Power |
The built-in scandoubler can be toggled by holding the menu button down for a period of 1 second or more.
Source code can be found at github, as usual – see https://github.com/robinsonb5/fpgagen/tree/demistify
Huge thanks to everyone who’s supported my projects in recent months – it’s very much appreciated.
FPGAGen was originally written by Gregory Estrate, with audio implementation by Jotego. The MiST port by Phoboz and Till Harbaum with massive improvements to graphics / RAM handling by Gyorgy Szombathelyi.