G007 RAM: 0x2000 to 0x23FF

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.