Memory map

(This section was taken from Joe's page..)

The HuC6280 has a 64KB logical address space and a 2MB physical address space. To access this entire memory space, the processor depends on 8 memory mapping registers, known as MPR0 - MPR7. These registers map each 8KB segment of the logical address space to an 8KB segment in the physical address space. The first segment of a HuCard will be mapped to $E000, and the first instructions map segment $FF to $0000 and segment $F8 to $2000. When the Savegame RAM is present, it should be mapped to $8000.

The Instructions for accessing the zero-page or the stack will always work on segment F8.

Segment #Description
F8-FBBase RAM SuperGrafx (32KB)
F8Base RAM normal PC-Engine (8KB)
F7Savegame RAM
00-F6HuCard storage

The Interrupt-Vectors are taken from them bank, that is mapped to $E000. One example is the "NES-Collection" ROM, which maps another bank to this address for each game. Only the Reset-Vector is always taken from ROM-bank #0.

$FFFE-$FFFFReset Vector
$FFF8-$FFF9IRQ1 Vector (for VDC)
$FFF6-$FFF7IRQ2 Vector (for BRK)