Chameleon FAQ

From IndividualComputers
Jump to: navigation, search
  • Since the Chameleon emulates an entire C-64, doesn't it degrade the C-64 into a fancy docking station?

No. A lot of the original ICs are still used in cartridge mode. Similar to the CMD SCPU, the Chameleon replaces the following things:

  • The CPU
  • The main memory (RAM)
  • BASIC and Kernal (ROM)
  • The MMU/Memory mapping (PLA)

Additionally, due to how the VGA output is produced, some tiny details related to the VICII memory fetching also need to be done by the Chameleon. Crucial for the chameleon to work is the CPU being replaced, because this is required to "know" the current state of the processor port ($00/$01). Replacing Memory is needed for the turbo mode to work (the internal memory can only be accessed at 1Mhz).

In particular the following things are not replaced: CIA, SID, VICII, plus most of the glue logic - which is the reason for why it is currently still more compatible in cartridge mode than standalone (where everything runs on the chameleon, of course)

  • I still use a tv or svideo monitor, can the Chameleon be used without a VGA monitor?

Yes. The 1541 drive emulation, freezer, clockport, MMU, REU and even the turbo are usable. Even with turbo mode enabled the VIC-II screen will be active and usable.

  • How can the VGA display the C64 screen?

Inside the Chameleon is a replica of the VIC-II chip. All register updates and memory accesses are send to both the original VIC-II chip and the replica. This "digital-cloning" approach gives much better VGA display quality compared to sampling and upscaling the composite signal.

  • How does the Chameleon deal with C128 machines?

Chameleon is a C64 cartridge. It does not work in the C128. Don't even try, as this might cause damage to the computer, the cartridge or both. Don't experiment, it can not work and you risk damage to valuable equipment that's not covered by warranty.

  • How does the Chameleon deal with SX-64 machines?

Chameleon is fully compatible with a SX-64 machine. On some machines the copying of the kernal ROM doesn't work. This option can be disabled in the menu until a fix is implemented.

  • How does the Chameleon deal with C-One machines?

There is a port of the Chameleon core for the C-One and can be downloaded for free. This replaces the FPGA-64 core (the PAL and NTSC C64 emulation core). The cartridge itself will NOT function correctly when placed in the C-One.

  • Is there SCPU (Super-CPU) / Flash-8 compatibility planned for the turbo mode?

No, the 6510 code comes from the FPGA-64 project. We don't have a 65816 compatible emulator yet. Also getting reliable 20Mhz cycle-exact operation with SDRAM is not easy. Especially as the VGA frame buffers, diskdrive emulation and REU are also using the SDRAM at the same time.

  • Is there DTV compatibility planned for Chameleon?

No, unlikely to ever happen. The DTV started life as a C64 emulator. So then we are emulating an emulator (not a real good one either). Not all the quirks of the DTV are yet known and documented. Also it neither has a true 6510 cpu emulation nor is it 65816 like. So that would require designing a complete new processor based on reversed engineerd DTV specs.

  • How fast is the 6510 based turbo?

Between 10 to 14 times faster for tight loops that only access memory (e.g. decrunchers) and between 4 and 6 times for I/O heavy apps. Basic programs run about 12 times faster on average. Look at some Benchmarks !

  • Isn't the 6510 a bit limiting with its 64 Kbyte memory range, making the Chameleon a bankswitching nightmare?

Bankswitching is indeed supported (and sometimes necessary). You can for example map different kernals in the E000-FFFF area. Also rom cartridges at 8000-9FFF can be emulated with the bankswitching logic. A MMU block allows the 6510 to access all of the 32 Mbyte memory in 4 Kbyte blocks, but some areas are reserved for the freezer cartridge emulator and Chameleon configuration menu. The emulated REU can access large amounts of memory very quickly and transfer it into the lowest 64 Kbytes where the 6510 can access it. GeoRAM emulation can map 256 bytes out of a 4 Mbyte buffer into the C64 memory at DE00h-DEFFh.

  • If the 6510 CPU is emulated, can the tape still work? Can the original CPU work next to the emulated one?

No, the tape drive is inoperable when the Chameleon is used. The 6510-chip in the C64 is completely switched off. Although technically it is possible to run both CPUs at the same time, there is no software support yet that makes this possible.

  • What is stand-alone mode and does the cartridge need external power?

When the cartridge is plugged in the expansion port it will gets its power from the C64 computer. There is no need for an external power source as the cartridge uses very little power. The cartridge can also function stand-alone. In this case the cartridge does need an external source (5 volt through USB cable). When it detects that it is not plugged in, the catridge will switch on some additional emulation blocks. The result is a C64 hardware emulator with all the Chameleon features in the small form factor of a C64 cartridge.

  • Is the VGA reprogrammable for more colors or higher resolutions?

No. This was one of the ideas in earlier stages of development, but was dropped in favour of scanline- and PAL emulation.

  • Is dual monitor supported (C64 video port and VGA showing a different picture)?

The hardware can do this and the required register settings are documented, but there is at the moment no software that supports this mode.

  • How much power does the Chameleon use? Will I need a “heavy duty” power-supply?

Although Chameleon emulates quite a few pieces of hardware that would require lots of power in their original form, it is a very power-saving device. A total of only 2.1W is consumed, which translates to a current of 420mA - and this figure even includes a PC keyboard that was used during measurement. The old shim-shaped PSU of the C64 can supply up to 1.5 amps on the 5V line, and these PSUs are failing on a regular basis, where "faill" actually means catastrophic failure: If they fail, they will also kill the C64 that's connected to it. We recommend to let the shim-shaped PSUs rest in peace. The brick-shaped PSUs can supply up to 1.7 amps, and we haven't seen many of these fail. We recommend to use a brick-shaped C64 PSU instead of the shim-shaped for the C64/Chameleon combination. If you can get hold of a C128 PSU or a 1750 PSU (which is essentially the same, just with a different connector), go for that. These units can supply up to 2.5 amps on the 5V rail, which will hardly ever be exceeded by a C64.

  • When I play games that have side scrolling (e.g. Giana Sisters) the scrolling is very jittery/broken. Will this be fixed in a future release? Is it even possible?

The C64 runs at roughly 50 or 60 frames per second. VGA is by default set to 72 frames per second. Dividing those is not a nice integer number. However you can only draw complete screens, otherwise tearing effects occur, where part of the screen updated and the other part not. 1+1 is 2. So with double buffering it jumps or you don't double buffer and have tearing effects. One solution is to use a 50Hz VIC synced mode - but not all monitors will work with that. Another is to use triple buffering with frame blending, which will smooth out some of the artefacts (but adds blur)

Personal tools