Page 
Byte 
Address 
Length 
Description 
107 
8 
27400 
2 
Used by the routine at 24576. Decremented until it reaches zero, after which demo mode begins.

107 
10 
27402 
1 
Initialised by the routine at 24576, and used by the routines at 26988, 27044 and 27170. Supposed to hold the number of active guards minus one, but may not because of a bug.

107 
11 
27403 
1 

109 
166 
28070 
8 

109 
174 
28078 
2 
Initialised by the routine at 24576, and used by the routines at 25562, 26173, 26276 and 26730. Holds a nonzero value when the guards are panicking.

109 
176 
28080 
2 
Used by the routine at 25562.

109 
178 
28082 
4 
Used by the routine at 25167 (when moving Horace in demo mode) and 25562 (when moving a guard).

109 
182 
28086 
2 

109 
184 
28088 
43 
The contents of a guard's buffer (see 28131) are copied here by the routine at 27199 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 27242.

109 
227 
28131 
172 
Used by the routines at 27199 and 27242. See 28088 for a description of the contents of a guard's buffer.

111 
207 
28623 
8 

124 
97 
31841 
1 
Initialised by the routine at 24576, and used by the routine at 25399. Decremented on each pass through the main loop; when it reaches zero, Horace and the guards are moved.

124 
98 
31842 
1 
Initialised to 8 by the routine at 24576 and decremented every time Horace returns to maze 1 via maze 4. Also used by the routines at 25399, 25562, 26730, 27044 and 27170. The value here determines the speed at which the game runs.

124 
99 
31843 
1 
Initialised to 255 by the routine at 24576 just before a game starts. Holds 0, 1, 2 or 3 while a game is in progress.

124 
100 
31844 
1 
Used by the routine at 25562.

124 
101 
31845 
2 
Initialised by the routine at 24576, and used by the routine at 26914. When this timer reaches zero, one of the guards will drop his lunch.

124 
103 
31847 
2 
Initialised by the routine at 24576, and used by the routine at 27410.

124 
105 
31849 
1 

124 
106 
31850 
1 
Initialised by the routine at 24576, and used by the routine at 27022. Holds 0 if 'T' was being pressed the last time it was checked, or 16 otherwise.

124 
107 
31851 
2 

124 
109 
31853 
2 

124 
111 
31855 
1 
Used by the routine at 25167.

124 
112 
31856 
1 

124 
113 
31857 
1 
Initialised by the routine at 24576, and used by the routines at 26426 and 26657.

124 
114 
31858 
1 
Used by the routine at 26657. Incremented whenever Horace is drawn; bit 4 determines which set of animation frames (see 31943) is used: 03 if it's set, or 47 otherwise.

124 
115 
31859 
2 

124 
117 
31861 
2 

124 
119 
31863 
1 
Initialised by the routine at 24576, and used by the routine at 26017. Holds INT(S/10000)+2, where 'S' is the current score. When this value changes, Horace gets a new life.

124 
120 
31864 
1 
Initialised by the routine at 24576, and used by the routines at 26017 and 26426.

124 
121 
31865 
1 

124 
122 
31866 
2 
Used by the routine at 25562.

124 
196 
31940 
2 
Initialised by the routine at 24576, and used by the routines at 26730 and 27044. Holds the location of the bell in the current maze, or zero if Horace has sounded the alarm.

124 
198 
31942 
1 
Used by the routines at 26730 and 27044. Incremented on each pass through the main loop; its value determines which bell animation frame is used (see 32519), and also the bell sound effect.
