Back to Skool Game status buffer
Address Length Purpose
32512 84
Screen refresh buffer (SRB)
Used by the routines at 24880, 25248, 26380, 26849 and 26910. 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 7 corresponds to the leftmost character square in the segment, bit 0 to the rightmost character square.
32596 6
Buffer for Blue Room blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
Byte(s) Contents
0 Next clean pixel column (0-127)
1 Number of the character who last wrote on the board
2-5 Characters written by ERIC
32602 6
Buffer for Yellow Room blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
Byte(s) Contents
0 Next clean pixel column (0-127)
1 Number of the character who last wrote on the board
2-5 Characters written by ERIC
32608 6
Buffer for blackboard in top-floor classroom of girls' skool
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
Byte(s) Contents
0 Next clean pixel column (0-127)
1 Number of the character who last wrote on the board
2-5 Characters written by ERIC
32614 6
Buffer for Science Lab blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
Byte(s) Contents
0 Next clean pixel column (0-127)
1 Number of the character who last wrote on the board
2-5 Characters written by ERIC
32620 6
Buffer for blackboard in middle-floor classroom of girls' skool
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
Byte(s) Contents
0 Next clean pixel column (0-127)
1 Number of the character who last wrote on the board
2-5 Characters written by ERIC
32626 14
Unused
32640 1
Time/event/status flags
Bit Meaning if set
0 End of lesson/playtime (always reset)
1 MR WACKER is looking for ERIC to expel him (see 62770)
2 MR WACKER is looking for the truant ERIC (see 62668)
3 EINSTEIN is talking (set and checked by 61463; reset and checked by 61440)
4 Lines message toggle for teacher fetching ERIC (see 32062)
5 MISS TAKE is chasing ERIC (see 32062)
6 ERIC should be in class (set by 61696), dinner (set by 61631) or assembly (set by 61658) (checked by 32062)
7 ERIC should be sitting in the assembly hall (set by 61658; reset by 62032; checked by 27904 and 32062)
ERIC's teacher's next absence reprimand should be STAY TILL I DISMISS YOU instead of DON'T BE LATE AGAIN (set and checked by 61696; also checked by 32062 to decide whether ERIC should be sitting down in class)
32641 1
More time/event flags
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 top-floor classroom in the girls' skool
1 Teacher has arrived at the middle-floor classroom in the girls' skool
2 Teacher has arrived at the Blue Room
3 Teacher has arrived at the Yellow Room
4 Teacher has arrived at the Science Lab
5-7 Unused
32642 6
Unused
32648 2
Message 6: '{teacher}'
Used by the routine at 32433 when printing the top line of text in the lesson box; it is a submessage of message 16.
32650 2
Message 5: '{lines recipient}/combination number or letter/{room}'
Used by the routines at 29716 (as a submessage of message 13), 29896 (as a submessage of message 14) and 32433 (as a submessage of message 16).
32652 2
Message 10: '{mountain}/{king}/{animal}/{verb}'
Used by the routines at 61696 and 62032; it is a submessage of messages 74, 75, 78, 79, 82, 83 and 96.
32654 2
Message 11: '{country}/{year}/{habitat}/{noun}'
Used by the routines at 61696 and 62032; it is a submessage of messages 73, 76, 77, 80, 81, 84 and 96.
32656 2
Message 7: '{grassee}'
Used by the routine at 61696 to hold the character number of whoever is being grassed up by EINSTEIN for writing on the board (206=BOY WANDER, or 210=ERIC); it is a submessage of message 88. Note that storing the character number (206 or 210) here is a mistake; it should be the message number of the character's name (27 or 31) instead. In any case, this message (along with parent message 88) is never used, because of a bug in the section of code at 61852.
32658 10
Unused
32668 8
Bike and Science Lab storeroom combinations
Used by the routines at 24028 and 62910.
32676 8
Copy of the bike and Science Lab storeroom combinations
Used by the routine at 30034. The digits or letters discovered by ERIC have bit 7 set (to indicate that he has already scored points for doing so).
32684 43
Unused
32727 1
Various ERIC-related data (1)
Used in conjunction with the contents of 32728. Holds one of the following:
ASCII code of the last key pressed while writing on a blackboard (see 24175)
LSB of the address of a routine for dealing with ERIC (see 57669)
Descent table identifier (252-255) (see 64460)
32728 1
Various ERIC-related data (2)
Used in conjunction with the contents of 32727. Holds one of the following:
Identifier of the blackboard ERIC wrote on (see 24133)
MSB of the address of a routine for dealing with ERIC (see 57669)
Descent table entry pointer (160-180) (see 64460)
32729 1
Last value seen in 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 63210).
32730 1
ID of desk containing water pistol
Used by the routine at 62178.
32731 1
ID of desk containing stinkbombs
Used by the routine at 62178.
32732 1
ERIC's stand-up delay counter
Used by the routine at 62178 while in demo mode.
32733 1
ERIC's knockout delay counter
Used by the routine at 62094.
32734 1
Game mode indicator
Used by the routines at 23907, 32433, 62178 and 63189. Holds 255 if in demo mode, 0 if a game is in progress, or 1 if ERIC has just opened the safe.
32735 1
Current lesson number
Used by the routine at 63309. Holds the index (192-255) into the main timetable. Adjusted by the routine at 62910 before starting a new game.
32736 1
Lesson descriptor
Used by the routines at 32021, 32062, 32433, 61696 and 63309. The room ID is stored in bits 0-3, and the teacher ID in bits 4-7. See the list of lesson descriptors at 53797.
32737 1
Number of mice caught
Used by the routines at 31462, 31502 and 31573.
32738 1
Number of kisses left
Used by the routines at 24348 and 30102.
32739 2
Lesson time counter
Decremented in the main loop at 63210. When it reaches 0, it is reset to 4096 by the routine at 63309. It is also checked by the routines at 30102, 32062, 61555, 61631 and 61658, and modified by the routines at 30102, 62032, 62770, 62815 and 62910.
32741 2
Score
Used by the routine at 29621.
32743 2
Lines total
Used by the routine at 29643.
32745 2
Hi-score
Used by the routine at 62815.
32747 1
Inventory flags
Used by the routine at 31746. Bit set=got, bit reset=haven't.
Bit Item Set Reset Checked
0 Safe key 30804 23907, 30804
1 Science Lab storeroom key 24028 24028, 29681, 30229, 31254
2 Frog 31733 29462 29462
3 Water pistol (with water if bit 4 reset) 62178 23863 23863, 23907, 63898
4 Water pistol with sherry 23907 23863 23863, 23907, 63898, 64077
5 3 stinkbombs 62178 63586
6 2 stinkbombs 62178 63586
7 1 stinkbomb 62178 63586 28992
32748 1
Input device indicator
Set by the routine at 21664, and checked by the routine at 29118. Holds 0 if the keyboard is being used, or 1 if the Kempston joystick is being used.
32749 1
ERIC's secondary status flags
Used by the routine at 63405 to decide how to deal with ERIC when bit 1 is set at 32763.
Bit Meaning if set Routine
0 ERIC is riding the bike 29278
1 ERIC is standing on a plant or plant pot 64316
2 ERIC is stepping off a plant, a plant pot, or the stage 64259
3 ERIC is falling and will land on his feet 64416
4 ERIC is falling and will not land on his feet 64460
5 ERIC has stepped out of the top-floor window 23859
6 ERIC is falling from the saddle of the bike 23843
7 ERIC is standing on the saddle of the bike 29462
32750 1
Last key pressed while riding the bike
Used by the routine at 29278. Holds the value from the keypress offset table corresponding to the last key pressed while riding the bike.
32751 1
Counter that determines the bike's speed while ERIC's on it
Used by the routine at 29278.
32752 1
Bike's momentum
Used by the routine at 29278.
32753 1
Last key pressed
Used by the routine at 63210. Holds the value from the keypress offset table corresponding to the last key pressed.
32754 1
ERIC's midstride/mid-action animation timer
Zero unless ERIC is midstride (see 28114) or mid-action (see 57669); if non-zero, the value is copied to 32755 after ERIC has been moved from the midstride or mid-action position (see 63210).
32755 1
ERIC's main animation timer
Decremented by the main loop at 63210; when it becomes zero, the keyboard is checked and ERIC is moved accordingly. Also used by many routines that deal with ERIC to decide when to change ERIC's animatory state or location, or when to check the keyboard.
32756 1
Door/window status flags
Used by the routine at 28736. Bit set=open, bit reset=closed.
Bit Door/window
0 Left study door
1 Right study door
2 Science Lab storeroom door
3 Boys' skool door
4 Skool gate
5 Drinks cabinet door
6 Top-floor window
7 Middle-floor window
32757 1
Character number of teacher who last gave ERIC lines
Used by the routine at 32062.
32758 1
LSB of the lines-giving delay counter
Used by the routine at 32032. Also used by the routine at 28877 when timing the closing of the left study, right study and Science Lab storeroom doors.
32759 1
MSB of the lines-giving delay counter
Used by the routines at 32032 and 32062.
32760 1
LSB of address of SRB byte corresponding to the lip of the speech bubble
Used by the routine at 26958. Holds 0 if no one's speaking.
32761 1
Speech bubble lip SRB bit
The bit set at this byte indicates the bit of the SRB byte (referred to by 32760) that corresponds to the lip of the speech bubble (see 26958).
32762 1
Leftmost column of play area on screen last time SRB was updated for speech bubble
Holds the column of the play area that was at the far left of the screen the last time the routine at 26849 (update SRB for speech bubble) was called.
32763 1
ERIC's primary status flags
Used by the routine at 63405 to decide how to deal with ERIC.
Bit Meaning if set Routine
0 ERIC is jumping 23907
1 Examine the secondary status flags at 32749
2 ERIC is sitting or lying down 62178
3 ERIC is bending over, dropping a stinkbomb, firing the water pistol, or moving forward as if to kiss 57669
4 ERIC is writing on a blackboard 24175
5 ERIC is firing, hitting or kissing 24237
6 MR WACKER is expelling ERIC
7 ERIC has been knocked over 62094
32764 1
Number of character just moved (183-214)
Used by the routine at 25296.
32765 2
Random number seed
Used by the routine at 25233.
32767 1
x-coordinate of the leftmost column of the play area on screen (0-160)
Modified by the routines at 25026 and 25080.