Commodore 16 / Plus 4

This is a port of the MiST Commodore 16 / Plus 4 core to the Turbo Chameleon 64 cartridge.

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.

C16 / Plus 4 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:

C16 / Plus 4 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:

Currently supported:

  • .PRG files
  • .TAP files
  • 6581 and 8580 SID emulation (from the MiSTer C64 core)
  • C64 keyboard / joystick
  • CDTV joypad

Not yet supported

  • .D64 files

ROM

The core requires a ROM file in the root of the SD card, called C16.ROM An example ROM file can be found at https://github.com/mist-devel/mist-binaries/tree/master/cores/c16 or you can create your own by joining together ROMS found in, for example, the VICE package. The ROMs should be concatenated in the order:

  • C1541
  • Kernal
  • Basic
  • Function LOW
  • Function HIGH

The function ROMs are optional – they provide the inbuilt software found in the Commodore Plus-4. Without the core will be a C16 (albeit one equipped, optionally, with 64k of RAM.)

Controls

The C16 keyboard is emulated via the PS/2 keyboard, and the C64 keyboard is more-or-less mapped directly. This means that the keys on the C64 will do what the equivalent key on a C16 keyboard in that location would do. In other words, the keys’ function won’t match what’s printed on the C64 keycaps!

Other keys:

FunctionPS/2 keyboardC64 keyboardCDTV controller
MenuF12
Power
Play/Pause tapePlay/Pause

The tape play/pause function can also be accessed via the menu.

Hold the menu button for 1 second or longer to toggle the scandoubler on or off.

Source code for this core can be found at https://github.com/robinsonb5/c16/

The core is based around a TED implementation by Istvan Hegedus, and includes components writted by Mark McDougall, Michel Stempin, Stephen A. Edwards, Gideon Zweijtzer, Daniel Wallner, MikeJ, ehenciak, DarFPGA, Alexey Melnikov, Till Harbaum, Gyorgy Szombathelyi and Nino-porcino.

The Turbo Chameleon 64 port wraps the MiST core in a compatibility layer (DeMiSTify, by Alastair M. Robinson), and makes very few material changes to the core itself. It does, however, include the newer SID implementation from the MiSTer C64 core, by Alexey Melnikov, with the lookup tables’ representation adjusted to be more space efficient by Alastair M. Robinson.