One-two one-two
Usually, when a character is walking he will cycle through walking animation phases 1, 2, 3 and 4. So, for example, when MR WITHIT is walking leftwards, his animatory states will progress thus (reading from right to left):
However, when a character is looking for ERIC and walking leftwards, he will cycle through walking animation phases 1 and 2 only, or phases 3 and 4 only. For example, when MR WITHIT has left the Map Room to hunt down the truant ERIC, his animatory states cycle thus (through phases 1 and 2) as he makes his way leftwards across the bottom floor:
And when MR WITHIT has left the White Room to hunt down the truant ERIC, his animatory states cycle thus (through phases 3 and 4) as he makes his way leftwards across the bottom floor:
The reason for this shortened cycle of walking animation phases is the lack of symmetry between the routine at
31739 (which is responsible for moving ERIC's chaser from the midstride position) and the routine at
31768 (which is responsible for moving ERIC's chaser to the midstride position). The routine at
31739 decrements the animatory state if the chaser is moving leftwards, and increments it if he's moving rightwards. However, the routine at
31768 always increments the animatory state, regardless of the chaser's direction of travel. Thus the chaser's walking animation phases get locked into a 1-2-1-2 or 3-4-3-4 cycle if he's moving leftwards.
Miss and hit
ERIC can be knocked out by BOY WANDER's catapult pellet even when he's sitting on the floor or is already lying on the floor (and the pellet should really fly straight over his head instead). The best way to reproduce this bug is to stand (or sit) in BOY WANDER's line of fire in a classroom while everyone's waiting for the teacher to show up for the lesson.
Waiting for EINSTEIN
Before wiping the board and getting a lesson under way, ERIC's teacher will wait for EINSTEIN to sit down first: see
31952. This makes sense at the beginning of a lesson, but that same routine is called several times during the course of a lesson (see
62208) to check whether ERIC is present, which means that the teacher will also stop whatever he's doing and wait for EINSTEIN to sit down before continuing on those occasions too. This is not really noticeable except during lessons where there is no question-and-answer session taking place between the teacher and the swot, and the teacher is pacing up and down in front of the blackboard instead. During those lessons, the call to
31952 is made each time the teacher has reached the point where he is just about to turn round; if EINSTEIN is not sitting in a chair at that time (because ERIC has pushed him out of his seat, for example), the teacher will wait until EINSTEIN is back in his seat before turning round.
This phenomenon can be made more readily reproducible and observable by using the following POKEs:
POKE
27736,20 (to lengthen the delay before a dethroned character rises)
POKE
62423,0 (to make every lesson a non-question-and-answer lesson)
Wrong command list
Many
command lists use the routine at
31815 to trigger a restart. This works as expected when the current lesson appears in the
main timetable, but does not work during the 'special' playtimes -
243,
244 and
245 - which do not appear in the main timetable, but instead replace main timetable playtimes at random three times out of eight on average (see
28211).
The problem is that the routine at
31815 looks up the current lesson (whose number is stored at
32761) in the main timetable in order to find out which command list to restart, and then copies the start address of that command list into bytes 119 and 120 of the character's buffer, overwriting the command list start address that was already there.
The most noticeable effect of this bug will occur during a special playtime that has replaced a 'stampede' playtime (
252 or
253). Little boys 1-9 and 11 (not 10, because he's busy looking for ERIC to tell him what's going on) start with command list
196 (walkabout), but when the restart command is reached, will switch to command list
204 (stampede leader) or
206 (stampede follower). Thus a special playtime in which ERIC must watch out for ANGELFACE, BOY WANDER or EINSTEIN is complicated by the presence of stampeding boys tripping everyone up.
POKE
31825,0
POKE 31826,203
POKE 31827,198
Avoiding expulsion
By using the
undeliverable message technique, it is possible to avoid being sent home by MR ROCKITT (when ERIC has mumps) or MR WACKER (when ERIC has 10000 or more lines).
If MR ROCKITT is on his way to send ERIC home, head for the nearest blackboard and press 'W' to start writing. Then wait. And wait some more. And wait some more on top of that. After about 20 minutes, the bell will ring, at which point it will be safe for ERIC to stop writing (press ENTER). MR ROCKITT will walk away, having apparently forgotten all about ERIC's disease.
Likewise with MR WACKER. After the bell rings, press ENTER to finish writing on the board and MR WACKER will walk away, having lost interest in sending ERIC home. However, ERIC must proceed with care: the next time he gets lines, MR WACKER will come looking for him again.
Speech bubble v. shield
When a speech bubble is obscuring a shield, ERIC cannot get it by jumping up to it or firing at it. This is because the routine at
28143 checks for the presence of a shield at the location of ERIC's hand or pellet by inspecting the attribute byte: a shield is assumed to be present only if neither the PAPER nor the INK is black. However, when a speech bubble is in the way, the INK is black, and the routine exits early.
Corrupted speech bubbles
Speech bubbles are vulnerable to corruption by the movement of characters or catapult pellets in front of them. The easiest way to see this is to climb the stairs that lead up to the head's study when a teacher is standing at the doorway of the White Room telling the kids to sit down. (This bug was fixed in Back to Skool by ensuring that characters, pellets, etc. are always drawn behind speech bubbles instead of in front of them.)
Doubly dirty blackboards
The blackboard buffers are wiped before a new game (or demo mode) starts, but the blackboards themselves are not. Thus BOY WANDER, who would normally write only on a clean board, will unwittingly scrawl over a blackboard's previous contents at the start of a new game. (This bug was fixed in Back to Skool.)
Share a chair
If ERIC hits a character who is sitting on a chair, and then quickly sits in the chair just vacated, ERIC will not be pushed out of the chair when the character rises and takes his seat again.
800 lines BOY WANDER - NOW WHERE ARE YOU?
In lesson
236 (MR WACKER - WHITE ROOM), BOY WANDER is in the Revision Library (on his own, as it happens). However, if EINSTEIN tells on BOY WANDER for writing on the board, MR WACKER will still give lines to the absent tearaway. (Perhaps the ceiling in the White Room conducts sound well enough for BOY WANDER to hear the admonition.) The same thing may also happen in lesson
237 (MR WITHIT - WHITE ROOM), when BOY WANDER is once again in the Revision Library (this time accompanied by ANGELFACE).