Address Length Description
$0003 $04
Teachers' safe combination letters
This corresponds to $7FA3 in the ZX Spectrum version.
Used by the routines at $292F and $298B. The safe combination itself is stored at $90.
$0010 $02
ERIC's midstride and post-midstride y-coordinate increments
Used by the routines at $34B5, $350B, $3558, $35EF and $365C.
$0014 $01
ERIC's posture indicator
Used by the routines at $0800, $149F, $15B3, $169B, $19A5, $29C8, $2D47, $3472 and $3687. Holds $FF if ERIC is standing up, or $00 otherwise (meaning he's sitting on a chair, a staircase or the floor, or he's lying on his back).
$002B $01
ERIC's status flags
This corresponds to $7FFB in the ZX Spectrum version.
Used by the routines at $0800, $15B3, $169B, $191B, $1BFA, $1EC2, $2696, $2757, $28BC, $290F, $29C8, $2D47 and $3472. If ERIC is doing anything other than walking or standing still, one of the bits here will be set.
Bit Meaning if set
0 ERIC is firing the catapult.
1 ERIC is jumping.
2 ERIC is hitting.
3 ERIC is writing on a blackboard.
4 ERIC has just been knocked down or unseated.
5 ERIC is being spoken to by little boy no. 10.
6 ERIC is immobilised.
7 Unused.
$002C $01
Sound effect identifier
Used by the routines at $189D, $2BB0, $2D47, $3AD5 and $BD00.
Holds one of the following values to indicate the sound effect currently being played:
Value Sound effect
0 None
1 A shield has been hit
2 ERIC is jumping
3 Bell is ringing
$002D $01
Sound effect timer
Used by the routines at $189D, $2BB0, $2D47, $3AD5 and $BD00.
$002E $01
Timing counter
Used by the routines at $0800 at $39C7.
$0030 $01
ERIC's knockout delay counter
This corresponds to $7FF5 in the ZX Spectrum version.
Used by the routine at $15B3.
$0040 $01
MSB of the lesson clock
This corresponds to $7FF7 in the ZX Spectrum version.
Used by the routines at $0800, $0C31, $0EC2, $149F, $1D4A, $277D, $28BC, $2BB0, $2D47 and $3AD5. The LSB of the lesson clock is at $FD.
$0041 $01
Current lesson number
This corresponds to $7FF9 in the ZX Spectrum version.
Used by the routines at $2D47 and $3AD5.
$0046 $01
Game mode indicator
This corresponds to $7FEA in the ZX Spectrum version.
Used by the routines at $0800, $176F, $1FA0, $2241, $2573, $2A43, $2BB0, $2D47, $3B46 and $BE09.
Value Meaning
0 Demo mode.
1 Shields need to be flashed.
2 All shields flashing; safe not open.
3 ERIC has opened the safe; shields need to be unflashed.
$004B $01
ERIC's midstride indicator
The value here is non-zero when ERIC is midstride. Used by the routines at $0800, $15B3, $2D47, $3472 and $365C.
$004C $01
Keyboard/joystick reading
The following byte holds the result of reading the keyboard and joystick, as done by the interrupt routine at $39C7. It holds $00 if there was no input, the ASCII code of the key pressed (if any), or one of the following values if the joystick was moved:
Value Meaning
$D1 Up ('Q' with bit 7 set)
$C1 Down ('A' with bit 7 set)
$CF Left ('O' with bit 7 set)
$D0 Right ('P' with bit 7 set)
$46 Fire ('F')
Used by the routines at $0800, $184E, $189D, $290F, $2D47, $3940, $39C7 and $BE09.
$0058 $02
x-coordinates of the leftmost columns of the skool on screen and off
This corresponds to $7F00 in the ZX Spectrum version.
Used by the routines at $11CF, $16E9, $2043, $2387, $2D47, $2EE6, $3012, $3072, $3113, $31EA, $322E, $35EF, $39C7 and $3A90.
$0060 $01
Current character number ($00-$14)
$0070 $01
Lesson descriptor
This corresponds to $7FF4 in the ZX Spectrum version.
Used by the routines at $09E9, $0D91, $149F, $2573 and $3AD5. See the list of lesson descriptors at $8CE0.
$0071 $01
Character number of the teacher who last gave ERIC lines
This corresponds to $7FF3 in the ZX Spectrum version.
Used by the routine at $149F.
$007C $02
Score
This corresponds to $7FC4 in the ZX Spectrum version.
Used by the routines at $0800, $1D37, $2BB0 and $2E13.
$007E $02
Lines total
This corresponds to $7FC6 in the ZX Spectrum version.
Used by the routines at $0800, $1D4A and $2E13.
$0081 $01
ERIC's stand-up delay counter
This corresponds to $7FC1 in the ZX Spectrum version.
Used by the main loop at $0800.
$0082 $01
Interrupt counter
Incremented on every pass through the interrupt routine at $39C7, and used by the main loop at $0800 to adjust ERIC's walking speed in demo mode.
$0090 $04
Safe combination code
This corresponds to $7F9F in the ZX Spectrum version.
Used by the routines at $176F, $1F3A and $292F. The teachers' safe combination letters are stored at $03.
$0094 $04
MR CREAK's year of birth
This corresponds to $7F9B in the ZX Spectrum version.
Used by the routines at $1FA0 and $2AAA.
$00A5 $01
Identifier for MR CREAK's birth year battle
This corresponds to $7F9A in the ZX Spectrum version.
Used by the routines at $2241 and $2AAA.
$00C2 $01
Birth year question indicator
Used by the routines at $2241 and $3AD5.
$00C5 $01
Copy of keyboard/joystick reading
This byte holds a copy of the keyboard/joystick reading at $4C. It is copied here by the routine at $0800. Also used by the routines at $290F and $365C.
$00C6 $01
Lines-giving delay counter
This corresponds to $7FF2 in the ZX Spectrum version.
Used by the routine at $149F.
$00C8 $01
Identifier of next lines reprimand for the teacher fetching the truant ERIC
Used by the routines at $149F and $3AD5.
$00C9 $01
Shield/safe timing counter
Used by the routine at $39C7.
$00D2 $01
ERIC's pre-action animatory state
Set by the routine at $169B and then used by the routine at $191B.
$00D5 $01
Safe status indicator
Holds $FF if the safe is flashing, $00 otherwise. Used by the routines at $176F, $2BB0 and $39C7.
$00D9 $01
Shield counter
This corresponds to $7FEB in the ZX Spectrum version.
Used by the routines at $2BB0 and $2D47.
$00E5 $01
ERIC's midstride and input timer
Decremented on each pass through the main loop at $0800. When the timer reaches zero, either ERIC is moved from the midstride position (if he is midstride), or the keyboard/joystick input is checked, whereupon the timer is reset to 4. It is initialised to 1 by the routine at $2D47, and reset to either 2 or 6 by the routine at $365C after moving ERIC midstride.
$00EB $01
Keyboard delay counter
Used by the routines at $2D47 and $3940.
$00F7 $02
Hi-score
This corresponds to $7FC2 in the ZX Spectrum version.
Used by the routine at $2E13.
$00FD $01
LSB of the lesson clock
This corresponds to $7FF7 in the ZX Spectrum version.
Used by the routines at $0800, $270D, $292F, $2BB0 and $2D47. The MSB of the lesson clock is at $40.
$00FE $01
ERIC's action timer
This corresponds to $7FF6 in the ZX Spectrum version.
Used by the routines at $169B, $17E5, $184E, $189D, $191B and $2D47.