SkoolKit

Spectrum game disassembly toolkit

Deck the (disassembly) halls

deck-the-halls

‘Tis the season to be disassembling, as the saying goes. And what would Christmas be without an update to the Skool Disassemblies? Empty, meaningless, insipid? Well, perhaps not so bad as that, but I’ve prepared an update anyway just in case.

Corrections, refinements, more bugs unearthed, more POKEs listed and more trivia documented - see the changelog for all the gory details of what’s new. Then head over to the home page and start browsing. Or head over to the downloads page instead to grab a copy of the disassemblies for offline browsing.

If I had to pick a highlight or most interesting bit of newness from this update for each game, I think it would be the bug in Skool Daze that enables ERIC to avoid being sent home when he has mumps or over 10000 lines (without any cheats or POKEs!), and the bug in Back to Skool that makes a teacher wipe other bits of the skool clean instead of the blackboard.

As always, let me know if you spot any errors, or you know of any bugs, useful POKEs or trivia not documented here.

Disassembly hall

disassembly-hall

For the last few months I’ve been busy not with Pyskool, but with a related project: the skool disassemblies. Disassembling Skool Daze and Back to Skool (to see how these fascinating games actually worked) was something I started around 1987, and continued until I had filled up half a dozen large notebooks with opcodes and operands, data tables, sketches of the game graphics, and other notes. By that time I’d almost completed the disassembly of Back to Skool, but only just started the disassembly of Skool Daze.

Fast forward to 2001, when I decided that the disassembly of Back to Skool should migrate from the dead-tree world to HTML format, with a few updates added in the process. I pushed the result into the little allotment of webspace provided by my ISP at the time, but the disassembly was still just almost complete (and, as I discovered later, horribly inaccurate in places).

Fast forward again to 2008, when I started Pyskool. The first goal with Pyskool was to get it functioning as a near-clone of Skool Daze. To that end, I got working on the Skool Daze disassembly again, finished it, and used it to get certain Skool Daze-specific features (such as the “special” playtimes) just right for Pyskool 0.1.

Fast forward (just a little) to 2009, when I thought it would be good to dust off the Back to Skool disassembly, and finish it and fix it (at last). Which I did. (And that’s good, because now I know the nitty-gritty details of how the mice and the frog operate, which will be important for Pyskool 0.2.) Since then I’ve been adding more details, fixing inaccuracies, and generally trying to leave no byte of RAM undocumented.

Which, if you are still awake, brings us to today, and the latest release of the skool disassemblies. You can either browse them online, or download a copy for offline viewing. Whatever your choice, I hope you will be informed and entertained. Let me know if you spot any errors, too!