Memory Layout - gtrxAC/gxarch GitHub Wiki
gxarch has a 16-bit address space, which means 64 KB of memory can be addressed. The address space is divided like this:
0x0000 - 0x7FFF
Program ROM (32K)
Program data (read only memory) which is loaded from the .gxa
file. The first three bytes should be GXA
. The next two bytes contain the entry point, the address of where to start running code. In assembly, this is usually the main
label.
0x8000 - 0xDFFF
Unused
Unused space in the address space. Trying to read or write to this area will result in an error.
0xE000 - 0xEFFF
RAM (4K)
Used to hold larger variables which don't fit into the registers, for example loaded map data or enemy positions.
0xF000 - 0xFFFF
Save RAM (4K)
Similar to RAM, but its contents are saved to a .sav
file and persist even after closing the program. Also known as SRAM.