Migrating from SkoolKit 6¶
SkoolKit 7 includes some changes that make it incompatible with SkoolKit 6. If you have developed a disassembly using SkoolKit 6 and find that the SkoolKit commands no longer work with your skool files or ref files, or produce broken output, look through the following sections for tips on how to migrate your disassembly to SkoolKit 7.
skool2html.py¶
In SkoolKit 6, skool2html.py wrote a separate disassembly for each skool file and ref file named on the command line. In SkoolKit 7, it writes a single disassembly from the skool file given as the first positional argument; any other positional arguments are interpreted as extra ref files.
For example:
$ skool2html.py game.skool data.ref
will convert the following files into a single HTML disassembly:
- game.skool
- any files named game*.ref
- any files named in the
RefFiles
parameter in the [Config] section - data.ref
sna2skool.py¶
The -l
, -m
, -n
, -r
, -R
, -t
and -z
options of
sna2skool.py that were available in SkoolKit 6 are not supported in
SkoolKit 7. However, the corresponding features are still supported, and each
one can be controlled by the -I
option with an appropriate configuration
parameter:
- instead of
-l/--defm-size L
, use-I DefmSize=L
- instead of
-m/--defb-mod M
, use-I DefbMod=M
- instead of
-n/--defb-size N
, use-I DefbSize=N
- instead of
-r/--no-erefs
, use-I ListRefs=0
- instead of
-R/--erefs
, use-I ListRefs=2
- instead of
-t/--text
, use-I Text=1
- instead of
-z/--defb-zfill
, use-I DefbZfill=1
In addition, the ability to generate a control file has been moved to the
sna2ctl.py command; accordingly, the -g
, -h
and -M
options
are no longer supported.
Finally, the -L
(--lower
) option has been renamed -l
and the
--skool-hex
(-H
) option has been renamed --hex
(for consistency
with the corresponding options of skool2asm.py and
skool2html.py).
GameStatusBufferIncludes¶
In SkoolKit 6, the GameStatusBufferIncludes
parameter in the
[Game] section specified the addresses of entries to include on the
‘Game status buffer’ page in addition to those that are marked with a g
. In
SkoolKit 7, this parameter is not supported; instead, use the Includes
parameter in the [MemoryMap:GameStatusBuffer] section.
@assemble¶
In SkoolKit 6, the @assemble directive accepted the values -1, 0 and 1. In SkoolKit 7, the accepted values are 0, 1 and 2.
@nolabel¶
The @nolabel
directive is not supported in SkoolKit 7. Instead you should
use the @label directive with a blank label: @label=
.
Data definition entries¶
Data definition entries (‘d’ blocks) are not supported in SkoolKit 7. Use the @defb, @defs and @defw directives instead.
Remote entries¶
Defining a remote entry with an ‘r’ block is not supported in SkoolKit 7. Use the @remote directive instead.
skoolkit6to7.py¶
The skoolkit6to7.py script may be used to convert a control file, ref file, skool file or skool file template that is compatible with SkoolKit 6 into a file that will work with SkoolKit 7. For example, to convert game.ref:
$ skoolkit6to7.py game.ref > game7.ref