The #BUG-free edition
SkoolKit 6.0 has been released. And in anticipation of your next question, let me just say that copies are available from the download page, the Python Package Index, the Ubuntu PPA, and the Fedora copr repo.
Before we get into what’s new in this initial release of the 6.x series, a
quick reminder of the some of the more prominent features you’ve come to know
and love in previous versions that have been ruthlessly removed: the #BUG
,
#FACT
, #POKE
, #EREFS
and #REFS
macros; the [PageContent:*]
ref file
section; the parse_params()
function, and the parse_image_params()
,
flip_udgs()
and rotate_udgs()
methods on HtmlWriter. But do not despair:
check the migration guide for details on
how to restore these features (should you wish to).
Now, what’s new in 6.0? Strangely, there are no new commands or ASM directives,
and only one new (and trivial) skool macro (#VERSION
). (The 6.x series is
still young, so let’s give it time to venture into those areas.) But the
sna2img.py
command does have a new option: --expand
. This allows you to
expand an image macro (#FONT
, #SCR
, #UDG
or #UDGARRAY
) outside the
context of a skool or ref file. Which could be useful if you just want to make
sure you’ve got all your macro parameters straight before committing an image
macro to said skool or ref file. Or if you just want to create a standalone
image from a game snapshot, and don’t want to bother creating a skool or ref
file first.
Also sporting a new option is the tapinfo.py
command with --basic
. Like the
option of the same name sported by snapinfo.py
since 5.3, it lists the BASIC
program in a specified tape block. Yes, at last, SkoolKit provides a convenient
way to examine the first thing any reverse engineer worth his salt will want to
look at when starting work on a new game: the BASIC loader. Previously you
might have been able to convert the tape into a snapshot with tap2sna.py
and
then used snapinfo.py --basic
on it, but you probably (justifiably) thought
that was too much work.
Yet another command enjoying a new option in 6.0 is snapinfo.py
with
--find-tile
. This one enables you to search the RAM for the graphic data of a
tile currently on screen. By default it will search for a contiguous block of 8
bytes that match the tile at the specified coordinates, but it can also search
for graphic bytes separated by a fixed distance (e.g. 2, as is common with 2x2
sprites), or a range of distances (e.g. 1-256) if you’re unsure about how the
graphic data is organised.
By now you might be thinking that new options for old commands is the entire story for 6.0, and you’d be mostly right. But if you want to find out about the non-option-related new features, you should check the changelog.
And that’s all the news. You are now encouraged to download a copy, and migrate your existing disassemblies to the new reality that is SkoolKit 6.0. Good luck!