| Game status buffer

Address | Length | Description
--- | --- | ---
32512 | 1 | x-coordinate of the leftmost column of the skool on screen Modified by the routines at 24576 and 24731.
32513 | 8 | UDG back buffer Used by the routine at 24843.
32521 | 1 | Number of on-screen character squares that need refreshing (unused) Used by the (unused) routine at 25830.
32522 | 2 | Unused
32524 | 84 | Screen refresh buffer (SRB) Used by the routines at 27008, 27026, 28807, 29394 and 29735. Each byte of the SRB corresponds to a segment of 8 character squares on the screen, the leftmost of which will be at x=0, x=8, x=16 or x=24. Each bit set in an SRB byte corresponds to a character square in the segment that needs refreshing. Bit 0 corresponds to the leftmost character square in the segment, bit 7 to the rightmost character square.
32608 | 4 | Unused
32612 | 2 | Speech bubble lip coordinates Used by the routines at 29518 and 29746.
32614 | 34 | UDG references and attribute bytes of the part of the skool overwritten by the speech bubble and lip Used by the routines at 29518 and 29746.
32648 | 4 | Unused
32652 | 8 | Workspace used to find the main kid closest to a teacher Used by the routine at 30890.
32660 | 2 | Unused
32662 | 2 | Safe combination letter message Used by the routine at 63829.
32664 | 2 | Unused
32666 | 1 | Identifier for CREAK's birth year battle Used by the routines at 63573 and 63779.
32667 | 4 | CREAK's year of birth Used by the routines at 63191 and 63573. Holds a copy of the battle-year message corresponding to CREAK's birth.
32671 | 4 | Safe combination code Used by the routines at 63270 and 63573. Holds the ASCII codes of the letters in the safe combination (in the right order). The teachers' safe combination letters are stored at 32675.
32675 | 4 | Teachers' safe combination letters Used by the routines at 63573 and 63829. Holds the ASCII codes of the teachers' safe combination letters. The safe combination itself is stored at 32671.
32679 | 1 | Unused
32680 | 5 | Reading Room blackboard contents buffer Used by the routine at 63270.
32685 | 1 | Unused
32686 | 5 | White Room blackboard contents buffer Used by the routine at 63270.
32691 | 1 | Unused
32692 | 5 | Exam Room blackboard contents buffer Used by the routine at 63270.
32697 | 8 | Unused
32705 | 1 | ERIC's stand-up delay counter Used by the routine at 62938 while in demo mode.
32706 | 2 | Hi-score Used by the routines at 27406 and 32470.
32708 | 2 | Score Used by the routine at 27387.
32710 | 2 | Lines total Used by the routines at 30464 and 63931.
32712 | 1 | Lesson status flags Various status flags for the current lesson.
Bit(s) | Meaning
--- | ---
0 | End of lesson/playtime (always reset)
1-3 | Unused
4 | Next lines reprimand for the teacher fetching the truant ERIC (toggled by 30636)
5 | Set after a teacher has found the truant ERIC (see 30636)
6 | Set after a classroom lesson has started with ERIC present (see 62208) (checked by 30636; reset by 26342)
7 | Set after EINSTEIN has had a chance to grass on the absent ERIC (see 62208), or after dinner has started (see 31854) (checked by 30636; reset by 26342)
32713 | 1 | Lesson signal flags Bits 0-3 are used by the classroom-based command lists to indicate that or check whether a teacher has arrived at the classroom door to start the lesson.
Bit(s) | Meaning if set
--- | ---
0 | Teacher has arrived at the Map Room
1 | Teacher has arrived at the Reading Room
2 | Teacher has arrived at the Exam Room
3 | Teacher has arrived at the White Room
4-6 | Unused
7 | EINSTEIN is speaking (set by 31919; checked by 31162 and 31944; reset by 31178)
32714 | 1 | Stampede signal flags These flags are set and reset by command list 204, and checked by command list 206.
Bit(s) | Meaning if set
--- | ---
0 | Little boy no. 1 is ready to stampede
1 | Little boy no. 1 is ready to stampede again
2-7 | Unused
32715 | 1 | Special playtime signal flags These flags are used during the special playtimes (when EINSTEIN is going to tell MR WACKER what ERIC's up to, BOY WANDER has hidden a pea-shooter on the fire escape, or ANGELFACE has mumps).
Bit(s) | Meaning if set
--- | ---
0 | Little boy no. 10 is waiting for ERIC to respond to the message just delivered (set and reset by 63488; checked by 63352)
1 | Unused
2 | EINSTEIN is ready (set by command list 212; checked by command list 208)
BOY WANDER is ready (set and reset by command list 216; checked by command lists 208 and 218)
3 | MR WACKER is ready (set by command lists 214 and 218; checked by command list 208)
4 | Little boy no. 10 has told ERIC about EINSTEIN (set by command list 208; checked by command list 212)
Little boy no. 10 has told ERIC about BOY WANDER (set by command list 208; checked by command list 216)
Little boy no. 10 has told ERIC about ANGELFACE (set by command list 210; checked by command list 220)
5 | EINSTEIN has grassed on ERIC (set by command list 212; checked by command list 214)
ERIC has mumps (set by 64042; checked by command list 222)
6-7 | Unused
32716 | 14 | Unused
32730 | 1 | Birth year question indicator Used by the routine at 63779, and reset at the start of each lesson by the routine at 26342. Holds 0 if MR CREAK has not yet asked the birth year question during the current lesson, or 1 otherwise.
32731 | 13 | Unused
32744 | 1 | ERIC's main action timer Decremented by the main loop at 26471; when it becomes zero, the keyboard is checked and ERIC is moved accordingly (see also 25856, 25916, 25962 and 26880).
32745 | 1 | ERIC's midstride/mid-action timer Zero unless ERIC is midstride or has his arm raised while writing on a board (see 25916); if non-zero, the value is copied to the main action timer at 32744 after ERIC has lowered his arm or moved from the midstride position (see 25856).
32746 | 1 | Game mode indicator Used by the routine at 28143.
Value | Meaning
--- | ---
0 | Demo mode
1 | Shields need to be flashed
2 | All shields flashing; ERIC needs to find the safe combination
3 | Shields need to be unflashed
32747 | 1 | Shield counter Used by the routine at 28143.
32748 | 1 | Next clean pixel column on the Reading Room blackboard Used by the routines at 28994, 29160 and 63270.
32749 | 1 | Number of the character who last wrote on the Reading Room blackboard Used by the routines at 29160, 29284, 63056 and 64016. Holds 0 if the board is clean.
32750 | 1 | Next clean pixel column on the White Room blackboard Used by the routines at 28994, 29160 and 63270.
32751 | 1 | Number of the character who last wrote on the White Room blackboard Used by the routines at 29160, 29284, 63056 and 64016. Holds 0 if the board is clean.
32752 | 1 | Next clean pixel column on the Exam Room blackboard Used by the routines at 28994, 29160 and 63270.
32753 | 1 | Number of the character who last wrote on the Exam Room blackboard Used by the routines at 29160, 29284 and 63056. Holds 0 if the board is clean.
32754 | 1 | Lines-giving delay counter Used by the routine at 30636.
32755 | 1 | Character number of the teacher who last gave ERIC lines Used by the routine at 30636.
32756 | 1 | Lesson descriptor Used by the routines at 26342, 30636, 31040, 31188 and 32178. The room ID is stored in bits 0-3, and the teacher ID in bits 4-7. See the list of lesson descriptors at 44256.
32757 | 1 | ERIC's knockout delay counter Used by the routine at 27303.
32758 | 1 | Action timer for ERIC Used by the routines at 62495, 62628 and 62771 to coordinate ERIC's movements while firing his catapult, hitting, or jumping.
32759 | 2 | Lesson clock Decremented in the main loop at 26471. When it reaches 0, it is reset to 5376 by the routine at 26342. It is also checked by the routines at 30636 and 31807, and modified by the routines at 26880, 63456, 63488, 63668, 63931 and 64004.
32761 | 1 | Current lesson number Used by the routines at 26342 and 31815. Holds the index (0-63) into the main timetable. It is adjusted by the routine at 26880 before starting a new game.
32762 | 1 | Last value seen in the system variable FRAMES Stores the value of the LSB of the system variable FRAMES as it stood at the end of the last pass through the main loop (see 26471).
32763 | 1 | ERIC's status flags If ERIC is doing anything other than walking or standing still, one of the bits here will be set.
Bit | Meaning if set | Handler | Checked by
--- | --- | --- | ---
0 | ERIC is firing the catapult | 62495 | 27353
1 | ERIC is hitting | 62628 | 27353
2 | ERIC is jumping | 62771 | 27353, 30636, 30890, 31229
3 | ERIC is being spoken to by little boy no. 10 | 63352 | 27353
4 | ERIC has just been knocked down or unseated | 27303 | 27353
5 | ERIC is writing on a blackboard | 63146 | 26471
6 | Unused (always reset) |  | 25983, 26084, 26194
7 | ERIC is sitting or lying down (set by 27303 or 27823) |  | 25956, 62574, 62938, 63056
32764 | 1 | Last key pressed Holds the ASCII code of the last key pressed. Set by the routines at 26471 and 63056; checked by the routines at 25916 and 26194.
32765 | 1 | Number of the character just moved (152-171) Used by the routine at 25126.
32766 | 2 | Random number seed Used by the routine at 24993.