SkoolKit

Spectrum game disassembly toolkit

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!