The bytes from 8960 to 9017 are used by the G007 software.
Note these variables are initialised after the first hi-res
statement, after power-up.
Note that the G007 uses some bytes in the ZX81 16K RAM pack.
Do not poke those marked with an asterisk.
| Dec. | Hex. | Bytes | System Variables: G007 |
| 8960 | 2300 | 2 | Offset of hi-res display file, less 9, from the D-FILE variable |
| 8962 | 2302 | 2 | Not used |
| 8964 | 2304 | 2 | Start address of last line of lo-res display file |
| 8966 | 2306 | 2 | Start address of hi-res display file, less 9 (used for video) |
| 8968 | 2308 | 2 | Start address of hi-res display file |
| 8970 | 230A | 2 | Bytes defining triangle texture |
| 8972 | 230C | 2 | Character table address for CHR$0-63 |
| 8974 | 230E | 2 | Character table address for CHR$128-159 |
| 8976 | 2310 | 2 | Vector for additional plot routines |
| 8978 | 2312 | 3 * | Various flags |
| 8981 | 2315 | 2 | Address of user-defined character table, less 256 |
| 8983 | 2317 | 1 | "Read-point" byte. Non-zero if pixel is set. |
| 8984 | 2318 | 1 * | Display height, normally 192 |
| 8985 | 2319 | 1 | Flags |
| 9886 | 231A | 7 | Temporary variables for PLOT routine. |
| 8993 | 2321 | 1 | Plot out of range flat. Bit 7 = latest statement |
| 8994 | 2322 | 1 | Not used |
| 8995 | 2323 | 2 | X co-ordinate for PLOT. Signed 16-bit |
| 8997 | 2325 | 2 | X co-ordinate for PLOT. Signed 16-bit |
| 8999 | 2327 | 8 | X and Y co-ordinates for previous two statements |
| 9007 | 232F | 1 | Flags |
| 9008 | 2330 | 2 | Y co-ordinate of graphics origin |
| 9010 | 2330 | 4 | X co-ordinate of graphics origin |
| 9012 | 2334 | 4 | Bytes defining four line types |
| 9016 | 2338 | 2 | Temporary variable for PLOT |
RAM available to the User
The memory between 8448 and 8703 is reserved for user defined characters, but can alternatively be used for storing machine code etc. This memory is completely safe from the effects of NEW and all of the G007 routines.
There are also 100 bytes of RAM free from 9018 to 9117. This is also safe from NEW, but will be cleared upon initialisation of the system variable. Memory addresses outside the above ranges must not be POKEd, as this may cause the computer to crash.