Saturday, January 5, 2013

Evaluating the Turbo Chameleon 64

On one of my last posts I've mentioned the Turbo Chameleon 64 that I've given myself as a Christmas present for 2012 :3. Also as I started a blog I thought myself it would be cool to review this litte beast.

Reconfigurable computers are something really fascinating. They bring back the devices of our childhood in hardware manner even if the original ones are not existing anymore. (I'm still asking myself If my Amiga is still functional in 2030 :-D)

During the last years a lot of projects were creating implementing a device like this. To name a few:

C-One (2002?) C64, Amstrad CPC, ZX Spectrum and Minimig Port (look below)
Minimig (2007?) Amiga 500 compatible
MMC-216 (?) Amiga 500, C64, Atari 2600, Apple II
Turbo Chameleon (2011?) Minimig Port, C64, ZX Spectrum

The list is very incomplete and I don't claim that it is correct! I might have forgotten some cores and some products.

There are also some other projects on the way that seem to be not complete yet. The natami (Native Amiga) and the FPGA Arcade Replay Board. These seem to have working hardware for developers but not yet anything to sell to customers.

Well again I'm way of. :-D Lets return to the chameleon.

I have to be honest. I haven't bought myself a reconfigurable computer until now. (I've built one 2 years ago... more of that later). As I'm a retro nerd I bought all of my homecomputers in their original hardware as I've feared that the cores aren't really authentic or compatible yet.

Let's see If I was right.

At the time of writing I investigated the state of development with these cores:
  • Beta-8c (nov 22 2012) Chameleon Core as C64 Core
  • minimig core by tobiflexx (may 17 2011) as the first amiga core
  • minimig core by retroramblings (jan 1 2013) as the second amiga core
  • spectrum 48k and 128k core v2.1 by Alessandro Dorigatti. (Oct 12, 2012)
I also use the docking station that let's you connect a real c64 keyboard or an amiga 500 keyboard (haven't tested it though) and 4 joysticks or mice.

My setup. Isn't it cute? Of course it's compatible to my Wiimote-Adapter :3
Even without the docking station you are able to connect a mouse and a keyboard using the ps/2 ports. The tests were made using two very old TFT monitors with 1280x1024 from ~2005 (asus and videoseven) and a samsung hd ready tv from 2007.

Let's dive in !


As it comes preinstalled with the system I first tried this one after first updating it to the latest version. The chameleon is surprisingly flexible as you can use it with or as an c64. Yes you've read correctly.

Originally the chameleon was intended to be a expansion for your already existing commodore. It acts as somekind of mirrored chipset as you can decide which part of your hardware shall be implemented by the original device or the chameleon as it itself implements a sid, a vic II, a 6510 core (speed up) and a floppy station. There is even more but It's not my job to advertise it....

The question is .... do you need it connected to your already existing and working c64.... well....

It sure is an enhancement if you don't own a floppy station as the emulation seems to be really accurate with the games I've tested. But you still have to remember to enable it. Per default, the chameleon copies the program inside the image into the memory and executes it. In case of single loader games this is a quite good solution but not with multi loaders which need a real access to the image.

The SID emulation is quite limited. Even the VICE emulator is more accurate as the filters are missing at the current version. Let's see.... I own a real C64 because I want to have an authentic sound. There do exist hardware solutions for your pc because people in general like an authentic sound. The chameleon is still beta so I'm not allowed to nag about it. I just want to point this one out as I've first read about the limitation inside the manual.

The VIC emulation is accurate as far as I can tell. It's even very compatible to your monitor as you can choose between a few resolutions and frequencies. (The C64 in europe uses PAL. PAL uses 50Hz. VGA is minimum 60Hz). Per default 800x600@72hz is used. This seems to be usable but of course I've tried a little bit to improve. It turned out that 640x480@50 hz gives me an out of range. 640x480@60hz and @72hz gets me a strange crippled display. Any bigger resolution like 1024x768 has the effect that the display of the c64 is reduced to a very small window and the borders get somewhat big. With my setup the best result is archived using 800x600@50hz. This is even the true vertical frequency. I don't understand why @50hz is sharper than @72hz. I guess it has something todo with the monitor cable and inductive disturbance as the frequency is higher. Apart from that I'm happy with the picture. The colors are different but... hey... every C64 has different colors because of manufacturing differences at the analog circuit.
Original video comming from the C64 on a 1084 monitor

At the same time the output of the chameleon
Sadly I get some motion blur during side scrollers. But this doesn't mean the chameleon is bad. It means my TFT monitors are ready to be discarded >:-(.

Apart from that the chameleon is able to act as a third party cartridge. I've tested the "Final Cartridge 3" as I also own a real one. Really helpful for loading acceleration. ;-).

Without a real c64 in standalone mode it's pretty much the same experience as if you would use your real c64 with an chameleon and don't use the original video and audio output. The ps/2 interface does it's job as the keyboard. I haven't tried it but you can use it even as an external floppy emulator using a IEC cable.

Another feature worth to mention is the file browser which lets you operate with d64 files. You can copy d64 images to floppy (very slow!), copy files inside the image, copy files from the image and you can play SID files on the sd card. This features is just AWESOME ... but not yet perfect. I experienced a few files (e.g. Katakis) that are not playable. But I guess this is not the fault of the sid player as this particular file is also not playable with sidplay64. I'll assume it has something to do with the programs loading address of the player program.


It works and does it's job. I really need to revisit this one with another monitor someday. At the moment I still prefer my real C64 with accurate sound and with a "high definiton" 1084 monitor as it seems to be the more retro way. Also I like the sound of my "environmental disaster" which is the correct name for the 1541 disk station :-D.

To copy disk images to real floppy the Chameleon is nearly unusable as you copy about 8 images with your XM1541 when the little yellow pal has finished the first.

If you do own a 1084 because you already have an amiga, choose wisely. You still need a floppy station and some games if you go for the real c64. I spent about 95€ on all my c64 hardware if I remember. If you don't like working with floppyedy floppies go for the chameleon. The fact the sid filters are missing is not THAT big of a deal as most of the times you won't hear the difference while playing the game.


This was the reason I've decided to buy the Chameleon in the first place. I've got a huge love for my Amiga and wanted to know how well the Minimig core manages to recreate it. I have to say that I have never seen the original minimig in live action. So this is my first time experiencing it with this port.

After putting everything needed onto the sdcard (kickstart and menu code) I started it up and instantly got a problem.
Test of the minimig core with a videoseven tft
As you can see the aspect ratio is wrong and some part of the image is missing. What really saddens me is that this monitor doesn't allow a manual setting of the picture in vertical ways but only horizontal. This way it's impossible to get to the missing lines at the bottom.

The Amiga has the same problem as the C64 if you want to connect it to VGA but in some sort of extended version. The info screen of the monitor tells me it's displaying 640x480@50Hz. This is wrong as it should be something like 640x512. I guess the monitor is unable to recognize the correct resolution and tries to find something similar. But the used mode is not out of range so I still get a picture displayed.

Then I tried it with my asus monitor.

Test of the minimig core with an asus tft
Argh!! The image fits perfectly. The aspect ratio seems to be correct and the picture is complete. But an ugly little window is displayed by the monitor. It says "AUSSER BEREICH" which is german for "OUT OF RANGE". I pressed all buttons but I doesn't want to go away >_<. The Samsung TV on the other hand just shows a black screen with "Not supported mode".

You have a problem here as you should use the amiga in PAL mode for compatibility. An alternative would be the usage of the NTSC mode which apparently solves the issue as it has a native resolution of 640x400@60hz which fits VGA a little bit better. But for what price. The games and their music are running to fast. Not to mention the PAL only games out there.

Apart from that the system seems to work. I can select ADF images, the game starts and I can play. The audio output is of really good quality.

I did have a few problems with the harddrive though. This minimig core offers you to select different styles of harddrive. It could be a HDF file in RDB mode that you might know from WinUAE and you can use a partition or even the whole sd card. The latter ways should be more performant in theory as the overhead of FAT management is not existend...
So I first tried to use a partition of the sd card as a harddisk but I couldn't get it mounted in linux. Keep in mind that you have a MBR partition table inside your sd card. Inside on of the partitions is a harddrive image with another RDB partition table. Linux was unable to understand that. We shouldn't even start talking about windows at the moment. Normally this works as I am able to mount the harddrive of my amiga 1200.......
But after using the HDF file I created with WinUAE everything went ok.

One thing I have to mention is that it is an amiga 500 with a lot of RAM and nothing more or less. Before buying the Chameleon I was used to some programs that need a 68020 as for example the great WHDload launcher iGame (has nothing to do with iPhone or iPad :-P). The core offers the optional cpu core called "020 alpha" and alpha is the name of the game as iGame crashes with the "guru 8000 0008". I'm used to some other type of guru message with iGame which tells you to replace the render.library. But no use here.... I guess the 020 core is still incomplete and a not yet functional instruction is used.

But a launcher is not essential to make WHDLoad work.... and It works as great as I am used to it on my 1200.

One thing I discovered (and should send to the author of the core) is a bug in the ps/2 to amiga mouse emulation that you might want to use if you don't possess a real amiga mouse which is unlikely as they break really fast....
A favourite game of my childhood is "Shufflepuck" which is a funny game about "air hockey". You control your paddle with the mouse and while doing so you do some fast movements with your hand. Now let's get technical:

--- technical stuff start ---
I assume the translation works just like yet another ps/2 to amiga mouse adapter. The adapter collects movement which is stored inside a variable. This variable is dec- or incremented as soon the adapter is able to quadrature modulate the movement to simulate the protocol that is used by normal mouses.
If you have a bad ps/2 adapter this variable is only 8 bit and tends to overflow. This way a fast move to right is converted to a fast move to the left for example. This is why my adapter has a speed setting and a 16 bit variable for the movement collection.
--- technical stuff end ---

So if you allready have a ps/2 adapter for your real amiga use this one as soon you get problems. Of course these do not appear on the workbench. it's just on games.

Now let's talk about compatibility. I've tried some games and a lot were working like a charm. One game that I somehow liked because of the soundtrack from Chis Hülsbeck is "Jim Power". I couldn't get this one working. I tried the WHDLoad version and one ADF image I've found. The ADF version simply crashes as soon a level starts. The WHDLoad one has no enemies :-D !!!! I'm totally unable to explain this.

-- Conclusion --

I really have to revisit this one with some newer monitor. A wrong display is simply annoying. To be fair I think I would get this result even if a put a scandoubler on a real amiga. Maybe it's possible to somehow transfer the video signal to a higher vertical frequency or scale it in hardware. But the first thing will lead to jumps or tearing and second would result into a bad quality. It's pretty difficult to decide here. The displayed picture is pretty sharp if you work with your workbench. It just reminds me of ... WinUAE :-D

There is a philosophical question about the difference between an software emulator and a fpga... I don't feel like discussing this right now. I just think about an amiga inside a raspberry pi. I wonder if this would work.

If you don't own a real amiga 500 or a amiga 1200 it might be some nice option. But if you own a 1200 together with turbo card and some great monitor I think you go better with this one. With the minimig port you miss the 68020 cpu and the AGA chipset which is needed by some games. I just think about "Super Stardust".

ZX Spectrum

Yay the Spectrum ! A lot of people I know are aware of the existence of the amiga 500 and the C64. But the Spectrum seems to be not that popular. Why? The original version doesn't has a sound chip (only a pc like speaker), no sprites and very limited graphics. And no floppy disk. Only the last Spectrum offers a disk drive... with 3" disks... :-O
And you thought 5 1/4" was strange
On the other hand the Spectrum offers some kind of charm and I somehow like the flare of it. So let's have a look at the spectrum core.

After putting everything needed to the sd card the spectrum boots directly into 48k BASIC which you either love or hate. Even the 128K core just uses this BASIC. I'm unable to understand that at this moment. The picture is kind of sharp and stable on the videoseven monitor. The Samsung TV says it's an unsupported mode.

This core has some very fascinating aspect as no tape drive is emulated. Instead it makes use of esxdos which is a firmware for a device called the divide. I don't want to get too technical yet but all you do for playing a game is pressing ShiftLock. After that a filebrowser starts up that lets you select some type of images. .Z80 and .TAP files do work well. .TZX, the most popular format is not supported but there is a reason for it.

.Z80 ist a simple snapshot format of the machines state. esxdos just takes it puts it into the RAM and starts it. Its kinda like starting a .PRG file on the C64.
.TAP is a tape image format more or less as it contains no pulsedata. Instead it contains the blocks of data that are saved on tape. No pulses but the data that is represented by them. This way this format is of course not useful for games with copy protection that tend to have crazy pulses to confuse normal loaders. But here is the trick. As you allready have the wanted data in it's wanted form esxdos seems to be capable of replacing the tape loader in the ROM and redirects the call to an internal handler to read tape data without a tape deck. I hope that wasn't to confusing. The effect is somewhat ingenious as this Spectrum loads tape images that are loading 3 minutes on a real device in an instant blink of an eye! I was simply amazed.

The downside is that you are unable to use .TZX images containg pulse data which are in general prefered If you use emulators. But that shouldn't be that big of a matter.

I tested a few games and all of them started and were playable for a few minutes (I didn't tested them fully)

Sadly I do have a problem with the mounting process with my sdcard. After you start the core the boot screen of esxdos is visible for a moment and then disappears to leave you alone in basic. After reading the manual and wildly penetrating the ShiftLock key I figured out that it failed to mount the card. The manual says you have to hold Space and press Esc, release Esc but keep Space holding. The boot screen of esxdos reappears again to flicker around desperately trying to get your card working. After a few flashes it says ok and you are allowed to press Esc again which resets your system to BASIC. And then ShiftLock gives you the launcher as promised.

I also found another solution that seems to work. After booting your Chameleon to the C64 core which it does normaly, remove the card and reinsert it. The next launch of the spectrum core seems to initialize the card directly on the first try. A little bit annoying... I guess the sd card initialisation code has to be fixed.

Also under normal circumstances you are unable to run "Turrican 2". I've mailed Alessandro Dorigatti and instantly got an answer. He mailed me that this game is a 128k game that also needs the 128k BASIC. He has given me instructions to get it working as it seemed to be an issue with esxdos. I don't know if I'm allowed to post that here but the reader sure knows where to dig^^. I want to thank Mr. Dorigatti and the author of esxdos for the fast help.

-- Conclusion --

The Spectrum Core works very well and is a real alternative to a real spectrum. I didn't have any issues with my monitor and the core of course also offers a kempston interface for your docking station. My personal highlight is the ultrafast loading of games which take about 3 to 34 minutes to load on a real machine. I could enjoy playing with this one instead of my real +2A system....

The Big Conclusion

If you are
  • crazy about fpga technologies,
  • crazy about reconfigurable computing,
  • thinking about buying a
    • minimig,
    • c-one
    • <place another similar product here>
  • a retro nerd,
  • or crazy in general
you should consider buying the chameleon. But if you are
  • not willing to experiment with possibly buggy cores and monitor modes
  • somewhat SID audiophile (if need the C64)
  • a high-end amiga user (if you need the minimig core) 
  • a xilinx fanboy that wants to hack that thing (it uses an altera fpga)
you problably won't be happy with it.

No comments:

Post a Comment