Address |
Length |
Description |
6B08 |
2 |
Used by the routine at 6000. Decremented from 140 until it reaches zero, after which demo mode begins.
|
6B0A |
1 |
Initialised by the routine at 6000, and used by the routines at 696C, 69A4 and 6A22. Supposed to hold the number of active guards minus one, but may not because of a bug.
|
6B0B |
1 |
Used by the routines at 6000, 624F, 673A and 6B48. Holds 0 in demo mode, or 1 in game mode.
|
6DA6 |
8 |
Initialised by the routine at 6A22, and used by the routines at 6337, 651E, 6622, 66A4, 673A, 6907 and 696C. When a guard's countdown timer reaches 0, the guard is brought into play.
|
6DAE |
2 |
Initialised by the routine at 6000, and used by the routines at 63DA, 663D, 66A4 and 686A. Holds a non-zero value when the guards are panicking.
|
6DB0 |
2 |
Used by the routine at 63DA.
|
6DB2 |
4 |
Used by the routine at 624F (when moving Horace in demo mode) and 63DA (when moving a guard).
|
6DB6 |
2 |
|
6DB8 |
43 |
The contents of a guard's buffer (see 6DE3) are copied here by the routine at 6A3F whenever the guard needs to be moved, drawn or otherwise examined. After that, the updated contents are copied back to the original location by the routine at 6A6A.
|
6DE3 |
172 |
Used by the routines at 6A3F and 6A6A. See 6DB8 for a description of the contents of a guard's buffer.
|
6FCF |
8 |
|
7C61 |
1 |
Initialised by the routine at 6000, and used by the routine at 6337. Decremented on each pass through the main loop; when it reaches zero, Horace and the guards are moved.
|
7C62 |
1 |
Initialised to 8 by the routine at 6000 and decremented every time Horace returns to maze 1 via maze 4. Also used by the routines at 6337, 63DA, 686A, 69A4 and 6A22. The value here determines the speed at which the game runs.
|
7C63 |
1 |
Initialised to 255 by the routine at 6000 just before a game starts. Holds 0, 1, 2 or 3 while a game is in progress.
|
7C64 |
1 |
Used by the routine at 63DA.
|
7C65 |
2 |
Initialised by the routine at 6000, and used by the routine at 6922. When this timer reaches zero, one of the guards will drop his lunch.
|
7C67 |
2 |
Initialised by the routine at 6000, and used by the routine at 6B12. Always holds a value between 0 and 0x1FFF.
|
7C69 |
1 |
Initialised by the routine at 6000, and used by the routines at 6337, 65A1, 66A4, 673A, 698E, 69A4 and 6A77. Holds 00011111 binary if the sound is on, or 00000111 binary otherwise.
|
7C6A |
1 |
Initialised by the routine at 6000, and used by the routine at 698E. Holds 0 if 'T' was being pressed the last time it was checked, or 16 otherwise.
|
7C6B |
2 |
|
7C6D |
2 |
Initialised by the routine at 6000, and used by the routines at 6337, 651E, 65A1, 66A4 and 6821. Holds the display file address minus 0x4000.
|
7C6F |
1 |
Used by the routine at 624F.
|
7C70 |
1 |
Initialised by the routine at 6000, and used by the routines at 624F, 6337 and 6821.
|
7C71 |
1 |
Initialised by the routine at 6000, and used by the routines at 673A and 6821.
|
7C72 |
1 |
Used by the routine at 6821. Incremented whenever Horace is drawn; bit 4 determines which set of animation frames (see 7CC7) is used: 0-3 if it's set, or 4-7 otherwise.
|
7C73 |
2 |
|
7C75 |
2 |
|
7C77 |
1 |
Initialised by the routine at 6000, and used by the routine at 65A1. Holds INT(S/10000)+2, where 'S' is the current score. When this value changes, Horace gets a new life.
|
7C78 |
1 |
Initialised by the routine at 6000, and used by the routines at 65A1 and 673A.
|
7C79 |
1 |
Used by the routines at 624F, 6337, 65A1, 673A and 6821. Holds a non-zero value when Horace is in a tunnel.
|
7C7A |
2 |
Used by the routine at 63DA.
|
7CC4 |
2 |
Initialised by the routine at 6000, and used by the routines at 686A and 69A4. Holds the location of the bell in the current maze, or zero if Horace has sounded the alarm.
|
7CC6 |
1 |
Used by the routines at 686A and 69A4. Incremented on each pass through the main loop; its value determines which bell animation frame is used (see 7F07), and also the bell sound effect.
|