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)