Minimig for Chameleon64 V2

2019-03-21

I found out recently that there is now a second version of the Turbo Chameleon 64 cartridge for the Commodore 64. The reason for this is, apparently, that the Cyclone III FPGA that was used in the original design has been superceded and is difficult to obtain at affordable prices. For this reason Individual Computers have redesigned the cartridge to use a Cyclone 10 FPGA instead. The model chosen is essentially the same thing in a different package, so porting cores would simply be a case of recompiling with the new device and pinout as the target – except they’ve also taken the opportunity to make small improvements to the design. For this reason it now takes a little bit of work to port existing cores to the V2 hardware.

I now have an initial build of the Minimig core for V2 hardware, which is available as before on the Minimig TC64 Snapshots page.

Edit: Since the V2 hardware is likely to attract newcomers to the Chameleon platform, I should explain what to do with the two files in the snapshop archive:

  • The fampiga_tc64v2.rbf file is the core itself, and needs to be flashed into the Chameleon cartridge using the Chaco utility.
  • The OSD_CA01.sys file is the firmware for the secondary CPU core that runs the menu system and disk emulation, and needs to be written to the root directory of an SD card. The card will also need to contain a Kickstart image, named kick.rom

Another point to bear in mind is that the core doesn’t yet attempt to translate the C64 keyboard to the Amiga – so far just the run/stop key is used to toggle the OSD – so you will need a PS/2 keyboard to use the core for anything that requires keyboard input.

Source is availabe, as before, on github.

Another Update for the Megadrive / Genesis Core

2018-03-25

Following the SDRAM-related improvements to the Megadrive / Genesis core that I’ve covered in my last couple of posts, here’s an updated snapshot for both the Chameleon and MIST boards:

While it’s still not perfect, the glitches should be much less noticeable, and hopefully there will no more missing platforms or missiles making games unplayable!

Updated Megadrive / Genesis core

2018-03-05

I’ve just made available an updated version of the Sega Megadrive / Genesis core for the Turbo Chameleon 64.  The only change is to the joystick handling – I’ve untangled the joystick directions and remapped the buttons slightly.

There’s still not a lot of point in using a traditional 1-button C64 joystick with this, but I’ve also fixed a bug in my previous attempt which prevented the CDTV infra-red controller from working.  This does now work, and the buttons are mapped as follows:

Play / Pause  =>  Megadrive Start
Volume Up => Megadrive A
A => Megadrive B
B => Megadrive C

I’ve mapped Volume UP to button A simply because it physically feels in the right place.   The CDTV pad isn’t super-responsive, so trying to use for serious gameplay is an exercise in frustration, but it does work, and the controllers are readily available from AmigaKit.

The new core can be found here:  fpgagen_chameleon_20180305.zip

Where did that year go?

2017-12-28

Well it’s been nearly a year since my last post, and in the break between Christmas and New Year I once again have a few spare hours to tinker with projects.  I’ve used a few of these to get the MIST Sega Genesis / Megadrive core working, at last, on the Chameleon 64.

Continue reading

Building for multiple targets

One of the challenges I’ve faced in the ZPUDemos project is keeping the various targets up to date.  When I add a peripheral to – for example – the SDBootstrap SOC, I have to modify each and every target’s project file to match, and it’s very easy to lose track of which ones have been updated and which ones haven’t.

ZPUDemos currently supports no fewer than eight different target boards, and contains eleven different projects – that’s a lot of project files!

In an attempt to make this more manageable, I’ve written some scripts to generate project files automatically, from a list of RTL files, and a board-specific template file.  I’ve taken the opportunity to clean up the whole project, too, so the directory structure is more logical. Continue reading