Memory map

Address Purpose
23808 Continuation of routine at 64460
23843 Deal with ERIC's descent from saddle of bike
23859 Make ERIC fall out of the top floor window
23863 'T' pressed - throw away water pistol
23887 'J' pressed - jump
23907 Deal with ERIC while he's jumping
24027 Unused (1 byte)
24028 ENTER pressed after writing on board
24132 Unused (1 byte)
24133 'W' pressed - write on board
24175 Deal with ERIC when he's writing on a board
24236 Unused (1 byte)
24237 Deal with ERIC when he's firing or hitting
24247 Signal that ERIC is firing or hitting, update SRB
24263 'H' pressed - hit
24294 Unused (2 bytes)
24296 'F' pressed - fire catapult
24328 Make HAYLEY hit ERIC
24348 'K' pressed - kiss
24476 Unused (1 byte)
24477 Play tune
24560 Tune pitch and timing data (used by routine above)
24576 Create UDG of play area
24677 Unused (7 bytes)
24684 Print a character square
24878 Unused (2 bytes)
24880 Update SRB for new animatory state and location of character
25011 Unused (1 byte)
25012 Update SRB for current animatory state and location of character
25026 Scroll screen left
25080 Scroll screen right
25186 Unused (2 bytes)
25188 Copy two bytes from table of A&P into character's buffer
25213 Collect one byte from table of A&P
25233 Get random number in A
25248 Update display area
25296 Move the characters
25484 Move to next instruction in table of A&P
25488 Blank out byte 10 of a character's buffer
25492 Blank out byte 18 of a character's buffer
25503 Redirect control of character to another routine temporarily
25520 Put address in BC in character's buffer and jump to it
25525 Redirect control of character to another routine temporarily (not used?)
25533 Unused (1 byte)
25534 Determine which floor ERIC's on
25554 Get information from a data table
25581 Guide character to (intermediate) destination
25656 Make character walk up stairs
25677 Make character walk down stairs
25699 Unused ( bytes)
25700 Make character walk to destination (Go to...)
25812 Unused (3 bytes)
25815 Choose random destination for character
25843 Compare character's current coordinates with destination
25940 Unused (4 bytes)
25944 Continuation of routine at 62794
26062 Unused (6 bytes)
26068 Check if character is beside a chair
26134 Unused (2 bytes)
26136 Check if any character is sitting in a chair
26175 Knock character out of chair if necessary
26223 Unused (1 byte)
26224 Control character when he's knocked out of his chair
26239 Control character after he's been knocked out of a chair
26263 Control character looking for a chair
26303 Unused (1 byte)
26304 Make character find a seat and sit down
26318 Return message character code in A
26378 Unused (2 bytes)
26380 Update SRB for blackboard
26453 Collect information about a blackboard
26496 Move bike if it's obstructing boys' skool door or the gate
26512 Unused (1 byte)
26513 Make character write one letter on a blackboard
26637 Unused (2 bytes)
26639 Make teacher wipe board
26750 Unused (2 bytes)
26752 Make character write on board
26845 Unused (4 bytes)
26849 Update SRB so that speech bubbles are not corrupted
26909 Unused (1 byte)
26910 Update SRB to remove speech bubble
26941 Print speech bubble UDG
26958 Print speech bubble
27109 Unused (1 byte)
27110 Place character graphic in message buffer
27143 Unused (1 byte)
27144 Make character speak
27272 Unused (4 bytes)
27276 Save area of screen to be overwritten by lines message etc.
27363 Unused (1 byte)
27364 Transfer message buffer to screen
27418 Unused (1 byte)
27419 Prepare one line of message in buffer
27461 Unused (1 byte)
27462 Print message box
27497 Print a number (score/lines/hi-score)
27570 Unused (2 bytes)
27572 Derive decimal digits of value in DE
27671 Unused (1 byte)
27672 Alter UDG references in play area for open/closed door/window
27803 Unused (1 byte)
27804 Check if any characters were hit by fist
27820 Check if any characters are in front of fist or pellet
27858 Unused (2 bytes)
27860 Prepare doors, windows, cups and bike for new game
27884 Unused (2 bytes)
27886 Get limits of range within which character can be seen by teacher
27903 Unused (1 byte)
27904 Control kid during assembly
27953 Unused (1 byte)
27954 Check if characters are in within visible range of another
28002 Check for teachers near ERIC
28029 Find any main kids near teacher
28067 Check whether location is on the assembly hall stage
28085 Determine which floor ERIC's on (if he's not standing directly on one)
28114 Put ERIC midstride
28155 Unused (5 bytes)
28160 Update SRB for ERIC and scroll screen if necessary
28214 Unused (2 bytes)
28216 Turn ERIC round
28239 Unused (1 byte)
28240 Check whether character is on a staircase
28305 Deal with ERIC when he's stepped off the stage
28313 Not used
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
28657 Unused (1 byte)
28658 Collect information about a blackboard
28672 Check for walls, closed doors and ALBERT in front of ERIC
28735 Unused (1 byte)
28736 Open/close door or window
28767 Check for closed door in front of a character
28812 Unused (2 bytes)
28814 Check for doors in character's path and open if allowed
28855 Make character open or close door
28874 Unused (3 bytes)
28877 Close any temporarily open doors if necessary
28952 Add to score and make sound of mouse being caught
28978 Make girl stop jumping
28992 'D' pressed - drop stinkbomb
29012 Make walking sound effect
29030 Prevent ERIC from getting past ALBERT if necessary
29050 Unused (2 bytes)
29052 Open or close door
29094 Unused (7 bytes)
29101 Move bike if it's obstructing the skool gate
29117 Unused (1 byte)
29118 Get input from keyboard or joystick
29178 Collect offset from keypress table
29192 Unused (2 bytes)
29194 Control bike when ERIC's standing on the saddle or has just dismounted
29277 Unused (1 byte)
29278 Deal with ERIC when he's riding the bike
29462 Deal with ERIC when he's standing on the saddle of the bike
29567 Unused (1 byte)
29568 Continuation of routine at 31733
29574 'M' pressed
29613 Print score, hi-score or lines total
29621 Add to score and print it
29643 Add tolines and print them
29681 Open the science lab storeroom door
29693 Unused (3 bytes)
29696 Get level at which to print lines message in D
29716 Make teacher give lines
29834 Unused (2 bytes)
29836 Make sound effect
29856 Check if teachers were hit by pellet/water/sherry/conker
29895 Unused (1 byte)
29896 Deal with falling object
30096 Unused (6 bytes)
30102 Deal with character who has been knocked over
30202 Unused (3 bytes)
30205 Check if pellet has hit cup
30229 Check if pellet has hit water/sherry/frog-filled cup
30291 Unused (1 byte)
30292 Check for walls, closed doors and closed windows in character's path
30380 Control flight of catapult pellet
30532 Unused (2 bytes)
30534 Place stack return address into character's buffer
30543 Check whether character is on the top, middle or bottom floor
30555 Make BOY WANDER fire now and then
30643 Deal with BOY WANDER when he is firing
30662 Unused (2 bytes)
30664 Check if any characters were hit by fist
30706 Make ANGELFACE hit now and then
30739 Deal with ANGELFACE when he is hitting
30785 Unused (1 byte)
30786 Knock down kid hit by pellet
30804 Deal with frog once knocked out of cup
31076 Unused (2 bytes)
31078 Control female character while she's jumping
31091 Unused (1 byte)
31092 Make female character start jumping
31128 Make female character jump up or down or remain on chair
31148 Unused (2 bytes)
31150 Make any girls near a mouse start jumping
31252 Unused (2 bytes)
31254 Control released mouse
31462 Release some mice (if possible)
31502 Prepare buffers for released mice
31572 Unused (1 byte)
31573 Make ERIC catch a mouse or frog (if present)
31720 Unused (3 bytes)
31723 Update SRB (and scroll screen if necessary when handling ERIC)
31733 Make ERIC catch the frog (if possible)
31746 Print inventory
31843 Unused (1 byte)
31844 Poke inventory graphic on screen
31861 Prepare for time/event check/signal
31887 Check for arrival of time or occurrence of event
31893 Signal: time arrived/event happened
31903 Unused (2 bytes)
31905 Signal: time/event has come and gone
31915 Check whether character should continue walkabout
31952 Walk up and down until...
31969 Walk up and down a few times or until...
31998 Unused (2 bytes)
32000 Get location identifier for ERIC
32021 Check if ERIC is where he should be
32032 Make teachers give ERIC lines for certain things
32054 Make MR WACKER find the truant ERIC
32060 Unused (2 bytes)
32062 Continuation of routine at 32032
32371 DEFW 32373 (Routine making MISS TAKE chase ERIC)
32373 Make MISS TAKE chase ERIC (I)
32379 Make MISS TAKE chase ERIC (II)
32432 Unused (1 byte)
32433 Print lesson and ring bell
32497 Make BOY WANDER write on board
32512 Game status buffer
32768 Graphic data for play area
46528 Timetable
46592 Mirrored values of 0 to 255 (used by routine at 24576)
46848 Character buffers and graphic data
53796 Make character do nothing
53797 Character buffers and graphic data continued
55040 More graphic data
57637 'C' pressed - catch mouse/frog
57669 Deal with ERIC when he's bending over, dropping stinkbomb etc.
57686 Various data
57893 'R' pressed - release mouse
57910 Prepare buffer 213 for use if available
57933 Unused (2 bytes)
57935 Check if buffer 214 is being used
57942 Various data
61440 Control EINSTEIN during class
61462 Unused (1 byte)
61463 Make EINSTEIN talk
61487 Give lines to EINSTEIN or the kid he grassed up
61510 Unused (2 bytes)
61512 Check if ERIC and EINSTEIN are in class
61533 Make teacher tell class what to do
61554 Unused (1 byte)
61555 Repeat table of A&P or tell kids to sit down
61594 Unused (1 byte)
61595 Make teacher find ERIC
61623 Unused (1 byte)
61624 Repeat table of A&P
61631 Make teacher find ERIC during dinner if necessary
61657 Unused (1 byte)
61658 Control teacher during assembly
61693 Unused (3 bytes)
61696 Deal with teachers during lessons
62028 Unused (4 bytes)
62032 Make MR WACKER put kids in detention
62092 Unused (2 bytes)
62094 Deal with ERIC when he's been knocked over
62175 Unused (3 bytes)
62178 Deal with ERIC when he's sitting or lying down
62420 Unused (3 bytes)
62423 'S' pressed - sit/stand
62434 Unused (4 bytes)
62438 Make ERIC sit in a chair (or on the floor)
62460 Continuation of routine at 62423
62480 Unused (3 bytes)
62483 Check for keypresses during game (or simulate them in demo mode)
62560 Make next address be start of table of A&P
62572 Repeat table of A&P until boys' skool door is closed
62595 Unused (4 bytes)
62599 Move along 10 places in table of A&P if door or gate is closed
62620 Wait till all boys/girls have gone past gate or door
62667 Unused (1 byte)
62668 Make ALBERT keep an eye out for ERIC during lessons
62766 DEFW 32054 (Routine making WACKER find the truant ERIC)
62768 DEFW 62815 (Routine making WACKER find and expel ERIC)
62770 Set WACKER on his way to expelling ERIC
62794 Make MR WACKER find the truant ERIC
62815 Make WACKER find and expel ERIC
62903 Unused (7 bytes)
62910 Prepare for a new game
63156 Routine called from main loop to do various things
63166 Start new game if key was pressed while ERIC's floored in demo mode
63176 DEFM "D.S. REIDY 85 "
63189 Start a new game
63210 Main loop
63309 Change lesson
63404 Unused (1 byte)
63405 Deal with ERIC
63446 Unused (1 byte)
63447 Place routine address in bytes 23 and 24 of buffer
63455 Make ANGELFACE find and hit HAYLEY
63491 Unused (1 byte)
63492 Make ANGELFACE/BOY WANDER hit/fire now and then
63501 Repeat table of A&P until time for assembly
63512 Scroll display file one character square to the left or right
63553 Scroll display file one character square to the left
63561 Scroll display file one character square to the right
63576 POKE 32640 TO 32647,0
63586 Deal with stinkbomb once dropped
63743 Unused (1 byte)
63744 Data concerning skool gate when shut
63801 Deal with MR WACKER's journey to a window
63861 Prepare buffer for catapult pellet and make sound effect
63878 Check for presence of plant pot
63898 'G' pressed - shoot water pistol
63915 Control water from pistol
63996 Unused (4 bytes)
64000 Data concerning skool gate when open
64057 Continuation of routine at 63915
64076 Unused (1 byte)
64077 Deal with water from waterpistol, at certain stages
64241 Unused (1 byte)
64242 Handle ERIC's descent from a plant, plant pot, or assembly hall stage
64259 Deal with ERIC when stepping off plant or plant pot
64316 Deal with ERIC when standing on plant or plant pot
64416 Deal with ERIC when falling to floor to land on feet
64460 Deal with ERIC if he's falling
64560 Messages (and message addresses)