![]() |
Routines |
Page | Byte | Address | Length | Description |
---|---|---|---|---|
96 | 0 | 24576 | 123 |
Scroll the screen right one column
|
96 | 155 | 24731 | 94 |
Scroll the screen left one column
|
97 | 0 | 24832 | 11 |
Print a tile (unused)
|
97 | 11 | 24843 | 120 |
Print a tile
|
97 | 140 | 24972 | 21 |
Collect one byte from a command list
|
97 | 161 | 24993 | 15 |
Get a random number
|
97 | 176 | 25008 | 98 |
Update a character's animatory state and location and update the SRB
|
98 | 20 | 25108 | 18 |
Update the SRB for a character's current animatory state and location
|
98 | 38 | 25126 | 122 |
Move the characters
|
98 | 160 | 25248 | 18 |
Terminate a command
|
98 | 178 | 25266 | 37 |
Determine whether a character should be moved (1)
|
98 | 215 | 25303 | 64 |
Make a character walk up and down until a certain time
|
99 | 23 | 25367 | 6 |
Determine whether a character should be moved (2)
|
99 | 30 | 25374 | 28 |
Check whether a signal has been raised
|
99 | 60 | 25404 | 76 |
Guide a character to an intermediate destination
|
99 | 140 | 25484 | 4 |
Guide a character up a staircase
|
99 | 144 | 25488 | 44 |
Guide a character down a staircase
|
99 | 190 | 25534 | 157 |
Make a character go to a location
|
100 | 95 | 25695 | 5 |
Guide a character from the top floor to another floor
|
100 | 100 | 25700 | 49 |
Guide a character from the bottom floor to another floor
|
100 | 150 | 25750 | 52 |
Guide a character to a location on the same floor
|
100 | 210 | 25810 | 10 |
Scroll the screen right 8 columns
|
100 | 220 | 25820 | 10 |
Scroll the screen left 8 columns
|
100 | 230 | 25830 | 23 |
Update the display (unused)
|
101 | 0 | 25856 | 60 |
Move ERIC from the midstride position and scroll the screen if necessary
|
101 | 60 | 25916 | 36 |
Put ERIC midstride, or raise his arm while writing on a blackboard
|
101 | 100 | 25956 | 6 |
Check whether ERIC is sitting or lying down
|
101 | 106 | 25962 | 19 |
Turn ERIC round
|
101 | 127 | 25983 | 92 |
'A' pressed - down
|
101 | 228 | 26084 | 91 |
'Q' pressed - up
|
102 | 72 | 26184 | 10 |
Check whether a character is on a staircase
|
102 | 82 | 26194 | 82 |
'O' pressed - left
|
102 | 170 | 26282 | 54 |
'P' pressed - right
|
102 | 230 | 26342 | 80 |
Change the lesson
|
103 | 54 | 26422 | 4 |
Get the ASCII code of the last key pressed (unused)
|
103 | 58 | 26426 | 24 |
Get the ASCII code of the last key pressed
|
103 | 82 | 26450 | 21 |
Ring the bell
|
103 | 103 | 26471 | 101 |
Main loop
|
103 | 216 | 26584 | 37 |
Get input from the Kempston joystick if it's in use
|
104 | 160 | 26784 | 52 |
Request and set the input method (keyboard, joystick, Int2)
|
105 | 0 | 26880 | 127 |
Start a new game or enter demo mode
|
105 | 128 | 27008 | 18 |
Update the SRB for one column of a sprite
|
105 | 146 | 27026 | 56 |
Update the display
|
105 | 210 | 27090 | 21 |
Set a random destination for a character
|
105 | 231 | 27111 | 14 |
Make a character go to a random location
|
105 | 246 | 27126 | 65 |
Make a little boy trip people up
|
106 | 60 | 27196 | 10 |
Make a stricken character give lines if he's a teacher
|
106 | 70 | 27206 | 40 |
Deal with a character who has been knocked over
|
106 | 110 | 27246 | 16 |
Make little boy no. 1 go to a place at random and trip people up on the way
|
106 | 130 | 27266 | 31 |
Make a little boy find and follow little boy no. 1
|
106 | 167 | 27303 | 48 |
Deal with ERIC when he's been knocked over
|
106 | 215 | 27351 | 2 |
Return to the main loop having already dealt with ERIC
|
106 | 217 | 27353 | 34 |
Deal with ERIC
|
106 | 251 | 27387 | 19 |
Add to the score and print it
|
107 | 14 | 27406 | 36 |
Print the bottom three lines of the screen
|
107 | 50 | 27442 | 9 |
Send a character on a mini-walkabout
|
107 | 61 | 27453 | 23 |
Make a character walk up and down a few times or until a certain time
|
107 | 84 | 27476 | 4 |
Lower the signal for a certain event
|
107 | 88 | 27480 | 32 |
Raise the signal for a certain event
|
107 | 125 | 27517 | 25 |
Knock the current occupant (if any) out of a chair
|
107 | 151 | 27543 | 78 |
Check whether a chair is occupied and unseat any occupant
|
107 | 240 | 27632 | 94 |
Check whether a character is beside a chair
|
108 | 85 | 27733 | 15 |
Deal with a character who's been dethroned (1)
|
108 | 100 | 27748 | 24 |
Deal with a character who's been dethroned (2)
|
108 | 124 | 27772 | 26 |
Deal with a character who is looking for a seat
|
108 | 160 | 27808 | 14 |
Make a character find a seat
|
108 | 175 | 27823 | 63 |
'S' pressed - sit/stand
|
108 | 240 | 27888 | 21 |
Make a character stand up if he's not already standing
|
109 | 10 | 27914 | 18 |
Get the base address of the graphic data for a sprite tile
|
109 | 28 | 27932 | 169 |
Control the horizontal flight of a catapult pellet
|
109 | 198 | 28102 | 41 |
Control the vertical flight of a catapult pellet
|
109 | 239 | 28143 | 68 |
Check whether a shield has been hit
|
110 | 51 | 28211 | 9 |
Select a special PLAYTIME occasionally
|
110 | 60 | 28220 | 83 |
Check whether a boy can be seen by a teacher
|
110 | 144 | 28304 | 23 |
Determine which floor is nearest to a character
|
110 | 167 | 28327 | 53 |
Get the x-coordinate range within which a character can see or be seen
|
111 | 0 | 28416 | 26 |
Check whether a character was or can be punched by ERIC or ANGELFACE
|
111 | 30 | 28446 | 87 |
Make ANGELFACE hit now and then
|
111 | 128 | 28544 | 14 |
Make ANGELFACE throw a punch (1)
|
111 | 142 | 28558 | 11 |
Make ANGELFACE throw a punch (2)
|
111 | 153 | 28569 | 73 |
Check whether anyone was punched by ERIC or ANGELFACE
|
111 | 226 | 28642 | 13 |
Make ANGELFACE throw a punch (3)
|
111 | 239 | 28655 | 3 |
Make ANGELFACE throw a punch (4)
|
111 | 249 | 28665 | 7 |
Make BOY WANDER fire his catapult (1)
|
112 | 0 | 28672 | 41 |
Make BOY WANDER fire his catapult now and then
|
112 | 44 | 28716 | 17 |
Make BOY WANDER fire his catapult (2)
|
112 | 61 | 28733 | 11 |
Make BOY WANDER fire his catapult (3)
|
112 | 72 | 28744 | 31 |
Make BOY WANDER fire his catapult (4)
|
112 | 103 | 28775 | 11 |
Make BOY WANDER fire his catapult (5)
|
112 | 114 | 28786 | 13 |
Make BOY WANDER fire his catapult (6)
|
112 | 127 | 28799 | 3 |
Make BOY WANDER his fire catapult (7)
|
112 | 135 | 28807 | 75 |
Update the SRB for a blackboard or the speech bubble lip
|
112 | 210 | 28882 | 78 |
Get the next character of a message being spoken or written
|
113 | 40 | 28968 | 26 |
Get the identifier and coordinates of the blackboard closest to a character
|
113 | 66 | 28994 | 143 |
Write a single character on a blackboard
|
113 | 220 | 29148 | 5 |
Make a teacher wipe a blackboard (1)
|
113 | 232 | 29160 | 118 |
Make a teacher wipe a blackboard (2)
|
114 | 100 | 29284 | 101 |
Make a character write on a blackboard
|
114 | 210 | 29394 | 47 |
Update the SRB for the middle six columns of the speech bubble
|
115 | 2 | 29442 | 71 |
Slide a message character into the speech bubble text window (2)
|
115 | 78 | 29518 | 178 |
Print the speech bubble
|
116 | 10 | 29706 | 26 |
Slide a message character into the speech bubble text window (1)
|
116 | 39 | 29735 | 11 |
Update the SRB for the speech bubble
|
116 | 50 | 29746 | 122 |
Remove the speech bubble
|
116 | 175 | 29871 | 101 |
Save the area of the screen that will be overwritten by a lines bubble
|
117 | 25 | 29977 | 62 |
Copy a graphic buffer to the screen
|
117 | 90 | 30042 | 51 |
Write a line of text into a graphic buffer
|
117 | 145 | 30097 | 18 |
Insert a pixel column into a graphic buffer
|
117 | 180 | 30132 | 24 |
Draw the left and right edges of a lines bubble
|
117 | 204 | 30156 | 47 |
Print a reprimand message
|
118 | 0 | 30208 | 43 |
Write a character's name into the lines bubble graphic buffer
|
118 | 50 | 30258 | 18 |
Insert a pixel column into the number graphic buffer
|
118 | 70 | 30278 | 128 |
Generate graphic data for a number
|
118 | 200 | 30408 | 24 |
Print the score, lines total or hi-score (1)
|
118 | 224 | 30432 | 25 |
Write the number of lines into the lines bubble graphic buffer
|
118 | 249 | 30457 | 7 |
Print the score, lines total or hi-score (2)
|
119 | 0 | 30464 | 139 |
Make a teacher give lines
|
119 | 172 | 30636 | 252 |
Make any nearby teacher give ERIC lines if necessary
|
120 | 170 | 30890 | 144 |
Make a teacher give lines to the closest main kid
|
121 | 64 | 31040 | 68 |
Print the lesson
|
121 | 134 | 31110 | 20 |
Make a character speak (1)
|
121 | 154 | 31130 | 22 |
Make a character speak (2)
|
121 | 186 | 31162 | 16 |
Control EINSTEIN during class (1)
|
121 | 202 | 31178 | 10 |
Control EINSTEIN during class (2)
|
121 | 212 | 31188 | 41 |
Check whether ERIC is where he should be
|
121 | 253 | 31229 | 26 |
Get ERIC's coordinates
|
122 | 50 | 31282 | 165 |
Prepare a question and answer
|
122 | 220 | 31452 | 185 |
Determine the next move of a character following another character
|
123 | 150 | 31638 | 10 |
Rewind to a specific point in a command list
|
123 | 160 | 31648 | 91 |
Make a teacher find the truant ERIC
|
123 | 251 | 31739 | 29 |
Move a character looking for ERIC from the midstride position
|
124 | 24 | 31768 | 39 |
Move a character looking for ERIC to the midstride position
|
124 | 63 | 31807 | 8 |
Restart the command list unless it's time to start the lesson
|
124 | 71 | 31815 | 16 |
Restart the command list
|
124 | 90 | 31834 | 18 |
Place a continual subcommand routine address into a character's buffer
|
124 | 110 | 31854 | 41 |
Make a teacher perform dinner duty (1)
|
124 | 151 | 31895 | 8 |
Make a teacher perform dinner duty (2)
|
124 | 160 | 31904 | 15 |
Make a teacher give lines to EINSTEIN for telling tales
|
124 | 175 | 31919 | 25 |
Make EINSTEIN speak
|
124 | 200 | 31944 | 8 |
Make a teacher wait for EINSTEIN to finish speaking
|
124 | 208 | 31952 | 16 |
Check whether ERIC and EINSTEIN are in class
|
124 | 224 | 31968 | 17 |
Make a teacher decide whether to give EINSTEIN lines for telling tales
|
124 | 241 | 31985 | 11 |
Call an interruptible subcommand
|
124 | 252 | 31996 | 52 |
Make a teacher tell the kids to go to a certain page in their books
|
125 | 48 | 32048 | 83 |
Make a teacher conduct a class without ERIC
|
125 | 132 | 32132 | 26 |
Make a teacher tell the kids to sit down
|
125 | 158 | 32158 | 9 |
Make BOY WANDER write on a blackboard
|
125 | 167 | 32167 | 11 |
Make BOY WANDER write on a blackboard if the teacher hasn't arrived yet
|
125 | 178 | 32178 | 34 |
Make a teacher conduct a class
|
125 | 216 | 32216 | 18 |
Insert a pixel column into the top or bottom half of the speech bubble text window
|
125 | 234 | 32234 | 8 |
Make a character walk fast
|
125 | 242 | 32242 | 8 |
Make a character speak at the correct speed
|
125 | 250 | 32250 | 6 |
Exit demo mode
|
126 | 23 | 32279 | 74 |
Play a tune
|
126 | 134 | 32390 | 10 |
Play the theme tune for the first time
|
126 | 144 | 32400 | 6 |
Play the theme tune
|
126 | 150 | 32406 | 12 |
Play the 'Got all shields/opened safe' tune
|
126 | 162 | 32418 | 16 |
Play the first part of the 'Got all shields/opened safe' tune
|
126 | 214 | 32470 | 14 |
Remove the speech bubble if present
|
126 | 228 | 32484 | 13 |
Save Skool Daze to tape
|
173 | 232 | 44520 | 19 |
Insert a pixel column into the message graphic buffer
|
174 | 232 | 44776 | 23 |
Insert message text into the message graphic buffer
|
175 | 119 | 44919 | 8 |
Prepare a character to be walked onto the screen (1)
|
175 | 232 | 45032 | 21 |
Print a message centred across the entire screen
|
176 | 114 | 45170 | 13 |
Get the LSB of the message address for a main character's name
|
176 | 232 | 45288 | 23 |
Print a character's title and name, and walk him onto the screen (1)
|
177 | 117 | 45429 | 10 |
Prepare a character to be walked onto the screen (2)
|
177 | 232 | 45544 | 23 |
Print a character's title and name, and walk him onto the screen (2)
|
178 | 114 | 45682 | 13 |
Prepare a message in the message graphic buffer (1)
|
178 | 232 | 45800 | 23 |
Print a character's title and name, and walk him onto the screen (3)
|
179 | 113 | 45937 | 14 |
Prepare a message in the message graphic buffer (2)
|
179 | 232 | 46056 | 14 |
Print a character's title and name, and walk him onto the screen (4)
|
179 | 246 | 46070 | 9 |
Print 'PRESS'C'TO CHANGE NAME'
|
180 | 122 | 46202 | 5 |
Prepare a character to be walked onto the screen (3)
|
180 | 232 | 46312 | 23 |
Move a character one step along the catwalk
|
181 | 232 | 46568 | 22 |
Guide a character onto the catwalk or off it
|
182 | 232 | 46824 | 18 |
Print 'PRESS'C'TO CHANGE NAME' and wait for a keypress
|
183 | 232 | 47080 | 23 |
Collect a keypress while a character's name is being entered
|
184 | 104 | 47208 | 23 |
Change a character's name (1)
|
184 | 232 | 47336 | 22 |
Change a character's name (2)
|
228 | 236 | 58604 | 19 |
Play the 'hit a shield' sound effect
|
234 | 224 | 60128 | 11 |
Make a hitting sound effect
|
234 | 235 | 60139 | 14 |
Make a jumping sound effect
|
237 | 224 | 60896 | 31 |
Prepare for a new game
|
238 | 224 | 61152 | 32 |
Prepare to change the names of the characters
|
239 | 224 | 61408 | 32 |
Display the cast of characters and change their names
|
243 | 0 | 62208 | 245 |
Make a teacher conduct a class with ERIC
|
244 | 0 | 62464 | 31 |
Make a teacher conduct a question-and-answer session
|
244 | 31 | 62495 | 76 |
Deal with ERIC when he's firing the catapult
|
244 | 110 | 62574 | 36 |
'F' pressed - fire catapult
|
244 | 146 | 62610 | 7 |
'H' pressed - hit
|
244 | 153 | 62617 | 11 |
'J' pressed - jump
|
244 | 164 | 62628 | 41 |
Deal with ERIC when he's hitting
|
244 | 210 | 62674 | 31 |
Get the attribute file address of a pellet's potential target or the safe
|
244 | 241 | 62705 | 9 |
Set the new score and print it
|
244 | 250 | 62714 | 34 |
Open the lip of the speech bubble
|
245 | 30 | 62750 | 21 |
Check whether ERIC has jumped up to the safe or a shield (1)
|
245 | 51 | 62771 | 131 |
Deal with ERIC when he's jumping
|
245 | 185 | 62905 | 32 |
Check whether ERIC is standing on a boy who's been knocked out
|
245 | 218 | 62938 | 117 |
Collect a keypress during the game (or simulate one in demo mode)
|
246 | 80 | 63056 | 90 |
'W' pressed - write on a blackboard
|
246 | 170 | 63146 | 45 |
Deal with ERIC when he's writing on a blackboard
|
246 | 215 | 63191 | 40 |
Make MR CREAK reveal his safe combination letter if appropriate
|
246 | 255 | 63231 | 11 |
Get the address of the appropriate 'Go home' message
|
247 | 10 | 63242 | 28 |
Unflash the safe and all the shields
|
247 | 38 | 63270 | 76 |
Check whether ERIC has jumped up to the safe or a shield (2)
|
247 | 120 | 63352 | 21 |
Deal with ERIC when he's being spoken to by a little boy
|
247 | 142 | 63374 | 76 |
Make a character find ERIC
|
247 | 224 | 63456 | 30 |
Make MR WACKER give ERIC 2000 lines
|
248 | 0 | 63488 | 85 |
Make little boy no. 10 give ERIC a message
|
248 | 85 | 63573 | 93 |
Generate a safe combination code and set MR CREAK's birth year
|
248 | 180 | 63668 | 66 |
Adjust the game mode
|
248 | 246 | 63734 | 15 |
Check whether MR CREAK can reveal his safe combination letter
|
249 | 5 | 63749 | 18 |
Collect the identifier for the next lesson
|
249 | 24 | 63768 | 11 |
Scroll the skool into view and enter the main loop
|
249 | 35 | 63779 | 50 |
Make MR CREAK ask the birth year question if appropriate
|
249 | 85 | 63829 | 79 |
Make a stricken teacher give lines or reveal his safe combination letter
|
249 | 165 | 63909 | 21 |
Print the lesson
|
249 | 187 | 63931 | 33 |
Check whether ERIC has 10000 lines
|
249 | 220 | 63964 | 8 |
Make a teacher tell ERIC to go home, and end the game (1)
|
249 | 229 | 63973 | 17 |
Compare a character's coordinates with ERIC's
|
249 | 246 | 63990 | 14 |
Make a teacher tell ERIC to go home, and end the game (2)
|
250 | 4 | 64004 | 12 |
Adjust the lesson length and prepare a character for the search for ERIC
|
250 | 16 | 64016 | 19 |
Check whether MR CREAK is near a blackboard last written on by ERIC
|
250 | 35 | 64035 | 7 |
Restart command list 220
|
250 | 42 | 64042 | 31 |
Check whether ANGELFACE is touching ERIC
|
250 | 73 | 64073 | 34 |
Ask whether the characters' names should be changed
|
254 | 64 | 65088 | 18 |
Make a walking sound effect (yellow border)
|
254 | 82 | 65106 | 5 |
Make a walking sound effect (blue border)
|
254 | 87 | 65111 | 30 |
Make a knocked-out sound effect
|
254 | 117 | 65141 | 10 |
Make a catapult sound effect
|