A suite of tools for creating disassemblies of ZX Spectrum games
SkoolKit is a collection of utilities that can be used to disassemble a
Spectrum game (or indeed any piece of Spectrum software written in machine
code) into a format known as a
skool file. Then, from this
skool file, you
can use SkoolKit to create a browsable disassembly in HTML format, or a
re-assemblable disassembly in ASM format. So the
skool file is - from start
to finish as you develop it by organising and annotating the code - the common
‘source’ for both the reader-friendly HTML version of the disassembly, and the
developer- and assembler-friendly ASM version of the disassembly.
skoolfile (with @ofix, @bfix and other ASM directives)
SkoolKit includes fairly detailed documentation, but if you want to get up and running quickly, here goes.
To convert a SNA, Z80 or SZX snapshot of a Spectrum game into a
(so that it can be converted into an HTML or ASM disassembly):
$ sna2skool.py game.z80 > game.skool
To split the disassembly up into code and data blocks, you’ll need a control file.
To turn this
skool file into an HTML disassembly:
$ skool2html.py game.skool
To turn it into an ASM file that can be fed to an assembler:
$ skool2asm.py game.skool > game.asm