Free extra life
Horace is given three lives before a game starts (see
60D3), but not long
after the game has started he's awarded an extra life, which is not supposed to
happen until the score hits 10,000. This is caused by the section of code at
65D3, which miscalculates the 10,000s digit of the current score.
Broken guard counter
The counter at
6B0A is supposed to hold the number of guards in play minus
one, and is used by the routine at
69A4 to produce a timing delay in place
of a bell sound. However, because of a bug in the routine at
696C, the
counter is unlikely to be accurate.
Game slowdown
When Horace reaches the 29th maze, the game might slow down significantly,
making it barely playable.
This can happen because the routine at
69A4 produces a timing delay (D) of
26*(350+30*S-128*G)+5 T states, where 'S' is the value of the game speed
parameter at
7C62 (1-8), and 'G' is the value of the active guard counter at
6B0A (0-3). When S>1, 681<=D<=15345; but when S=1 and G=3, D=65437
(mod 65536).
However, one reason the slowdown might not happen is that the active guard
counter is
broken, and so 'G' might not be 3 even when
all four guards are in play.
Who ate my lunch?
In some situations, a guard will eat the flowers or even another guard's lunch
if Horace hasn't already.
This can happen because the routine at
6C95 clears a maze background tile in
a guard's buffer if there is a guard sprite tile at the corresponding location
in the maze; so if two guards are close together and moving in the same
direction, the one following effectively mops up the items that are obscured by
the one in front.