Page Byte Address Length Description
127 0 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.
127 84 32596 6
Buffer for the Blue Room blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
127 90 32602 6
Buffer for the Yellow Room blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
127 96 32608 6
Buffer for the blackboard in the top-floor classroom of the girls' skool
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
127 102 32614 6
Buffer for the Science Lab blackboard
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
127 108 32620 6
Buffer for the blackboard in the middle-floor classroom of the girls' skool
Used by the routines at 24133, 24175, 26513, 26639 and 26752.
127 114 32626 14
Unused
127 128 32640 1
Various flags
Various status flags for the current lesson.
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 reprimand toggle for the 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 Kids should be sitting in the assembly hall (set by 61658; reset by 62032; checked by 27904 and 32062, and by command lists 20, 40 and 88)
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)
ERIC should be sitting down in class (set by 61696; checked by 32062)
127 129 32641 1
Lesson signal 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
127 130 32642 6
Unused
127 136 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.
127 138 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).
127 140 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.
127 142 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.
127 144 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.
127 146 32658 10
Unused
127 156 32668 8
Bike and Science Lab storeroom combinations
Used by the routines at 24028 and 62910.
127 164 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).
127 172 32684 43
Unused
127 215 32727 1
Various ERIC-related data (1)
Used in conjunction with the contents of 32728. Holds the ASCII code of the last key pressed while writing on a blackboard (see 24175), or the descent table identifier (252-255; see 64460), or the LSB of the address of a routine (or an entry point to a routine) for dealing either with ERIC or with the result of an action by ERIC (see 57669):
Address Purpose Placed here by
23877 Remove the water pistol from the inventory 23863
24272 Deal with ERIC when he's raising his fist 24263
24290 Deal with ERIC when he's lowering his fist
24304 Deal with ERIC when he's raising the catapult 24296
24314 Launch a pellet from ERIC's catapult
24324 Deal with ERIC after he's launched a catapult pellet
24458 Deal with ERIC when he's kissing HAYLEY 24348
31462 Release some mice 57893
31573 Make ERIC catch a mouse or frog (if present) 57637
63586 Deal with a dropped stinkbomb 28992
63915 Control water fired from the pistol 63898
127 216 32728 1
Various ERIC-related data (2)
Used in conjunction with the contents of 32727. Holds the identifier of the blackboard ERIC wrote on (see 24133), or the descent table entry pointer (160-180; see 64460), or the MSB of the address of a routine (or an entry point to a routine) for dealing either with ERIC or with the result of an action by ERIC (see 57669, and 32727 for a list of the routine and entry point addresses).
127 217 32729 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 63210).
127 218 32730 1
ID of the desk containing the water pistol
Used by the routine at 62178.
127 219 32731 1
ID of the desk containing the stinkbombs
Used by the routine at 62178.
127 220 32732 1
ERIC's stand-up delay counter
Used by the routine at 62178 while in demo mode.
127 221 32733 1
ERIC's knockout delay counter
Used by the routine at 62094.
127 222 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.
127 223 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.
127 224 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.
127 225 32737 1
Number of mice caught
Used by the routines at 31462, 31502 and 31573.
127 226 32738 1
Kiss counter
Used by the routines at 24348 (which decreases the counter by 7 whenever ERIC kisses HAYLEY) and 30102 (which decreases the counter by 1 whenever HAYLEY is knocked over). Initialised to 40 by the routine at 62910.
127 227 32739 2
Lesson clock
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.
127 229 32741 2
Score
Used by the routine at 29621.
127 231 32743 2
Lines total
Used by the routines at 24348 and 29643.
127 233 32745 2
Hi-score
Used by the routine at 62815.
127 235 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
127 236 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.
127 237 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
127 238 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.
127 239 32751 1
Counter that determines the bike's speed while ERIC's on it
Used by the routine at 29278.
127 240 32752 1
Bike's momentum
Used by the routine at 29278.
127 241 32753 1
Last key pressed
Set by the routine at 63210; checked by the routines at 28114 and 28216. Holds the value from the keypress offset table corresponding to the last key pressed.
127 242 32754 1
ERIC's midstride/mid-action timer
Zero unless ERIC is midstride (see 28114) or mid-action (see 57669); if non-zero, the value is copied to the main action timer at 32755 after ERIC has been moved from the midstride or mid-action position (see 63210).
127 243 32755 1
ERIC's main action 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.
127 244 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
127 245 32757 1
Character number of the teacher who last gave ERIC lines
Used by the routine at 32062.
127 246 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.
127 247 32759 1
MSB of the lines-giving delay counter
Used by the routines at 32032 and 32062.
127 248 32760 1
LSB of the address of the SRB byte corresponding to the lip of the speech bubble
Used by the routine at 26958. Holds 0 if no one's speaking.
127 249 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).
127 250 32762 1
Leftmost column of the play area on screen the last time the SRB was updated for the 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 the SRB for the speech bubble) was called.
127 251 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 57669
ERIC is dropping a stinkbomb
ERIC is firing the water pistol
ERIC is moving forward as if to kiss (but will miss)
4 ERIC is writing on a blackboard 24175
5 ERIC is firing the catapult 24237
ERIC is hitting
ERIC is kissing HAYLEY
6 MR WACKER is expelling ERIC
7 ERIC has been knocked over 62094
127 252 32764 1
Number of the character just moved (183-214)
Used by the routine at 25296.
127 253 32765 2
Random number seed
Used by the routine at 25233.
127 255 32767 1
x-coordinate of the leftmost column of the play area on screen
Modified by the routines at 25026 and 25080.