Master System core

This page is the home of the Ben0109’s Master System core, ported from the MiST version 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 or 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.

Master System 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:

SMS 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:

Using the core

Flash the .rbf file into your Turbo Chameleon 64 using the chaco utility.

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 buttonPS/2 keyboardC64 keyboardCDTV controller
SelectRight shiftRight shiftVolume up*
Button ARight CtrlButton A
Button BRight AltButton B

Gamepad 2

Gamepad buttonPS/2 keyboardC64 keyboardCDTV controller
StartCaps LockRun/StopPlay*
SelectLeft shiftLeft shiftVolume up*
Button ALeft AltButton A
Button BLeft CtrlButton 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

FunctionPS/2 keyboardC64 keyboardCDTV controller
MenuF12<- (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

Huge thanks to everyone who’s supported my projects in recent months – it’s very much appreciated.

The SMS core was originally writen for the Papilio platform by Ben0109 – see The MiST port contains contributions from Till Harbaum, Alexey Melnikov, theflynn49, Gyorgy Szombathelyi, GreyRogue, Shane Lynch, Enforcer831, kitrinx, SegaSnatcher, Yimmers, blue212, SegaSnatcher and Alastair Robinson