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.