Pokes
Infinite lines
To stop MR WACKER expelling ERIC after 10000 lines:
POKE 62770,201
No lines
To prevent teachers from giving lines to ERIC or anyone else:
POKE 29716,201
Some lines
If 'Infinite lines' or 'No lines' makes things too easy, use a selection of these POKEs that disable lines-giving for specific infractions:
DON'T BE LATE AGAIN/STAY TILL I DISMISS YOU - POKE 61810,1
DON'T HIT YOUR MATES - POKE 24282,1 (when ERIC throws a punch)
DON'T HIT YOUR MATES - POKE 61844,1 (when EINSTEIN says 'ERIC hit me')
DON'T RIDE BIKES IN HERE - POKE 32089,0
DON'T TOUCH BLACKBOARDS - POKE 24199,201
GET ALONG NOW/COME ALONG YOU MONSTER/DON'T KEEP ME WAITING - POKE 32172,22
GET BACK TO SCHOOL - POKE 32149,0
GET OFF THE FLOOR - POKE 32126,133 (when ERIC is sitting on the floor outside the assembly hall or lying down, and it's too soon to be told to GET ALONG NOW)
GET OFF THE FLOOR - POKE 32162,201 (when it's time to GET ALONG NOW)
GET OFF THE PLANTS - POKE 32081,0
NO CATAPULTS - POKE 24306,1
NO STINKBOMBS - POKE 63636,24
NO WATERPISTOLS - POKE 63947,1
NOW DON'T DO IT AGAIN - POKE 30196,201
NOW SIT DOWN - POKE 32230,201
SIT FACING THE STAGE - POKE 32206,7
YOU ARE NOT ALLOWED HERE - POKE 32064,66
Lines limit
To change the lines limit from 10000 to 10N:
POKE 29652,M-256*INT(M/256)
POKE 29653,INT(M/256)
where M=65536-N.
To change the expulsion message MR WACKER delivers (at EE19) accordingly, you will need to POKE the ASCII codes of the digits of the new lines limit into addresses EE22-EE26.
For example, to change the lines limit to 20000 and adjust the expulsion message to match:
POKE 29652,48: POKE 29653,248: POKE 60962,50
Silent snitch
To make sure that EINSTEIN never tells tales:
POKE 61831,24
Alternatively, to make the teacher always give lines to EINSTEIN for telling tales:
POKE 61492,24
Silent caretaker
To prevent ALBERT from alerting MR WACKER when he spots ERIC trying to escape:
POKE 62723,195
Lesson length
Normally the lesson clock (at 7FE3) counts down from 4096 (16*256) to 0, at which point the bell rings. To make the lesson clock count down from N*256 to 0 instead:
POKE 63310,N
If you are extending the lesson length, it's a good idea to also adjust the time at which teachers will tell the kids to sit down. Normally this is 3072 (12*256); to change it to M*256 (M=N-4 is a good choice):
POKE 61559,M
If, on the other hand, you are shortening the lesson, it's a good idea to also adjust the time at which teachers will start giving lines to ERIC for being in the wrong classroom. Normally this is 3072 (12*256); to change it to G*256 (G=N-4 is a good choice):
POKE 32107,G
You might also want to change the time at which the kids will sit down for assembly. Normally this is 2816 (11*256); to change it to S*256:
POKE 61667,S
To change the time at which MR WITHIT will come looking for ERIC if he's not in the assembly hall from 2560 (10*256) to A*256:
POKE 61684,A
And to change the time at which MR WACKER will come down from his study for assembly from 2304 (9*256) to W*256:
POKE 63505,W
Ring the bell
To put ERIC in charge of ringing the bell:
POKE 58652,96 (points 'L' at the unused slot at E560 in the table of keypress handling routines)
POKE 58720,122: POKE 58721,229 (sets the keypress-handling routine for 'L' to E57A)
POKE 58746,33: POKE 58747,1: POKE 58748,0 (LD HL,\$0001)
POKE 58749,34: POKE 58750,227: POKE 58751,127 (LD (\$7FE3),HL)
POKE 58752,201 (RET)
Now whenever 'L' (upper case) is pressed, the bell will ring and the next lesson will begin (which could prove handy if ERIC is found playing truant, or simply cannot wait any longer for playtime).
Always run
Normally 'q', 'a', 'o' and 'p' make ERIC walk, and 'Q', 'A', 'O' and 'P' make him run. To make ERIC always run, regardless of whether SHIFT is held down:
POKE 28144,24: POKE 28227,24
Or, to make ERIC walk when SHIFT is held down and run when it isn't:
POKE 28144,32: POKE 28227,32
Infinite kisses
To make HAYLEY amenable to any number of kisses:
POKE 24401,0
In addition, to make HAYLEY do all of ERIC's lines for him on each kiss:
POKE 24417,0
Super catapult
To extend the range of the catapult from 13 to N:
POKE 30641,N
However, this doesn't extend the 'hit zone' of the pellet (the portion of its flight where it can hit something). To change the hit zone from the last 4 stages of its flight to the last M stages (M=N-6 is a good choice):
POKE 30388,M+1
Finally, to make the normally invulnerable ALBERT susceptible to pelleting:
POKE 30441,6
Unhide the bike
Before ERIC writes the bike combination on a blackboard, the bike is actually hiding at x-coordinate 224. To change the bike's initial x-coordinate from 224 to X (so that it's visible from the start of the game):
POKE 54049,X
Any choice of X in the range 0-189 will bring the bike into view.
Free the frog
To make the frog visible and catchable from the start of the game:
POKE 54304,28 (initial animatory state)
POKE 54305,48: POKE 54306,10 (initial location: Science Lab)
POKE 63073,186: POKE 63074,120 (controlling routine: 78BA)
Note that this means there will be no mice in the game.
Open the left study door
No one ever opens the left study door in Back to Skool, but that's only because the character routing information leads everyone round it instead of through it; there is support built in to the game for opening the door, but it is never used. To bring the left study door into service, try the following POKEs, which change the routing information for characters going from certain starting points to the top floor of the boys' skool.
Modify the route for anyone on the top floor on the left side of the door and going to the other side of the door (e.g. from the Yellow Room to the top-floor window) so that they go through the door:
POKE 48449,199
Modify the route for anyone on the top floor on the right side of the door and going to the other side of the door (e.g. from the head's study to the Revision Library) so that they go through the door:
POKE 49724,189
Modify the route for anyone on the middle floor of the boys' skool near the window and going to anywhere on the top floor to the left of the door so that they first go up the stairs to the head's study:
POKE 49468,198
Modify the route for anyone on the assembly hall stage going to anywhere on the top floor to the left of the door so that they first go up the stairs towards the middle-floor window:
POKE 49212,196
Walk through doors
To enable ERIC to walk through specific doors:
POKE 28336,24 (left study door)
POKE 28343,24 (right study door)
POKE 28387,24 (Science Lab storeroom door)
POKE 28408,24 (skool door)
POKE 28415,24 (skool gate)
Walk through walls too
To enable ERIC to walk through any wall or door (or ALBERT):
POKE 28315,24
POKE 28316,31
And ride the bike through any wall or door (or ALBERT):
POKE 28672,167
POKE 28673,201
But now when ERIC walks or rides the bike through the far left wall in the boys' skool or the far right wall in the girls' skool, you lose sight of him. To make the screen scroll however far left or right ERIC goes (and therefore reveal the 'no man's land' between the two skools):
POKE 28191,0
POKE 28203,0
But this also reveals a limitation of the routine at 6130: the SRB is not updated correctly when the leftmost column of the skool on screen is 232, 240 or 248. To fix this:
POKE 24893,47
POKE 24894,131
POKE 24896,0
POKE 24897,254
POKE 24899,63
POKE 24902,2
POKE 24904,47
Now you may notice that some of the little boys stop moving as ERIC approaches the far left wall of the boys' skool. This is because the routine at 62D0 does not move certain minor characters depending on which part of the play area is visible.