The importance of little boy no. 10
In demo mode, ERIC bases his every move on where little boy no. 10 is and what he's doing (see the routine at F413). One corollary of this important role is that little boy no. 10 is in all of ERIC's classes (if he weren't, ERIC would be guilty of truancy in demo mode). In fact, little boy no. 10 is the only character besides EINSTEIN who joins ERIC for every class.
Skool tunes
The tune that plays just before a game (or demo mode) starts is Nobody Knows the Trouble I've Seen. The tune that plays when ERIC opens the safe is Here We Go Round the Mulberry Bush.
BASIC saver POKEs
There are two POKEs in line 33 of the BASIC saver program that saves the fast code block to tape:
POKE 29387,80: POKE 29391,45
These POKEs set the instruction at 71CA to 'LD L,$50' and the instruction at 71CF to 'DEC L'. (The contents of addresses 6100-7FFF are shifted down by 256 bytes to 6000 by the startup routine at 81B4 before the game starts.) Which makes one wonder what these instructions were before they were POKEd.
As it turns out, some tapes of Back to Skool were released that are missing line 33 in the BASIC saver program, and contain 0x4F at address 72CB (71CB) and 0x2C at address 72CF (71CF); with these values, the corresponding section of code looks like this:
71C4 IN A,($1F)
71C6 AND $1F Any input from the joystick?
71C8 JR Z,$71E2 Jump if not
71CA LD L,$4F 0x4F='O' (LEFT)
71CC RRCA
71CD JR C,$71DF Jump if the joystick was moved right
71CF INC L L=0x50='P' (RIGHT)
71D0 RRCA
71D1 JR C,$71DF Jump if the joystick was moved left
This code makes ERIC move left when the Kempston joystick is moved right, and vice versa. Which is clearly a bug, and indicates that line 33 of the BASIC saver program is nothing more nor less than a bugfix.
MR WACKER waits for ERIC
Like time, MR WACKER waits for no man - except when it's assembly and the man (or boy) is ERIC. In fact, MR WACKER will dutifully wait on stage, silent and motionless, until ERIC has arrived in the vicinity of the assembly hall, before delivering his detention speech.
To verify this curious phenomenon, proceed as follows. When the bell rings for assembly, go to the right end of the dinner hall and stand so that the stairs leading down to the stage are just visible at the far right of the screen. Now keep an eye on MR WACKER; when he decides that it's time to start assembly and begins his descent down those stairs, move left until the screen has scrolled twice and the stage is no longer in view. Then wait a bit - long enough for MR WACKER to have reached the stage and begun his speech. After that, move right until the screen scrolls once and brings MR WACKER back into view. MR WACKER will be standing on the stage, and only when the screen stops scrolling will he begin his detention speech.
(Hanging around on the outskirts of the assembly hall during assembly is a fine way to get lines, so you might want to use the no lines POKE before trying this for yourself.)
The reason for this uncharacteristically patient behaviour is the routine at F250, which makes MR WACKER stand on the stage doing nothing until he comes into view (or the bell rings for the next lesson, whichever happens first).
Lesson 0x2B, where art thou?
Lesson 0x2B (MR WITHIT - YELLOW ROOM) does not appear anywhere in the main timetable. But it is a perfectly good lesson. If you want to try it out:
POKE 46544,43
This removes the first PLAYTIME that normally takes place when starting the game for the first time and replaces it with lesson 0x2B.
Invulnerable moments
ERIC can usually throw a punch or fire his catapult and be confident that the impact will send one of the kids or teachers tumbling. However, on certain occasions, certain characters are invulnerable to ERIC's violence. Those characters and occasions are as follows:
Teachers and classrooms
MR WITHIT is the only teacher who teaches ERIC in all three classrooms. See his personal timetable.
MR ROCKITT never teaches in the Blue Room, and never teaches ERIC anywhere except in the Science Lab. See his personal timetable.
MR CREAK never teaches in the Science Lab. See his personal timetable.
Timetable stats
There are 64 periods in the main timetable: 16 playtimes, 8 assemblies, 2 dinner periods, and 38 lesson periods (when ERIC is supposed to be in either a classroom or the Revision Library).
In the 38 lesson periods, ERIC is scheduled to be in the Science Lab 15 times, the Blue Room 7 times, the Yellow Room 7 times, and the Revision Library 9 times.
ERIC has 11 classes with MR ROCKITT, 10 classes with MR CREAK, and 8 classes with MR WITHIT.
ERIC has 11 classes with MR ROCKITT in the Science Lab (which is more than any other teacher/classroom combination), but only one class with MR WITHIT in the Yellow Room.
MR WACKER is on dinner duty for one of the dinner periods, and MR WITHIT is on duty for the other one.
MR CREAK is the busiest teacher: he teaches a class in 37 of the 38 lesson periods (lesson 0x2A being the only time he takes a break). MR WITHIT is the laziest teacher, teaching a class in only 29 periods.
MR ROCKITT teaches most often in the Science Lab (28 times), MR CREAK teaches most often in the Yellow Room (23 times), and MR WITHIT teaches most often in the Blue Room (18 times).
MR WACKER spends 21 of the lesson periods (including 4 of the 9 Revision Library periods) pacing up and down in his study, and the remaining 17 lesson periods on a tour of the boys' skool, oscillating between the cloak room, the assembly hall stage, and his study.
Every boy is taught at least 4 times by each teacher, and at least 4 times in each classroom. In addition, every boy has at least one lesson period in the Revision Library, though little boy no. 9 has only one period there (lesson 0x2A), while all the others have at least three.
ANGELFACE spends more lesson periods in the Revision Library than any other boy (14 periods compared to ERIC's 9).
In the 38 lesson periods, MISS TAKE teaches 24 times in the top-floor classroom and 14 times in the middle-floor classroom.
HAYLEY has only one lesson period in a classroom with no teacher (lesson 0x2A in the top-floor classroom); each of the other little girls has at least three such lesson periods.
Playtime probabilities
Little boys 4-10 spend every playtime (of which there are 16 in the main timetable) walking around from one randomly chosen location to another; little boys 1-3, however, each spend two of these playtimes walking up and down in the Revision Library until the bell rings.
Like little boys 4-10, all the little girls spend every playtime on a random walkabout; HAYLEY, however, spends 12 playtimes on random walkabouts, and 4 playtimes walking up and down in the kitchen in the girls' skool until the bell rings.
MISS TAKE spends 9 playtimes walking up and down in the kitchen in the girls' skool, and the remaining 7 on random walkabouts.
BOY WANDER spends two playtimes writing on the boards in the girls' skool, 4 writing on the boards in the boys' skool, and the remaining 10 on random walkabouts.
ANGELFACE spends 9 playtimes stalking HAYLEY, and the remaining 7 on random walkabouts.
Initial playtimes
When demo mode or a new game starts, the timetable index is always 0xC0, 0xC8, 0xD0, 0xD8, 0xE0, 0xE8, 0xF0 or 0xF8 (which are all playtime, of course).
When demo mode starts for the first time after the game has loaded, the timetable index is 0xC8. When a new game is started as soon as possible after the game has loaded, the timetable index is 0xD0.
Playtime distribution
Understandably, ERIC is always eager for playtime to come, but the number of non-playtime periods (lessons, Revision Library, dinner and assembly) he has to tolerate between each break varies between two and four throughout the main timetable.
Teachers and fresh air
The only time MR ROCKITT, MR CREAK and MISS TAKE will leave their respective skools is when they are chasing ERIC; if ERIC never gave them reason to chase, they would be permanently skoolbound. So do your bit to give these teachers some exercise and fresh air by playing truant once in a while.
The usable unused door
Though the left study door is never used in a normal game, there is support built in for opening and closing it (see DE3D, for example). To bring the door into service, try these POKEs.
Bottomless boxes
Play area tiles 0x01, 0x0B, 0x15 and 0x1E in base page 0x90 are unused:
However, there is evidence that they were used at one time and were later discarded. The evidence lies in columns 88-92 of the play area, which contain tiles mostly from the tail end of base page 0x88 and the beginning of base page 0x90. The usage of tiles from base page 144 in each column is as follows:
x Tiles used
88 0x00, 0x02-0x05, 0x28
89 0x06-0x0A, 0x0C, 0x0D, 0x28
90 0x0E-0x14, 0x28
91 0x16-0x1D, 0x28
92 0x1F-0x2D
Note the gaps where tiles 0x01, 0x0B, 0x15 and 0x1E seem to be missing from columns 88-91, and tile 0x28 is present instead. Furthermore, tile 0x28 is used at the same y-coordinate (14) in each of those columns. So what would the relevant region of the play area - on the middle floor next to the window at the right end of the boys' skool - look like if tiles 0x01, 0x0B, 0x15 and 0x1E were used instead of tile 40? Here are the 'before' and 'after' pictures:
To my eye, the 'after' picture looks nicer: the bottoms of the boxes (or whatever those objects are) no longer look as if they've been chopped off.
So why were tiles 0x01, 0x0B, 0x15 and 0x1E left unused? Probably because when they are used, the bottoms of the boxes appear under the feet of any characters walking past, which looks a bit wrong:
bottomless_boxes3
To use tiles 0x01, 0x0B, 0x15 and 0x1E:
POKE 44626,1: POKE 44627,11: POKE 44628,21: POKE 44629,30
Slash dot
The '/' (slash) character in the Back to Skool font has a bit missing:
slash_dot
Interestingly, the corresponding bit is also missing from the slash character in the version of Skool Daze that was released by Alternative Software Ltd in 1987, but it is present in the original 1984 release by Microsphere.
To complete the symmetry, the '\' (backslash) character has the same bit missing:
backslash_dot
Invisible statues
Depending on which part of the play area is currently on-screen, the character-moving routine at 62D0 will skip certain minor characters, thus giving a performance boost to the other characters. Don't let the fact that there are immobilised kids off-screen to the left or right distract ERIC from his mission, though.
Fast ways from A to B
As if being immobilised while off-screen were not enough, those same minor characters are occasionally teleported to their destinations too. After scrolling the screen right (as ERIC approaches or goes deeper into the boys' skool), the routine at 61F8 considers teleporting little girls 1-7; after scrolling the screen left (as ERIC leaves the boys' skool or approaches the girls' skool), the routine at 61C2 considers teleporting little boys 1-8. And just before the bell rings for a new lesson, the routine at F74D considers teleporting little girls 1-7 and little boys 1-8.
Mouse metamorphosis
After ERIC has obtained the Science Lab storeroom key, the mouse's days are numbered. The next time it goes into hiding will be the last: it will never re-emerge. Instead, its character buffer is appropriated by the frog, which then appears at its initial location in the storeroom (see 7A8C).
The apprehensive amphibian
You may have noticed that the frog is a tricky fellow to catch, and the reason is that it's programmed to be wary of ERIC. If ERIC is not close to the frog, it will decide to keep still three times out of four. But as soon as ERIC gets close, the frog will make a move (turn round or take a hop). See 78BA.
Pitch imperfect
Unlike the theme tune and the tune that plays when ERIC opens the safe, the other sound effects in the game are played with interrupts enabled, which means they are affected by keys being held down. This is especially noticeable with the bell and the lines-giving sounds, which are somewhat longer than the others. To make them even longer:
POKE 32489,80 (bell)
POKE 29795,0: POKE 29820,0 (lines-giving sounds)
Now put ERIC up to mischief in front of a teacher, or wait for the bell to ring, and see if you can detect the change in pitch as you hold down various keys.
Between a closed door and a caretaker
When ALBERT tells MR WACKER that ERIC is escaping, MR WACKER comes hurrying to the scene. However, if ERIC stands one step away from the skool door, MR WACKER will stand on the other side without opening it, continually giving ERIC lines for not being in class while at the same time preventing him from getting there.
trapped
Points for a punching or a pelleting
ANGELFACE is unique among the cast of characters in that if ERIC knocks him over with a punch or a catapult pellet, 30 points are awarded (see 7835 and 784C). No points are awarded for knocking anyone else over in this fashion.
ANGELFACE and EINSTEIN are conkerable
If EINSTEIN or ANGELFACE is hit by a conker, he is knocked out, you get 100 points, and a unique sound effect is played. See the section of code at 74F7.
ANGELFACE hates HAYLEY
During some playtimes, ANGELFACE specifically hunts down HAYLEY for the sole purpose of hitting her (see command list 0x2C). Which is bad, because ERIC's chances of scoring a kiss diminish every time HAYLEY hits the floor (see below).
Violence and kisses
Every time HAYLEY is knocked down (by ANGELFACE's or ERIC's fist, or by BOY WANDER's catapult pellet, or by the conker), her kiss counter is decreased by one (see the section of code at 75CB), thus making her less likely to pucker up in future. The lesson here is to look after your girlfriend!
HAYLEY's lines count too
If HAYLEY is given lines - for being the nearest main kid to a downed teacher - they are added to ERIC's total. See 7414.
Hungry HAYLEY?
In lesson 0x2D (MR WITHIT - SCIENCE LAB), HAYLEY is on her own in the dinner hall. Is she hungry, or waiting for a tryst with ERIC?
The lost lines message
Recall Skool Daze, where you could sit on the stairs and be given lines for it. Seems so long ago, eh? Well, even though you can't sit on the stairs in Back to Skool (or be given lines for it), you may find consolation in evidence that suggests it was possible at some point while the game was being developed: the lost lines message at EC40. Unused, but never purged. Feel any better now?
Aggressive unseating
If ERIC is pushed out of a seat in a classroom in the girls' skool, he lies flat on his back as if knocked out by a punch or a catapult pellet, instead of just sitting on the floor (as he would if he were pushed out of a seat in the boys' skool).
Now, this fact is impossible to verify in an unmodified game because ERIC is incapable of being pushed out of his seat to begin with. But even if he were, it's still difficult to verify because the girls won't sit down until MISS TAKE arrives at the classroom doorway and tells them to, and she won't do that until the boys' skool door is closed. On top of that, if she spots ERIC, she'll chase him down instead of conducting the class. So to fix all of these problems:
POKE 26211,54: POKE 26212,128 - Fix the Undethronable ERIC bug
POKE 62577,195 - Make MISS TAKE not care about the boys' skool door
POKE 32258,24 - Prevent MISS TAKE from chasing ERIC
The logic behind this difference in the unseating arrangements between the two skools can be found in the section of code at F2A0.
ERIC's pellet v. water v. plant v. desk lid
RAM is in short supply in Back to Skool. For example, ERIC's catapult pellet is forced to share its character buffer with plants, desk lids, and water/sherry fired from the pistol. One consequence of this is that ERIC cannot open a desk lid immediately after firing his catapult. Another is that ERIC cannot fire his catapult immediately after firing his water pistol, or while waiting for a watered plant to grow. Yet another is that he cannot fire his water pistol while his catapult pellet is still airborne.
BOY WANDER's pellet v. stinkbomb
As already mentioned, RAM is in short supply in Back to Skool. So much so that BOY WANDER's pellet is forced to share its character buffer with the stinkbomb cloud. However, unlike ERIC's pellet, which is allowed to complete its flight before giving up its buffer to some other object, BOY WANDER's pellet can be terminated immediately by dropping a stinkbomb. Try it and see: find the stinkbombs, then hang around BOY WANDER. When he lets rip with the catapult, drop a stinkbomb and watch the pellet die young. See E236.
All about mice
Did I mention that RAM is in short supply in Back to Skool? So much so that when ERIC releases a mouse, instead of using a character buffer of its own, it hijacks the character buffer of one of the boys: little boy no. 9, little boy no. 10, BOY WANDER, ANGELFACE or EINSTEIN. See 7B0E.
The hijacking will only happen if the boy is far enough away from the girls' skool at the time of release, though, which is safe because mice can only be released in the girls' skool. See 7AE6.
How do the boys get their buffers back? Unlike the 'main' mouse in the game - which shares its buffer with the frog, again owing to RAM limitations - mice released by ERIC eventually die (either from old age, or by ERIC leaving the vicinity of the girls' skool). When a released mouse expires, the character whose buffer it hijacked will rematerialise at x-coordinate 32 on whichever floor the mouse was on when it passed away. That is deep enough into the boys skool that you will never notice it happening. No matter how fast you run from the girls' skool after releasing a bunch of mice, they'll all be dead before you reach the far left end of the boys' skool. See 7A16.
Don't bother trying to catch any of the mice released by ERIC: they cannot be re-caught. Only the 'main' mouse (using buffer 0xD4) can ever be caught. See 7B55.
The aforementioned 'main' mouse always begins life in a new game at coordinates (17,3) in the Blue Room (see D421).
One more thing: when ERIC catches a mouse, a new one is supposed to materialise somewhere else off-screen. However, because of a bug in the mouse placement code, the new mouse can sometimes be spotted appearing on-screen out of thin air at x-coordinate 10, 88 or 170.
The conker and the clock
Ever stood at the top-floor window of the boys' skool (as ERIC, naturally), getting more and more frustrated because time is running out for you to knock ALBERT out with a conker and get the sherry before the bell rings? Then you may find some relief in the knowledge that you will have plenty of time to visit the girls' skool and fill up the pistol with the contents of MISS TAKE's wine stash, no matter how long it took you to give ALBERT a concussion. Why? Because when you do manage to land the fateful nut on ALBERT's bonce, the skool clock is magically wound back, thus delaying the onset of the next lesson. See the section of code at 75C1.
WACKER and the clock
When assembly finishes (that is, when MR WACKER has finished speaking), the skool clock's MSB is set to 1, which means the bell will ring soon after, no matter how early MR WACKER arrived at the stage to deliver his detention speech. See F250.
Inferior catapult
The catapult in Back to Skool is not quite so handy as the one in Skool Daze. In both games, the catapult's range is the same (13 spaces), but in Back to Skool, its 'hit zone' is shorter (the last 4 spaces of the range instead of the last 7). So in Back to Skool, ERIC has to be further away from his target in order to hit it.
To adjust the hit zone (and the range) of the catapult, see these POKEs.