Address |
Length |
Description |
$0003 |
$04 |
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 |
|
$0014 |
$01 |
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 |
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 |
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 |
|
$002E |
$01 |
|
$0030 |
$01 |
This corresponds to $7FF5 in the ZX Spectrum version.
Used by the routine at $15B3.
|
$0040 |
$01 |
This corresponds to $7FF7 in the ZX Spectrum version.
|
$0041 |
$01 |
This corresponds to $7FF9 in the ZX Spectrum version.
|
$0046 |
$01 |
This corresponds to $7FEA in the ZX Spectrum version.
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 |
|
$004C |
$01 |
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') |
|
$0058 |
$02 |
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 |
Used by the routines at $0800, $09E9, $1129, $149F, $15B3, $1640, $17E5, $191B, $1D4A, $1EE3, $1F29, $1FA0, $2241, $2387, $2696, $27D2, $298B, $29C8, $2A43, $2B52, $2D47, $2E13, $3279, $33BF, $3AB4, $3AD5, $3B5E and $BE09.
|
$0070 |
$01 |
This corresponds to $7FF4 in the ZX Spectrum version.
|
$0071 |
$01 |
This corresponds to $7FF3 in the ZX Spectrum version.
Used by the routine at $149F.
|
$007C |
$02 |
This corresponds to $7FC4 in the ZX Spectrum version.
|
$007E |
$02 |
This corresponds to $7FC6 in the ZX Spectrum version.
|
$0081 |
$01 |
This corresponds to $7FC1 in the ZX Spectrum version.
Used by the main loop at $0800.
|
$0082 |
$01 |
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 |
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 |
This corresponds to $7F9B in the ZX Spectrum version.
|
$00A5 |
$01 |
This corresponds to $7F9A in the ZX Spectrum version.
|
$00C2 |
$01 |
|
$00C5 |
$01 |
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 |
This corresponds to $7FF2 in the ZX Spectrum version.
Used by the routine at $149F.
|
$00C8 |
$01 |
|
$00C9 |
$01 |
Used by the routine at $39C7.
|
$00D2 |
$01 |
Set by the routine at $169B and then used by the routine at $191B.
|
$00D5 |
$01 |
Holds $FF if the safe is flashing, $00 otherwise. Used by the routines at $176F, $2BB0 and $39C7.
|
$00D9 |
$01 |
This corresponds to $7FEB in the ZX Spectrum version.
|
$00E5 |
$01 |
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 |
|
$00F7 |
$02 |
This corresponds to $7FC2 in the ZX Spectrum version.
Used by the routine at $2E13.
|
$00FD |
$01 |
This corresponds to $7FF7 in the ZX Spectrum version.
|
$00FE |
$01 |
This corresponds to $7FF6 in the ZX Spectrum version.
|