SkoolKit 9.1

Introduce yourself. Pimp your website, competition, event or other activity here, as long as it's Spectrum related.
Post Reply
User avatar
SkoolKid
Manic Miner
Posts: 407
Joined: Wed Nov 15, 2017 3:07 pm

SkoolKit 9.1

Post by SkoolKid »

SkoolKit 9.1 has been released.

TL;DR version for the initiated: Improved support for 128K disassemblies, plus simulated memory and I/O contention.

For the uninitiated: SkoolKit is a suite of tools that can be used to create a disassembly of a Spectrum game (or any other piece of software), in HTML form or as plain assembly language, from a single set of source files. For example, it has been used in the production of many of the fine disassemblies on this page:

https://skoolkit.ca/links/

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 assembly language 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 or SZX 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 trace.py to trace the execution of machine code in a snapshot or raw memory file
  • 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 or SZX snapshot
  • use snapmod.py to modify the register values or memory contents in a Z80 or SZX snapshot
  • use sna2img.py to convert graphic data in a disassembly, SCR file, snapshot or raw memory file into a PNG image
In an HTML disassembly produced by skool2html.py you can also:
  • use the image macros to build still and animated PNG images from graphic data
  • use the #AUDIO macro to build WAV files for sound effects and tunes
  • 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
For full details on what's new in 9.1, check the changelog.
SkoolKit - disassemble a game today
Pyskool - a remake of Skool Daze and Back to Skool
Post Reply