Shown with G007 and my battery-backed 4K CMOS RAM pack present.
| Range | Size | Location | ||
| 0000-1FFF | 8K | ROM | ZX BASIC ROM | ZX81 |
| 2000-27FF | 2K | RAM | G007 RAM. IC4. If ZX81 fitted with 1K, this will appear twice. | ZX81 |
| 2800-2FFF | 2K | ROM | G007 ROM. Graphics firmware | G007 |
| 3000-37FF | 2K | RAM | First 6116 chip | 4K RAM pack |
| 3800-3FFF | 2K | RAM | ZX Monitor code, in second 6116. | 4K RAM pack |
| 4000-7FFF | 16K | RAM | ZX BASIC RAM. External RAM begins at 0x4000 | 16K RAM pack |
| 8000-BFFF | 16K | void | ||
| C000-FFFF | 16K | RAM | alias of 4000-7FFF | 16K RAM pack |
When ever aliases appear, it is convention that the lowest
numbered on is used.
The G007 addresses the ZX81's on-board RAM at 2000-23FF for
instance.
The ZX80 and ZX81 present NOP codes to the Z80 when it tries
to run machine code above 0x8000.
This is deliberately done so the Z80 can fetch the video data
bytes.
Many ZX81 programs lower the RAMTOP boundary so that they can load machine code above RAMTOP and below 0x7FFF. The ZX81 machine-code monitor is one such program. I altered the absolute addresses from 0x7??? to 0x3??? and loaded it into my battery-backed RAM chip at 0x3800.