Turbo Chameleon 64 Draft Version! (BETA-9)
Total Page:16
File Type:pdf, Size:1020Kb
Turbo Chameleon 64 VGA, turbo, freezer and memory expansion for the Commodore-64 The Programmers Manual Peter Wendrich [email protected] February 11, 2014 Draft version! (BETA-9) 1 Contents 1 Introducing the Chameleon core 5 1.1 Turbo Chameleon Cartridge for the C64 . .5 1.2 Standalone Mode . .5 1.3 Docking Station . .5 2 Configuration Mode 5 2.1 Detecting a Chameleon . .5 2.2 Activating Configuration Mode . .6 2.3 Reconfigure the FPGA core . .6 2.4 Force menu mode . .6 2.5 Force reset from software . .6 3 Core version information 6 3.1 Version Registers . .7 4 Memory 7 4.1 Allocated memory ranges . .7 4.1.1 32 MByte Layout . .7 4.2 MMU Registers . .8 4.3 Memory Overlays (6510 CPU) . 10 5 Buttons 10 5.1 Buttons Configuration Register . 11 5.2 Last Button Pressed . 11 6 VGA Output 11 6.1 VGA Sync . 11 6.2 Frame buffers . 12 6.3 Scaling modes . 12 6.4 Scanline emulation . 12 6.5 VGA Registers . 13 6.6 Palette Registers . 14 6.7 Fixed Palette Entries . 14 7 VGA Status Lines 14 7.1 VGA Status Configuration Register . 15 8 Cartridge Emulation 16 8.1 Freezer Logic . 16 8.2 Clock port . 16 8.3 Simple ROM cartridges . 16 8.4 MMC64 . 17 8.4.1 MMC64 additional SPI devices . 17 8.5 RAM expansions . 17 8.5.1 REU (Ram Expansion Unit) 1700, 1750, 1764 . 18 8.5.2 REU Emulated Quirks . 18 8.5.3 REU Registers . 19 8.5.4 GeoRAM registers . 19 8.6 Action Replay / RetroReplay . 20 8.7 KCS Power Cartridge . 21 8.8 Final Cartridge 3 . 21 8.8.1 Final Cartridge 3 registers . 22 8.9 Simons Basic . 22 8.10 Ocean type 1 . 22 8.11 The Expert Cartridge . 23 8.12 Fun Play . 23 8.13 Super Games . 24 2 8.14 Epyx Fastload . 24 8.15 Westermann . 24 8.16 Game System (GS), System 3 . 24 8.17 WarpSpeed . 25 8.18 Dinamic . 25 8.19 Zaxxon and Super Zaxxon . 25 8.20 Magic Desk . 25 8.21 Super Snapshot 5 . 25 8.22 Comal-80 . 26 8.23 Ross . 26 8.24 Mikro Assembler . 26 8.25 StarDos . 26 8.26 EasyFlash . 27 8.26.1 EasyFlash registers . 27 8.27 Capture . 27 8.28 Prophet 64 . 28 8.29 Mach 5 . 28 8.30 PageFox . 28 8.31 Business Basic . 29 8.32 Cartridge Configuration Registers . 30 8.33 Cartridge stacks and combinations . 31 9 Menu mode 31 9.1 Entering menu mode . 31 9.2 Programming for menu mode . 31 9.3 VIC-II memory access in menu mode . 31 9.4 Differences between Menu and Configuration modes . 32 9.5 Extra 256 bytes of ROM or RAM . 32 9.5.1 Blocking NMI interrupts . 32 9.6 Leaving menu mode . 32 9.6.1 Leaving menu mode with RTI . 32 9.6.2 Leaving menu mode with reset . 33 9.7 Limitations . 33 10 Timers 33 10.1 Timers Registers . 33 11 CPU Turbo/Accelerator 33 11.1 Turbo I/O . 34 11.2 Auto Speed . 34 11.3 VIC-II register . 34 11.4 Turbo Configuration Register . 35 12 Disk Drive Emulation 35 12.1 Drive Memory Map . 35 12.2 Disk track layout . 35 12.3 Drive Configuration Registers . 36 13 SID Emulation 36 13.1 Using a Second SID Chip . 37 13.2 Filter curves . 37 13.3 SID Configuration Register . 38 14 VIC-II Emulation 38 14.1 Commodore 128 Incompatibility . 38 14.2 Framebuffer . 39 14.3 VIC-II Emulation Registers . 39 15 Using the Onboard Flash Memory 39 3 16 Using the RTC (Real Time Clock) Chip 39 17 RTC access registers (using MMC64 emulation) 40 18 PS/2 Keyboard connector 40 18.1 PS/2 Keyboard layout . 41 19 PS/2 Mouse connector 41 19.1 Emulation Behavior . ..