SkoolKit: The road to 1.1

By | February 25, 2010

SkoolKit 1.0 was released 28 days ago. Today, version 1.1 was released. Get your copy from the SkoolKit page (which conveniently includes a description of SkoolKit and some download links).

So what has changed since 1.0? Well, if I may liken the time taken and the work done between these two releases to a road, then that road was littered with bugs that were kicked aside into the ditch, and new features that were scooped up and taken home. Thus, that road is now safe and clear for you, the SkoolKit consumer, to take without fear of puncturing tyre or foot.

Having stretched and exhausted the somewhat dubious road metaphor, let me get into the details.

Most of the bugs were in the disassembler, sna2skool.py. In 1.0, it disassembled some instructions incorrectly, failed to recognise some other instructions (and disassembled them as DEFBs), or otherwise produced disassemblies that would not assemble back to something identical to the source snapshot. All those bugs (the ones I know of, at least) have been fixed.

As for the new features, well, sna2skool.py once again hits the headlines. It gained the ‘-g’ option (to generate a control file for a snapshot using basic static code analysis), the ‘-t’ option (to show ASCII text in the comment fields, thus making it easier to spot messages), and the ‘-s’ option (to specify the disassembly start address). It also now inserts comments at each routine entry point listing the callers of (or jumpers to) that entry point, making it easier to flick between related sections of code.

Elsewhere, skool2html.py gained the ability to write pages other than the disassembly files and memory maps (such as ‘Pokes’ and ‘Bugs’) for a skool file specified by the ‘-f’ option. Demonstrating this ability, SkoolKit now includes an incomplete disassembly of Contact Sam Cruise, for which skool2html.py will write a ‘Play area’ page, an ‘Animatory states’ page, a ‘Trivia’ page, and others. Elsewhere again, a sample control file for Manic Miner (manic_miner.ctl), and a utility script for converting skool files into control files (skool2ctl.py), have made their way into SkoolKit.

And last but not least, the Skool Disassemblies were updated to version 20100225. As usual, that version is available for browsing online, or you can obtain a pre-built copy here for offline browsing.

To sum up: even if I do say so myself – which I do – it’s worth upgrading to SkoolKit 1.1.