Routines
Address
Description
50A0
Clear character buffer 0xD6
50B9
Print a message centred across the entire screen
50E5
Populate a row of the screen with machine code
51A0
Change a character's name
51DC
Guide a character onto the catwalk or off it
52A0
Display the cast of characters and change their names
53A0
Do essential POKEs before the game starts
53AB
Make a walking sound effect (yellow border)
53B1
Clear the screen and request the input method (keyboard, joystick, Int2)
54A0
Set the input method, change the characters' names, and start the game
54F2
Prepare addresses 5D00 to 5FFF
55A0
Count down from 9 to 0
5D00
Deal with ERIC while he's falling (2)
5D23
Deal with ERIC's flight from the saddle of the bike
5D33
Deal with ERIC's descent from the top-floor window
5D37
'T' pressed - throw away the water pistol
5D4F
'J' pressed - jump
5D63
Deal with ERIC when he's jumping
5DDC
Compare blackboard contents with combinations
5E45
'W' pressed - write on a blackboard
5E6F
Deal with ERIC when he's writing on a blackboard
5EAD
Deal with ERIC when he's firing the catapult, hitting or kissing
5EB7
Signal that ERIC is firing the catapult, hitting, or kissing
5EC7
'H' pressed - hit
5EE8
'F' pressed - fire catapult
5F08
Make HAYLEY hit ERIC
5F1C
'K' pressed - kiss
5F9D
Play a tune
6000
Superimpose sprite tiles onto a tile of the play area
606C
Print a tile
6130
Update a character's animatory state and location and update the SRB
61B4
Update the SRB for a character's current animatory state and location
61C2
Scroll the screen left 8 columns
61F8
Scroll the screen right 8 columns
6264
Copy two bytes from a command list into a character's buffer
627D
Collect one byte from a command list
6291
Get a random number
62A0
Update the display
62D0
Move the characters
638C
Terminate a command
639F
Call an interruptible subcommand
63B0
Jump to an interruptible subcommand
63B5
Set the interruptible subcommand (unused)
63BE
Determine ERIC's y-coordinate
63D2
Get the play area region identifier for a given location
63ED
Guide a character to an intermediate destination
6438
Guide a character up a staircase
644D
Guide a character down a staircase
6464
Make a character go to a location
64D7
Make a character go to a random location
64F3
Determine the next move of a character following another character
6558
Make a teacher find ERIC
65D4
Check whether a character is beside a chair
6618
Check whether a chair is occupied
663F
Knock the current occupant (if any) out of a chair
6670
Deal with a character who's been dethroned (1)
667F
Deal with a character who's been dethroned (2)
6697
Deal with a character who is looking for a seat
66C0
Make a character find a seat
66CE
Get the next character of a message being spoken or written
670C
Update the SRB for a blackboard
6755
Get the identifier and coordinates of the blackboard close to a character
6780
Move the bike if it's obstructing the boys' skool door or the gate
6791
Write a single character on a blackboard
680F
Make a teacher wipe a blackboard
6880
Make a character write on a blackboard
68E1
Update the SRB so that the speech bubble is not corrupted
691E
Remove the speech bubble
693D
Print a speech bubble UDG
694E
Print the speech bubble
69E6
Place a font character bitmap into a message graphic buffer
6A08
Make a character speak
6A8C
Save the area of the screen that will be overwritten by a message box
6AE4
Copy a graphic buffer to the screen
6B1B
Write a line of text into a graphic buffer
6B46
Print a message box
6B69
Print the score, lines total or hi-score (2)
6BB4
Compute the decimal digits of a number
6C18
Alter UDG references in the play area for a door, a window, a cup or the bike
6C9C
Check whether any characters were punched
6CAC
Check whether any characters have been hit by a fist, pellet or conker
6CD4
Prepare the doors, windows, cups and bike for new game
6CEE
Get the x-coordinate range within which a character can see or be seen
6D00
Control a boy during assembly
6D32
Check whether a target character can be seen by another character
6D62
Check whether ERIC can be seen by an adult
6D7D
Check for main kids near a teacher
6DA3
Check whether a location is on the assembly hall stage
6DB5
Determine which floor ERIC's on when he's not standing directly on one
6DD2
Put ERIC midstride
6E00
Move ERIC from the midstride or mid-action position and scroll the screen if necessary
6E38
Turn ERIC round
6E50
Check whether a character is on a staircase
6E91
Deal with ERIC when he has stepped off the stage
6E9B
Check for walls and closed doors in front of ERIC
6F14
'P' pressed - right
6F2C
'O' pressed - left
6F44
'Q' pressed - up
6FA0
'A' pressed - down
6FF2
Collect the identifier and coordinates of a blackboard that will be wiped
7000
Check for walls, closed doors and ALBERT in front of the bike
7040
Open or close a door or window
705F
Check for a closed door in front of a character
708E
Check for a closed door in a character's path and open it if allowed
70B7
Make a character open or close a door
70CD
Close any temporarily open doors if necessary
7118
Score 100 points and make the sound of a mouse being caught
7132
Make a female character stop jumping
7140
'D' pressed - drop stinkbomb
7154
Make a walking sound effect (blue border)
7166
Prevent ERIC from getting past ALBERT if necessary
717C
Make a character open or close a door
71AD
Move the bike if it's obstructing the skool gate
71BE
Get the ASCII code of the last key pressed
71FA
Get the keypress offset of the last key pressed
720A
Control the bike when ERIC's not sitting on the saddle
725E
Deal with ERIC when he's riding the bike
7316
Deal with ERIC when he's standing on the saddle of the bike
7380
Display the frog in ERIC's inventory
7386
'M' pressed - mount bike
73AD
Print the score, lines total or hi-score (1)
73B5
Add to the score and print it
73CB
Add to the lines total and print it
73F1
Open the Science Lab storeroom door if ERIC has the key
7400
Calculate appropriate coordinates for a message box
7414
Make a teacher give lines
748C
Make a sound effect
74A0
Check whether any adults were hit by the pellet, water, sherry or conker
74C8
Control the descent of the water, sherry or conker
7596
Deal with a character who has been knocked over
75FD
Check whether a pellet has hit a cup
7615
Check whether a pellet has hit a cup containing water, sherry or the frog
7654
Check for walls, doors and windows in the path of a mouse, frog or pellet
76AC
Control the flight of a catapult pellet
7746
Initialise an uninterruptible subcommand
774F
Check whether a character is on the top, middle or bottom floor
775B
Make BOY WANDER fire his catapult now and then
77B3
Deal with BOY WANDER when he is firing
77C8
Check whether any characters were or can be punched by ERIC or ANGELFACE
77F2
Make ANGELFACE hit now and then
7813
Deal with ANGELFACE when he is hitting
7842
Knock down a main kid hit by a pellet
7854
Deal with the frog when it has been knocked out of a cup
78BA
Control the frog
7966
Control a female character while she's standing on a chair or jumping (1)
7974
Make a female character stand on a chair or start jumping
7998
Control a female character while she's standing on a chair or jumping (2)
79AE
Make any female characters near a mouse start or continue jumping
7A16
Control a mouse
7AE6
Release some mice (if possible)
7B0E
Prepare character buffers for released mice
7B55
Make ERIC catch a mouse or frog (if present)
7BEB
Update the SRB for ERIC or his pellet and scroll the screen if necessary
7BF5
Make ERIC catch the frog (if possible)
7C02
Print the inventory
7C64
Print an inventory item
7C75
Collect the bit mask and game status buffer address for an event identifier
7C8F
Check whether a signal has been raised
7C95
Raise the signal for a certain event (unused)
7C98
Raise the signal for a certain event
7CA1
Lower the signal for a certain event (unused)
7CAB
Check whether a character should continue walking up and down
7CD0
Make a character walk up and down until a certain time
7CE1
Make a character walk up and down a few times or until a certain time
7D00
Get the identifier for ERIC's location
7D15
Check whether ERIC is where he should be
7D20
Make any nearby teacher give ERIC lines if necessary (1)
7D36
Make MR WACKER find the truant ERIC
7D3E
Make any nearby teacher give ERIC lines if necessary (2)
7E75
Make MISS TAKE chase ERIC (1)
7E7B
Make MISS TAKE chase ERIC (2)
7EB1
Print the lesson and ring the bell
7EF1
Make BOY WANDER write on a blackboard
D224
Make a character do nothing
E125
'C' pressed - catch a mouse or the frog
E145
Deal with ERIC when he's bending over, dropping a stinkbomb etc.
E225
'R' pressed - release mice
E236
Prepare buffer 0xD5 for use by a stinkbomb cloud
E24F
Check whether buffer 0xD6 is being used
F000
Control EINSTEIN during class
F017
Make EINSTEIN speak
F02F
Make a teacher give lines to EINSTEIN or the kid he grassed up
F048
Check whether ERIC and EINSTEIN are in class
F05D
Make a teacher tell the class what to do
F073
Restart the command list or make a teacher tell the kids to sit down
F09B
Make a teacher find the truant ERIC
F0B8
Restart the command list
F0BF
Make a teacher find ERIC if he's absent during dinner
F0DA
Control a teacher during assembly
F100
Make a teacher conduct a class
F250
Make MR WACKER put the kids in detention
F28E
Deal with ERIC when he's been knocked over
F2E2
Deal with ERIC when he's sitting or lying down
F3D7
'S' pressed - sit (1)
F3E6
Make ERIC sit in a chair or on the floor
F3FC
'S' pressed - sit (2)
F413
Collect a keypress during the game (or simulate one in demo mode)
F460
Make the next command be the start of the command list
F46C
Restart the command list unless the boys' skool door is closed
F487
Jump forward in the command list if the boys' skool door or the gate is closed
F49C
Wait till everyone has gone past the gate or the boys' skool door
F4CC
Make ALBERT keep an eye out for ERIC during lessons
F532
Set MR WACKER on his way to expel ERIC
F54A
Make MR WACKER find the truant ERIC
F55F
Make MR WACKER find and expel ERIC
F5BE
Prepare for a new game
F6B4
Move the characters, close doors, and give ERIC lines if necessary
F6BE
Start a new game if a key is pressed while ERIC's sitting or lying down in demo mode
F6D5
Start a new game or enter demo mode
F6EA
Main loop
F74D
Change the lesson
F7AD
Deal with ERIC
F7D7
Place a continual subcommand routine address into a character's buffer
F7DF
Make ANGELFACE stalk HAYLEY
F804
Make ANGELFACE or BOY WANDER hit or fire now and then
F80D
Restart the command list unless it's time for assembly
F818
Scroll the display file left or right one column
F841
Scroll the display file left one column
F849
Scroll the display file right one column
F858
Clear various game and lesson flags
F862
Deal with a stinkbomb when dropped
F939
Deal with MR WACKER's journey to a window
F975
Prepare the buffer for ERIC's catapult pellet and make a sound effect
F986
Check for the presence of a plant pot
F99A
'G' pressed - fire water pistol
F9AB
Control water fired from the pistol (1)
FA39
Control water fired from the pistol (2)
FA4D
Deal with water fired from the pistol at certain phases
FAF2
Begin ERIC's descent from a plant, a plant pot, or the assembly hall stage
FB03
Deal with ERIC when he's stepping off a plant, a plant pot, or the assembly hall stage
FB3C
Deal with ERIC when he's standing on a plant or plant pot
FBA0
Deal with ERIC when he's falling to the floor to land on his feet
FBCC
Deal with ERIC while he's falling (1)