Multipurpose Commodore 64 expansion cartridge
This project started somewhere in the beginning of 2006 after talking with Jens of Individual Computers.
Initially it was called VGA-64, a simple cartrige with VGA connector for duplicating the VIC-II screen on a VGA monitor.
However when you have a FPGA on a cartridge, "feature creep" kicks in as these chips are quite flexible (too much sometimes :-).
So more possibilities and ideas for extensions came while the cartridge was in development.
For additional information or questions visit the Individual Computers website or join the chameleon_64 mailing list.
Also take a look on the Frequently Asked Questions page.
The current feature list is as follows:
- VIC-II screen duplication on VGA through intelligent bus snooping techniques
- Cycle accurate REU memory expansion emulation (upto 16 Mbyte)
- Cycle accurate geoRAM emulation (upto 4 Mbyte)
- MMU allowing access to all of the 32 Mbyte SDRAM using 4 KByte blocks.
- Turbo function with full 6510 emulation (illegal opcodes)
- MMC/SD slot (software compatible with MMC64)
- Cartridge emulator with freezer logic. ROMs can be stored in onboard flash or read from MMC card (as .crt or binary files). Emulation of the following utility and game cartridges:
Emulation of the following freezer cartridges:
- 8 or 16 KByte (EP)ROM cartridges
- Simons Basic
- Ocean type 1
- Super Games
- Epyx Fastload
- Westermann Learning
- C64 Game System (system 3)
- Magic Desk
- Mikro Assembler
- Business Basic (S'More)
- Action Replay
- Final Cartridge 3
- Expert Cartridge
- KCS Power Cartridge
- SuperSnapshot 5
- diskdrive emulation (1541 compatible, so fastloaders/speeders will work)
- PS/2 keyboard connector with joystick emulation on numeric keypad (for C64-tower projects)
- PS/2 mouse connector with emulation of a 1351 mouse (GEOS compatible)
- Infrared (IR) receiver compatible with an Amiga CDTV remote.
- Clockport connector (designed for optional RR-net board)
- 16 MBytes of user writable flash rom for firmware updates and storage of custom roms
- 8 bit microcontroller with USB for startup control, firmware upgrades and debugging
When in standalone mode:
- Cartridge is powered through a USB cable (5 volt)
- Cycle accurate emulation of the two CIA chips
- Cycle accurate emulation of the VIC-II video chip
- Stereo SID chip emulation (at 1 Mhz sample rate, very clean sound with no aliasing!)
Features still on the Wish List
Magic Formel II cartridge emulation
Emulate Parallel-Cable for 1541 floppy speeders
Custom PS/2 keyboard layout
Files and Documentation
Chameleon cartridge overview picture
Chameleon programmers manual (For BETA-8d firmware)
Chameleon Beta-8d release (april 9th, 2013), archive contains FPGA image (rbf), ROM image, documentation and installation programs (ChaCo).
Spectrum 48k core V1.1 for Chameleon by Alessandro Dorigatti (nov 27th, 2011), archive contains the "Speccy" core. Includes ResiDOS and Kempston joystick emulation. Supports snapshot (*.SNA) files, tape files (*.tap) and compressed tape files (*.TZX). Handles SD-card like harddisk (ZXMMC by Alessandro Poppi) and includes ULA+ modes with 64 colours.
Minimig core for Chameleon by TobiFlexx (may 17th, 2011), includes auto-installer for Windows. Includes Infrared support for joystick emulation. Supports hardfiles, up to 11.5MB usable Amiga memory, turbo 68020 CPU, really fast fastmem, any kickstart version including those with integrated IDE drivers.
chameleon_2600.zip, Atari 2600, VCS or Stella game system emulator (V0.9, updated on April 21th, 2013).
chameleon_life.zip, Conway's Game of Life for the Chameleon.
Complete hardware implementation (VHDL sources included). Born/alive rules can be changed by clicking buttons. Requires PS/2 mouse to operate.
It is a very fast simulation as the design calculates complete lines (512 pixels) at the same time, but slower speeds are available as well.
See here for a description how it works in detail Conway's game of life (on a FPGA).
chameleon_hwtest2.zip, second version of the hardware test for Chameleon (november 2011). This version contains production tests for both the Chameleon and the optional docking-station (VHDL source and documentation is included).
chameleon_hwtest1.zip, first version of the production hardware test for Chameleon (february 2011). This is the contents of slot 1 when Chameleon is shipped (VHDL source and documentation is included).
Chameleon FPGA core development (draft version 20130411), technical info for FPGA developers.
chameleon_examples.zip, Example projects and VHDL files for supporting core development.
chameleon_schematics.pdf, Chameleon production PCB board schematics.
chameleon_fpga_pins.zip, a pin file that you can add to the Quartus *.qsf project settings file.
cdtv_remote.zip, protocol description of the CDTV remote in open-office format.
Special Test/Development Firmware
chameleon_v5_shiftmem.zip, Shifted SDRAM clocks from the original 180 to 150 and 210. For verifying stability issues.
The Chameleon cartridge is available and can be ordered from Vesalia, GGS Data or Amiga Kit.
The core, firmware and utilities are still in active development, so Chameleon is currently considered in beta status.
This early release of the hardware will help to get feedback on required features and remaining bugs.
Chameleon is software upgradable, so new firmware releases will be made available when issues are solved.
Keep this in mind when ordering the product, there will be some bugs and missing functionality in the first firmware releases.
The Chameleon cartridge can also be used in "standalone" mode.
All that is needed besides the cartridge is a USB power supply, a PS/2 keyboard and a VGA monitor to have a complete working system.
However the Chameleon doesn't have any joystick connectors (as it was designed as a C64 cartridge where the C64 machine will provide the joystick ports).
This limitation can now be solved by using the optional docking-station together with the Chameleon cartridge.
(Picture shows a docking-station prototype)
It provides 4 joystick ports and two keyboard connectors. One keyboard connector is for a C64 keyboard and the other for Amiga keyboards.
The Chameleon has full control over the LEDs on the Amiga keyboard. All 4 joystick ports support a secondary fire button for extra flexibility.
Actual support for the offered joystick features varies for each emulated machine.