Groups and loops
SkoolKit 8.4 has been released. To get a copy, please head over to the download page, the Python Package Index, the Ubuntu PPA, or the Fedora copr repo.
Perhaps the most noteworthy change in this release is that the image writer component is now pluggable. So, for example, if you’re sick of the PNG files that SkoolKit currently creates and would rather produce ASCII art instead, or embed base64-encoded image data in your HTML documents, or perhaps even do something as perverse as revive the ability to write GIF files, then you now have that option. Go for it.
In the ref file department, there’s a completely new section on the scene - in
fact, the first new section to be introduced since 4.0: [EntryGroups]
. Here
you can define groups of entries, surprisingly enough. To what end? Well, once
a group has been defined, the entries belonging to it can be given custom
titles and page headers in the HTML output - such as ‘Sprite buffer’ or
‘Character variables’ - instead of the boring stock ones (‘Data’, ‘Routines’
etc.).
Over in the snapshot analysis arena, snapinfo.py
has acquired the Peek
and
Word
configuration parameters for controlling the format of each line of the
output of the --peek
and --word
options. So, for example, if you wanted to
produce a series of POKE commands for a range of addresses, you can now do
something like this:
$ snapinfo.py -p 30000-30010 -I 'Peek=POKE {address},{value}' game.z80
Shifting to the control file domain, instruction comments are now repeated when
they appear in a loop (as defined by the L
control directive). Full
disclosure: this is not actually a new feature, but a bug fix. Instruction
comments were repeated in control file loops back when loops were introduced in
SkoolKit 4.2, but that stopped happening in 7.2, and I didn’t notice until
quite recently. Oops.
With that damning admission out of the way, I will now point you to the
changelog for details of all
the other new stuff that I haven’t mentioned here (such as the ability to
spread @expand
directive values over multiple lines, and the ability to
initialise the system variables in a snapshot when using tap2sna.py
). Once
you’re done there, please do grab a copy of 8.4 and perhaps start thinking
about what obscure image format you’d like to add support for.