Back to Skool Routines
Address Description
20640 Clear character buffer 214
20665 Print a message centred across the entire screen
20709 Populate a row of the screen with machine code
20896 Change a character's name
20956 Guide a character onto the catwalk or off it
21152 Display the cast of characters and change their names
21408 Do essential POKEs before the game starts
21419 Make a walking sound effect (yellow border)
21425 Clear the screen and request the input method (keyboard, joystick, Int2)
21664 Set the input method, change the characters' names, and start the game
21746 Prepare addresses 23808 to 24575
21920 Count down from 9 to 0
23808 Deal with ERIC while he's falling (2)
23843 Deal with ERIC's flight from the saddle of the bike
23859 Deal with ERIC's descent from the top-floor window
23863 'T' pressed - throw away the water pistol
23887 'J' pressed - jump
23907 Deal with ERIC when he's jumping
24028 Compare blackboard contents with combinations
24133 'W' pressed - write on a blackboard
24175 Deal with ERIC when he's writing on a blackboard
24237 Deal with ERIC when he's firing the catapult, hitting or kissing
24247 Signal that ERIC is firing the catapult, hitting, or kissing
24263 'H' pressed - hit
24296 'F' pressed - fire catapult
24328 Make HAYLEY hit ERIC
24348 'K' pressed - kiss
24477 Play a tune
24576 Superimpose sprite tiles onto a tile of the play area
24684 Print a tile
24880 Update a character's animatory state and location and update the SRB
25012 Update the SRB for a character's current animatory state and location
25026 Scroll the screen left 8 columns
25080 Scroll the screen right 8 columns
25188 Copy two bytes from a command list into a character's buffer
25213 Collect one byte from a command list
25233 Get a random number
25248 Update the display
25296 Move the characters
25484 Terminate a command
25503 Call an interruptible subcommand
25520 Jump to an interruptible subcommand
25525 Set the interruptible subcommand (unused)
25534 Determine ERIC's y-coordinate
25554 Get the play area region identifier for a given location
25581 Guide a character to an intermediate destination
25656 Guide a character up a staircase
25677 Guide a character down a staircase
25700 Make a character go to a location
25815 Make a character go to a random location
25843 Determine the next move of a character following another character
25944 Make a teacher find ERIC
26068 Check whether a character is beside a chair
26136 Check whether a chair is occupied
26175 Knock the current occupant (if any) out of a chair
26224 Deal with a character who's been dethroned (1)
26239 Deal with a character who's been dethroned (2)
26263 Deal with a character who is looking for a seat
26304 Make a character find a seat
26318 Get the next character of a message being spoken or written
26380 Update the SRB for a blackboard
26453 Get the identifier and coordinates of the blackboard close to a character
26496 Move the bike if it's obstructing the boys' skool door or the gate
26513 Write a single character on a blackboard
26639 Make a teacher wipe a blackboard
26752 Make a character write on a blackboard
26849 Update the SRB so that the speech bubble is not corrupted
26910 Remove the speech bubble
26941 Print a speech bubble UDG
26958 Print the speech bubble
27110 Place a font character bitmap into a message graphic buffer
27144 Make a character speak
27276 Save the area of the screen that will be overwritten by a message box
27364 Copy a graphic buffer to the screen
27419 Write a line of text into a graphic buffer
27462 Print a message box
27497 Print the score, lines total or hi-score (2)
27572 Compute the decimal digits of a number
27672 Alter UDG references in the play area for a door, a window, a cup or the bike
27804 Check whether any characters were punched
27820 Check whether any characters have been hit by a fist, pellet or conker
27860 Prepare the doors, windows, cups and bike for new game
27886 Get the x-coordinate range within which a character can see or be seen
27904 Control a boy during assembly
27954 Check whether a target character can be seen by another character
28002 Check whether ERIC can be seen by an adult
28029 Check for main kids near a teacher
28067 Check whether a location is on the assembly hall stage
28085 Determine which floor ERIC's on when he's not standing directly on one
28114 Put ERIC midstride
28160 Move ERIC from the midstride or mid-action position and scroll the screen if necessary
28216 Turn ERIC round
28240 Check whether a character is on a staircase
28305 Deal with ERIC when he has stepped off the stage
28315 Check for walls and closed doors in front of ERIC
28436 'P' pressed - right
28460 'O' pressed - left
28484 'Q' pressed - up
28576 'A' pressed - down
28658 Collect the identifier and coordinates of a blackboard that will be wiped
28672 Check for walls, closed doors and ALBERT in front of the bike
28736 Open or close a door or window
28767 Check for a closed door in front of a character
28814 Check for a closed door in a character's path and open it if allowed
28855 Make a character open or close a door
28877 Close any temporarily open doors if necessary
28952 Score 100 points and make the sound of a mouse being caught
28978 Make a female character stop jumping
28992 'D' pressed - drop stinkbomb
29012 Make a walking sound effect (blue border)
29030 Prevent ERIC from getting past ALBERT if necessary
29052 Make a character open or close a door
29101 Move the bike if it's obstructing the skool gate
29118 Get the ASCII code of the last key pressed
29178 Get the keypress offset of the last key pressed
29194 Control the bike when ERIC's not sitting on the saddle
29278 Deal with ERIC when he's riding the bike
29462 Deal with ERIC when he's standing on the saddle of the bike
29568 Display the frog in ERIC's inventory
29574 'M' pressed - mount bike
29613 Print the score, lines total or hi-score (1)
29621 Add to the score and print it
29643 Add to the lines total and print it
29681 Open the Science Lab storeroom door if ERIC has the key
29696 Calculate appropriate coordinates for a message box
29716 Make a teacher give lines
29836 Make a sound effect
29856 Check whether any adults were hit by the pellet, water, sherry or conker
29896 Control the descent of the water, sherry or conker
30102 Deal with a character who has been knocked over
30205 Check whether a pellet has hit a cup
30229 Check whether a pellet has hit a cup containing water, sherry or the frog
30292 Check for walls, doors and windows in the path of a mouse, frog or pellet
30380 Control the flight of a catapult pellet
30534 Initialise an uninterruptible subcommand
30543 Check whether a character is on the top, middle or bottom floor
30555 Make BOY WANDER fire his catapult now and then
30643 Deal with BOY WANDER when he is firing
30664 Check whether any characters were or can be punched by ERIC or ANGELFACE
30706 Make ANGELFACE hit now and then
30739 Deal with ANGELFACE when he is hitting
30786 Knock down a main kid hit by a pellet
30804 Deal with the frog when it has been knocked out of a cup
30906 Control the frog
31078 Control a female character while she's standing on a chair or jumping (1)
31092 Make a female character stand on a chair or start jumping
31128 Control a female character while she's standing on a chair or jumping (2)
31150 Make any female characters near a mouse start or continue jumping
31254 Control a mouse
31462 Release some mice (if possible)
31502 Prepare character buffers for released mice
31573 Make ERIC catch a mouse or frog (if present)
31723 Update the SRB for ERIC or his pellet and scroll the screen if necessary
31733 Make ERIC catch the frog (if possible)
31746 Print the inventory
31844 Print an inventory item
31861 Collect the bit mask and game status buffer address for an event identifier
31887 Check whether a signal has been raised
31893 Raise the signal for a certain event (unused)
31896 Raise the signal for a certain event
31905 Lower the signal for a certain event (unused)
31915 Check whether a character should continue walking up and down
31952 Make a character walk up and down until a certain time
31969 Make a character walk up and down a few times or until a certain time
32000 Get the identifier for ERIC's location
32021 Check whether ERIC is where he should be
32032 Make any nearby teacher give ERIC lines if necessary (1)
32054 Make MR WACKER find the truant ERIC
32062 Make any nearby teacher give ERIC lines if necessary (2)
32373 Make MISS TAKE chase ERIC (1)
32379 Make MISS TAKE chase ERIC (2)
32433 Print the lesson and ring the bell
32497 Make BOY WANDER write on a blackboard
53796 Make a character do nothing
57637 'C' pressed - catch a mouse or the frog
57669 Deal with ERIC when he's bending over, dropping a stinkbomb etc.
57893 'R' pressed - release mice
57910 Prepare buffer 213 for use by a stinkbomb cloud
57935 Check whether buffer 214 is being used
61440 Control EINSTEIN during class
61463 Make EINSTEIN speak
61487 Make a teacher give lines to EINSTEIN or the kid he grassed up
61512 Check whether ERIC and EINSTEIN are in class
61533 Make a teacher tell the class what to do
61555 Restart the command list or make a teacher tell the kids to sit down
61595 Make a teacher find the truant ERIC
61624 Restart the command list
61631 Make a teacher find ERIC if he's absent during dinner
61658 Control a teacher during assembly
61696 Make a teacher conduct a class
62032 Make MR WACKER put the kids in detention
62094 Deal with ERIC when he's been knocked over
62178 Deal with ERIC when he's sitting or lying down
62423 'S' pressed - sit (1)
62438 Make ERIC sit in a chair or on the floor
62460 'S' pressed - sit (2)
62483 Collect a keypress during the game (or simulate one in demo mode)
62560 Make the next command be the start of the command list
62572 Restart the command list unless the boys' skool door is closed
62599 Jump forward in the command list if the boys' skool door or the gate is closed
62620 Wait till everyone has gone past the gate or the boys' skool door
62668 Make ALBERT keep an eye out for ERIC during lessons
62770 Set MR WACKER on his way to expel ERIC
62794 Make MR WACKER find the truant ERIC
62815 Make MR WACKER find and expel ERIC
62910 Prepare for a new game
63156 Move the characters, close doors, and give ERIC lines if necessary
63166 Start a new game if a key is pressed while ERIC's sitting or lying down in demo mode
63189 Start a new game or enter demo mode
63210 Main loop
63309 Change the lesson
63405 Deal with ERIC
63447 Place a continual subcommand routine address into a character's buffer
63455 Make ANGELFACE stalk HAYLEY
63492 Make ANGELFACE or BOY WANDER hit or fire now and then
63501 Restart the command list unless it's time for assembly
63512 Scroll the display file left or right one column
63553 Scroll the display file left one column
63561 Scroll the display file right one column
63576 Clear various game and lesson flags
63586 Deal with a stinkbomb when dropped
63801 Deal with MR WACKER's journey to a window
63861 Prepare the buffer for ERIC's catapult pellet and make a sound effect
63878 Check for the presence of a plant pot
63898 'G' pressed - fire water pistol
63915 Control water fired from the pistol (1)
64057 Control water fired from the pistol (2)
64077 Deal with water fired from the pistol at certain phases
64242 Begin ERIC's descent from a plant, a plant pot, or the assembly hall stage
64259 Deal with ERIC when he's stepping off a plant, a plant pot, or the assembly hall stage
64316 Deal with ERIC when he's standing on a plant or plant pot
64416 Deal with ERIC when he's falling to the floor to land on his feet
64460 Deal with ERIC while he's falling (1)