(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 |
FF | IO-ports |
F8-FB | Base RAM SuperGrafx (32KB) |
F8 | Base RAM normal PC-Engine (8KB) |
F7 | Savegame RAM |
00-F6 | HuCard 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-$FFFF | Reset Vector |
$FFFC-$FFFD | NMI Vector |
$FFFA-$FFFB | TIMER Vector |
$FFF8-$FFF9 | IRQ1 Vector (for VDC) |
$FFF6-$FFF7 | IRQ2 Vector (for BRK) |