SuperCPU and Turbo Accelerators
The SuperCPU and other โturboโ accelerators replace, augment or bypass the original 1 MHz 6510 of the Commodore 64/128, giving the 8-bit computer a dramatic speed-up while preserving almost full software compatibility. Approaches range from simple 4 MHz 6502 cards of the early 1990 s to modern FPGA-based cartridges with 48 MHz 65816 cores and cycle-perfect VIC-II synchronisation.
๐ Historical overview
[edit | edit source]| Accelerator | CPU / Core (clock) |
RAM on card | First retail | Bus interface | Notes |
|---|---|---|---|---|---|
| Turbo Master CPU | NMOS 6502 @ โ4 MHz | none | 1990 | Edge connector | โBank-stealingโ waits during VIC DMA; requires stub ROM for KERNAL patching. |
| Flash 8 | WDC 65C816 @ 8 MHz | none | 1993 | Edge connector | German kit; hardware wait-state generator for VIC access. |
| SuperCPU v1 / v2 | WDC 65C816 @ 20 MHz (switch-able 1ร/5ร/20ร) | up to 16 MB (SuperRAMCard) | 1996 / 1997 | Edge connector pass-through | Hitachi HD6120 glue logic (v1) โ CMD FPGA (v2); fully transparent timing compensation. |
| Turbo Process | WDC 65C02 @ โ3.5 MHz | none | 1996 | Internal daughter-board | Installation required desoldering the 6510; limited commercial run. |
| Chameleon 64 (FPGA) | 65816-compatible soft-core @ ~48 MHz* | 16 MB SDRAM | 2011 | Docking-station / cartridge | Also functions as stand-alone FPGA C-64. *Effective โTurboโ factors ร1โฆร11 selectable. |
| Ultimate 64 / U64 Elite | FPGA SoC (65816-like) @ 48 MHz | 16 MB SDRAM | 2018 | Replacement main-board | Whole-system re-implementation; per-cycle compatible โsoft-6510โ plus Turbo. |
- Clock figures are the raw CPU frequency; effective speed-up depends on VIC-II DMA stealing and memory-wait strategies.*
๐ ๏ธ Technical principles
[edit | edit source]- Bus arbitration
The VIC-II still needs 40 CPU cycles per raster line for video-DMA. Turbo accelerators therefore:
- Stretch ฯ2 low-time (Turbo Master/Flash 8) so that fast code runs only when the VIC is idle.
- Shadow RAM on-board and replay writes to the real C-64 DRAM during idle slots (SuperCPU).
A fast 16-bit 65816 runs from zero-wait SRAM while the VIC keeps reading the slow motherboard RAM.
- Memory mapping
Most units expose extra RAM through the standard \$FFxx banking lines (EXROM/GAME or REU registers). The SuperCPUโs *SuperRAMCard* appears at \$DF00 and can be logically mapped in 64 KB pages, giving GEOS 2.0 a full 4โ16 MB workspace.
- Compatibility layers
- IO shadowing โ writes to \$D000โ\$DFFF are mirrored so that timers/sprites still update at 1 MHz cadence.
- KERNAL patch โ accelerators supply a tiny ROM that intercepts IRQ entry/exit to resynchronise with VIC safe-lines (Turbo Master).
- Turbo OFF switch โ most devices fall back to 1 MHz for cycle-exact demos or $DD00 colourโcycle loading schemes.
๐ Benchmarks
[edit | edit source]| Accelerator | BASIC โPI Testโ (User port loop-back) |
Assembly Dhrystone (32-bit) |
Notes | ||
|---|---|---|---|---|---|
| Seconds (1ร) | Speed-up | DMIPS (1ร) | Speed-up | ||
| Un-accelerated | 68 s | 1.0ร | 0.18 | 1.0ร | Reference C-64 (1982) |
| Turbo Master CPU | 19 s | 3.5ร | 0.55 | 3.0ร | Wait-state hit at badlines |
| Flash 8 | 11 s | 6.2ร | 0.95 | 5.3ร | Full 8 MHz except colour fetch |
| SuperCPU @20 MHz | 3.4 s | 20ร | 2.9 | 16ร | GEOS boots in โ4 s! |
| Chameleon ร11 | 2.9 s | 23ร | 3.2 | 18ร | โCycle exactโ turbo |
| U64 Turbo ร48 | 1.5 s | 45ร | 5.8 | 32ร | RAM in SDRAM, VIC DMA virtualised |
(Data averaged from user reports and SysInfo v4.4 runs.) Exact numbers vary with cache settings, memory contention and whether *bad-line* throttling is enabled.
๐ฝ Software support
[edit | edit source]- GEOS 2.0โ2.1 detects the SuperCPU and patches its VBL handler for 20 MHz operation, giving near-instant screen redraw.
- Turbo Macro Pro and 64tass include โSPDXLโ assemblers that emit 65816 op-codes to exploit the 24-bit address space.
- Games/Demos โ few require the accelerator, but *Metal Dust* (2005) famously needs the SuperCPUโs 65816 and 4 MB RAM.
- CP/M cartridge clones *cannot* coexist with turbo cards โ both expect exclusive use of the expansion bus.
โก Power & heat considerations
[edit | edit source]High-speed 65xx CPUs and external SRAM draw up to 800 mA at 5 V. Original Commodore โbrickโ PSUs are marginal; modern switch-mode supplies or a C64 Saver are strongly recommended. The SuperCPU v1โs CPLD runs hot (โ70 ยฐC) โ later v2 fixed this with a cooler FPGA and heat-spreaders.
๐ Availability in 2025
[edit | edit source]- Original CMD SuperCPUs are scarce (โ โฌ800 used).
- Flash 8 occasionally appears as unpopulated PCBs on German forums.
- Chameleon 64 V2 is still manufactured by Individual Computers (~โฌ250).
- Ultimate 64 Elite (replacement main-board with Turbo) ships in small batches several times a year.
๐ง DIY and open-source projects
[edit | edit source]- SaRuMan 65816 core โ open VHDL clone of the SuperCPU memory controller.
- Pi1541-Turbo โ over-clocks the 6510 only during disk-I/O by injecting a 2 MHz clock on ฯ2.
- Kola-Max โ bread-board prototype using a W65C816 @ 14 MHz plus dual-port SRAM (proof-of-concept, 2023 GitHub release).