SkoolKit 6.1

SkoolKit 6.1 has been released. As is the custom on occasions like this, copies are available from the download page, the Python Package Index, the Ubuntu PPA, and the Fedora copr repo.

The main new feature in this release is support for changing the default behaviour of skool2asm.py, skool2html.py and sna2kool.py via a configuration file: skoolkit.ini. For example, if you always use the --hex option with skool2asm.py, you could place the configuration parameter Base=16 in the [skool2asm] section in skoolkit.ini, and save some time by never having to type --hex on the skool2asm.py command line again. But what if you want to run skool2asm.py without the implied --hex option once in a while? That’s where the new --ini option comes in: just run skool2asm.py --ini Base=0 and it will override the Base=16 parameter in skoolkit.ini.

One other benefit of having configuration in skoolkit.ini is that you can now define, via various parameters, the format of the comments that sna2skool.py uses to list the callers of entry points in routines when generating a skool file from a control file, and also the format of the titles it uses for untitled blocks. As far as I’m aware, this removes the last bit of hard coded text from the SkoolKit codebase, and leaves it to the discretion of the user to define.

Next up comes support for arithmetic expressions in instruction operands when converting base and assembling. For example, in earlier versions, LD A,32768/256 would be (partially) converted to LD A,$8000/256 when the --hex option of skool2asm.py or skool2html.py was used, but now it is fully converted to LD A,$8000/$100. Also in earlier versions, skool2bin.py would fail to assemble LD A,32768/256, but now it handles such instructions just fine.

And finally among the noteworthy new features, sna2img.py can now read skool files. This means that if you’ve mislaid the snapshot that you originally used to generate your skool file, you need not worry: sna2img.py can automatically build a snapshot from your skool file on the fly so that you don’t have to.

For details of all the other changes and bugs fixed in this release, check the changelog. After that, go grab a copy of 6.1, create your ideal skoolkit.ini, and enjoy the brevity of all your skool2asm.py, skool2html.py and sna2kool.py commands from here on out.