Skool Daze Routines
Address Description
24576 Scroll the screen right one column
24731 Scroll the screen left one column
24832 Print a tile (unused)
24843 Print a tile
24972 Collect one byte from a command list
24993 Get a random number
25008 Update a character's animatory state and location and update the SRB
25108 Update the SRB for a character's current animatory state and location
25126 Move the characters
25248 Terminate a command
25266 Determine whether a character should be moved (1)
25303 Make a character walk up and down until a certain time
25367 Determine whether a character should be moved (2)
25374 Check whether a signal has been raised
25404 Guide a character to an intermediate destination
25484 Guide a character up a staircase
25488 Guide a character down a staircase
25534 Make a character go to a location
25695 Guide a character from the top floor to another floor
25700 Guide a character from the bottom floor to another floor
25750 Guide a character to a location on the same floor
25810 Scroll the screen right 8 columns
25820 Scroll the screen left 8 columns
25830 Update the display (unused)
25856 Move ERIC from the midstride position and scroll the screen if necessary
25916 Put ERIC midstride, or raise his arm while writing on a blackboard
25956 Check whether ERIC is sitting or lying down
25962 Turn ERIC round
25983 'A' pressed - down
26084 'Q' pressed - up
26184 Check whether a character is on a staircase
26194 'O' pressed - left
26282 'P' pressed - right
26342 Change the lesson
26422 Get the ASCII code of the last key pressed (unused)
26426 Get the ASCII code of the last key pressed
26450 Ring the bell
26471 Main loop
26584 Get input from the Kempston joystick if it's in use
26784 Request and set the input method (keyboard, joystick, Int2)
26880 Start a new game or enter demo mode
27008 Update the SRB for one column of a sprite
27026 Update the display
27090 Set a random destination for a character
27111 Make a character go to a random location
27126 Make a little boy trip people up
27196 Make a stricken character give lines if he's a teacher
27206 Deal with a character who has been knocked over
27246 Make little boy no. 1 go to a place at random and trip people up on the way
27266 Make a little boy find and follow little boy no. 1
27303 Deal with ERIC when he's been knocked over
27351 Return to the main loop having already dealt with ERIC
27353 Deal with ERIC
27387 Add to the score and print it
27406 Print the bottom three lines of the screen
27442 Send a character on a mini-walkabout
27453 Make a character walk up and down a few times or until a certain time
27476 Lower the signal for a certain event
27480 Raise the signal for a certain event
27517 Knock the current occupant (if any) out of a chair
27543 Check whether a chair is occupied and unseat any occupant
27632 Check whether a character is beside a chair
27733 Deal with a character who's been dethroned (1)
27748 Deal with a character who's been dethroned (2)
27772 Deal with a character who is looking for a seat
27808 Make a character find a seat
27823 'S' pressed - sit/stand
27888 Make a character stand up if he's not already standing
27914 Get the base address of the graphic data for a sprite tile
27932 Control the horizontal flight of a catapult pellet
28102 Control the vertical flight of a catapult pellet
28143 Check whether a shield has been hit
28211 Select a special PLAYTIME occasionally
28220 Check whether a boy can be seen by a teacher
28304 Determine which floor is nearest to a character
28327 Get the x-coordinate range within which a character can see or be seen
28416 Check whether a character was or can be punched by ERIC or ANGELFACE
28446 Make ANGELFACE hit now and then
28544 Make ANGELFACE throw a punch (1)
28558 Make ANGELFACE throw a punch (2)
28569 Check whether anyone was punched by ERIC or ANGELFACE
28642 Make ANGELFACE throw a punch (3)
28655 Make ANGELFACE throw a punch (4)
28665 Make BOY WANDER fire his catapult (1)
28672 Make BOY WANDER fire his catapult now and then
28716 Make BOY WANDER fire his catapult (2)
28733 Make BOY WANDER fire his catapult (3)
28744 Make BOY WANDER fire his catapult (4)
28775 Make BOY WANDER fire his catapult (5)
28786 Make BOY WANDER fire his catapult (6)
28799 Make BOY WANDER his fire catapult (7)
28807 Update the SRB for a blackboard or the speech bubble lip
28882 Get the next character of a message being spoken or written
28968 Get the identifier and coordinates of the blackboard closest to a character
28994 Write a single character on a blackboard
29148 Make a teacher wipe a blackboard (1)
29160 Make a teacher wipe a blackboard (2)
29284 Make a character write on a blackboard
29394 Update the SRB for the middle six columns of the speech bubble
29442 Slide a message character into the speech bubble text window (2)
29518 Print the speech bubble
29706 Slide a message character into the speech bubble text window (1)
29735 Update the SRB for the speech bubble
29746 Remove the speech bubble
29871 Save the area of the screen that will be overwritten by a lines bubble
29977 Copy a graphic buffer to the screen
30042 Write a line of text into a graphic buffer
30097 Insert a pixel column into a graphic buffer
30132 Draw the left and right edges of a lines bubble
30156 Print a reprimand message
30208 Write a character's name into the lines bubble graphic buffer
30258 Insert a pixel column into the number graphic buffer
30278 Generate graphic data for a number
30408 Print the score, lines total or hi-score (1)
30432 Write the number of lines into the lines bubble graphic buffer
30457 Print the score, lines total or hi-score (2)
30464 Make a teacher give lines
30636 Make any nearby teacher give ERIC lines if necessary
30890 Make a teacher give lines to the closest main kid
31040 Print the lesson
31110 Make a character speak (1)
31130 Make a character speak (2)
31162 Control EINSTEIN during class (1)
31178 Control EINSTEIN during class (2)
31188 Check whether ERIC is where he should be
31229 Get ERIC's coordinates
31282 Prepare a question and answer
31452 Determine the next move of a character following another character
31638 Rewind to a specific point in a command list
31648 Make a teacher find the truant ERIC
31739 Move a character looking for ERIC from the midstride position
31768 Move a character looking for ERIC to the midstride position
31807 Restart the command list unless it's time to start the lesson
31815 Restart the command list
31834 Place a continual subcommand routine address into a character's buffer
31854 Make a teacher perform dinner duty (1)
31895 Make a teacher perform dinner duty (2)
31904 Make a teacher give lines to EINSTEIN for telling tales
31919 Make EINSTEIN speak
31944 Make a teacher wait for EINSTEIN to finish speaking
31952 Check whether ERIC and EINSTEIN are in class
31968 Make a teacher decide whether to give EINSTEIN lines for telling tales
31985 Call an interruptible subcommand
31996 Make a teacher tell the kids to go to a certain page in their books
32048 Make a teacher conduct a class without ERIC
32132 Make a teacher tell the kids to sit down
32158 Make BOY WANDER write on a blackboard
32167 Make BOY WANDER write on a blackboard if the teacher hasn't arrived yet
32178 Make a teacher conduct a class
32216 Insert a pixel column into the top or bottom half of the speech bubble text window
32234 Make a character walk fast
32242 Make a character speak at the correct speed
32250 Exit demo mode
32279 Play a tune
32390 Play the theme tune for the first time
32400 Play the theme tune
32406 Play the 'Got all shields/opened safe' tune
32418 Play the first part of the 'Got all shields/opened safe' tune
32470 Remove the speech bubble if present
32484 Save Skool Daze to tape
44520 Insert a pixel column into the message graphic buffer
44776 Insert message text into the message graphic buffer
44919 Prepare a character to be walked onto the screen (1)
45032 Print a message centred across the entire screen
45170 Get the LSB of the message address for a main character's name
45288 Print a character's title and name, and walk him onto the screen (1)
45429 Prepare a character to be walked onto the screen (2)
45544 Print a character's title and name, and walk him onto the screen (2)
45682 Prepare a message in the message graphic buffer (1)
45800 Print a character's title and name, and walk him onto the screen (3)
45937 Prepare a message in the message graphic buffer (2)
46056 Print a character's title and name, and walk him onto the screen (4)
46070 Print 'PRESS'C'TO CHANGE NAME'
46202 Prepare a character to be walked onto the screen (3)
46312 Move a character one step along the catwalk
46568 Guide a character onto the catwalk or off it
46824 Print 'PRESS'C'TO CHANGE NAME' and wait for a keypress
47080 Collect a keypress while a character's name is being entered
47208 Change a character's name (1)
47336 Change a character's name (2)
58604 Play the 'hit a shield' sound effect
60128 Make a hitting sound effect
60139 Make a jumping sound effect
60896 Prepare for a new game
61152 Prepare to change the names of the characters
61408 Display the cast of characters and change their names
62208 Make a teacher conduct a class with ERIC
62464 Make a teacher conduct a question-and-answer session
62495 Deal with ERIC when he's firing the catapult
62574 'F' pressed - fire catapult
62610 'H' pressed - hit
62617 'J' pressed - jump
62628 Deal with ERIC when he's hitting
62674 Get the attribute file address of a pellet's potential target or the safe
62705 Set the new score and print it
62714 Open the lip of the speech bubble
62750 Check whether ERIC has jumped up to the safe or a shield (1)
62771 Deal with ERIC when he's jumping
62905 Check whether ERIC is standing on a boy who's been knocked out
62938 Collect a keypress during the game (or simulate one in demo mode)
63056 'W' pressed - write on a blackboard
63146 Deal with ERIC when he's writing on a blackboard
63191 Make MR CREAK reveal his safe combination letter if appropriate
63231 Get the address of the appropriate 'Go home' message
63242 Unflash the safe and all the shields
63270 Check whether ERIC has jumped up to the safe or a shield (2)
63352 Deal with ERIC when he's being spoken to by a little boy
63374 Make a character find ERIC
63456 Make MR WACKER give ERIC 2000 lines
63488 Make little boy no. 10 give ERIC a message
63573 Generate a safe combination code and set MR CREAK's birth year
63668 Adjust the game mode
63734 Check whether MR CREAK can reveal his safe combination letter
63749 Collect the identifier for the next lesson
63768 Scroll the skool into view and enter the main loop
63779 Make MR CREAK ask the birth year question if appropriate
63829 Make a stricken teacher give lines or reveal his safe combination letter
63909 Print the lesson
63931 Check whether ERIC has 10000 lines
63964 Make a teacher tell ERIC to go home, and end the game (1)
63973 Compare a character's coordinates with ERIC's
63990 Make a teacher tell ERIC to go home, and end the game (2)
64004 Adjust the lesson length and prepare a character for the search for ERIC
64016 Check whether MR CREAK is near a blackboard last written on by ERIC
64035 Restart command list 220
64042 Check whether ANGELFACE is touching ERIC
64073 Ask whether the characters' names should be changed
65088 Make a walking sound effect (yellow border)
65106 Make a walking sound effect (blue border)
65111 Make a knocked-out sound effect
65141 Make a catapult sound effect