In case you're unfamiliar with SkoolKit or need a reminder of what it is, please read on.
With SkoolKit you can:
- use sna2ctl.py to generate a control file (an attempt to identify routines and data blocks by static analysis) from a snapshot (SNA, SZX or Z80) or raw memory file
- enable sna2ctl.py to generate a much better control file that more reliably distinguishes code from data by using a code execution map produced by an emulator
- use sna2skool.py along with this control file to produce a disassembly of a snapshot or raw memory file
- add annotations to this disassembly (or the control file) as you discover the purpose of each routine and data block
- use skool2html.py to convert a disassembly into a bunch of HTML files (with annotations in place, and the operands of CALL and JP instructions converted into hyperlinks)
- use skool2asm.py to convert a disassembly into an assembler source file (also with annotations in place)
- use skool2ctl.py to convert a disassembly back into a control file (with annotations retained)
- use skool2bin.py to convert a disassembly into a raw memory file
- use tap2sna.py to convert a TAP or TZX file into a 'pristine' Z80 snapshot
- use snapinfo.py to analyse a snapshot or raw memory file and list the BASIC program it contains, show register values, produce a call graph, find tile graphic data, find text, or find sequences of arbitrary byte values
- use tapinfo.py to analyse the blocks in a TAP or TZX file, and list the BASIC program it contains
- use bin2tap.py to convert a snapshot or raw memory file into a TAP file
- use bin2sna.py to convert a raw memory file into a Z80 snapshot
- use snapmod.py to modify the register values or memory contents in a Z80 snapshot
- use sna2img.py to convert graphic data in a disassembly, SCR file, snapshot or raw memory file into a PNG image
- use the #UDG, #UDGARRAY, #FONT and #SCR macros to build still and animated PNG images from graphic data
- use the #R macro in annotations to create hyperlinks between routines and data blocks that refer to each other
- use [Bug:*], [Fact:*] and [Poke:*] sections in a ref file to neatly render lists of bugs, trivia and POKEs on separate pages