SuperCPU Registers

SuperCPU registers are located within the VIC register mirror locations. On a stock system, these locations will always return an $FF, and writing to them will not fall through into RAM while the I/O is switched in. For this reason, these locations are considered useless when I/O is switched in.

The registers in the $D07x range and some of the flags in the $D0Bx range are write sensitive. In other words, any write to a register in that range will cause the register's assigned function to active, regardless of the value being written.


Important SuperCPU Memory Locations

$D074 - VIC Bank 2 / GEOS Optimization (mirror $8000-$BFFF)
$D075 - VIC Bank 1 Optimization (mirror $4000-$7FFF)
$D076 - BASIC Optimization (mirror $0400-$7FFF)
$D077 - No Optimization (mirror all memory - v1 default)
$D07A - Software speed select - Normal (1Mhz or 2Mhz in 128 fast mode)
$D07B - Software speed select - Turbo (20 Mhz)
$D07E - Hardware register enable
$D07F - Hardware register disable
$D0B0 - SuperCPU mode detect register
00xxxxxx - SuperCPU v2 in 128 mode
01xxxxxx - SuperCPU v2 in 64 mode
11xxxxxx - SuperCPU v1, no SuperCPU, or SuperCPU disabled
$D0B2 - Bit 7 : Hardware register enable flag (1=Enabled)
$D0B3 - Enhanced optimization register (v2 only)
00xxx1BZ = VIC Bank 0, $0000-$3FFF
01xxx0B0 = VIC Bank 1, $4000-$7FFF
00xxx0B0 = VIC Bank 2/GEOS, $8000-$BFFF
01xxx1B0 = VIC Bank 3, $C000-$FFFF
10xxx0B0 = BASIC Opt., $0400-$07FF
11xxx00Z = No Opt All Mem, $0:0000-$1:FFFF (v2 default)
10xxx100 = Full Optimization (no mirroring of any memory)
$D0B4 - Bits 7 & 6 : Optimization Mode Flags
00xxxxxx = VIC Bank 2/GEOS Optimization Enabled
01xxxxxx = VIC Bank 1 Optimization Enabled
10xxxxxx = BASIC Optimization Enabled
11xxxxxx = No Optimization
$D0B5 - Bit 7: JiffyDOS Switch Flag (1=enabled)
Bit 6: Speed Switch Flag (1=Normal, 0=Turbo)
$D0B6 - Bit 7: Processor Emulation Mode Flag (1=Emulation)
Bit 6: Reset Switch Flag (1=Switch Pressed) (v1 only)
$D0B8 - Bit 7: Software speed flag (1=Normal, 0=Turbo)
Bit 6: Master speed flag (1=Normal, 0=Turbo)
$D0BC - Bit 7: DOS Extension Mode Flag (1=Enabled)
Bit 6: RAMLink Hardware Registers Flag (1=Enabled)
$D200-$D2FF - System RAM
$D300-$D3FF - User RAM (available for user programs)