Gamecube Memory Map
Last Updated Sept. 25th, 2003
By: Azimer

2.1 Memory Map

Gekko Memory Map

Address Range              Description


0x00000000 - 0x017FFFFF    Physical RAM Address.  Not accessible from the CPU
0x80000000 - 0x817FFFFF    Cached RAM Address (CPU Accessible)
0xC0000000 - 0xC17FFFFF    Uncached RAM Address (CPU Accessible)
0xC8000000 - 0xC1FFFFFF    Embedded Frame Buffer (EFB) wrapper
0xCC000000 - 0xCC00FFFF    Hardware Registers
0xFFF00000 - 0xFFFFFFFF    Initial Program Loader (IPL) descrambling wrapper

DSP Memory Map

Address Range              Description


To be completed...

GP Memory Map

Address Range              Description


To be completed...





Special Note on IPL by org:
Developer boards have 48MB of RAM.

IPL is mapped at 0xFFF00000 after hardware reset. It is loaded into upper memory (0x81300000), executed there, and then auto-destroyed.
Special bootstrap program prevent accesses to IPL, after reset. Access to IPL is controlled by 17th bit of 0xCC006800 :
    Write :
    0 = Have no effect
    1 = Disable IPL access

    Read :
    0 = IPL access enabled
    1 = IPL access disabled
Example program, to disable IPL :
void DisableROM()
{
    *(u32 *)0xcc006800 |= 0x00004000;
}