Migrating from SkoolKit 7¶
SkoolKit 8 includes some changes that make it incompatible with SkoolKit 7. If you have developed a disassembly using SkoolKit 7 and find that the SkoolKit commands no longer work with your source files, or produce broken output, look through the following sections for tips on how to migrate your disassembly to SkoolKit 8.
GIF images¶
Creating GIF images is not supported in SkoolKit 8. The #FONT, #SCR, #UDG and #UDGARRAY macros now always create PNG images. Accordingly, the following parameters from the [ImageWriter] section that were available in SkoolKit 7 are no longer supported:
DefaultAnimationFormat
DefaultFormat
GIFEnableAnimation
GIFTransparency
Skool file templates¶
Skool file templates are not supported in SkoolKit 8. The skool2sft.py
command has been removed, along with the --sft
option of
sna2skool.py.
Where you might have used skool file templates with SkoolKit 7, you should now use control files instead. However, note that control files cannot preserve ASM block directives that occur inside a regular entry, and so any such directives should be replaced before using skool2ctl.py. See Limitations for more details.
[Game]¶
The TitlePrefix
and TitleSuffix
parameters are no longer supported. Use
the GameIndex
parameter in the [PageHeaders] section instead.
The AsmSinglePageTemplate
parameter is no longer supported. Use the
AsmSinglePage
parameter instead.
[Titles]¶
In SkoolKit 7, the entry address in a disassembly page title was included in
the Asm
template. In SkoolKit 8, the Asm
template no longer exists, and
the entry address appears as a replacement field ({entry[address]}
) in the
Asm-b
, Asm-c
, Asm-g
, Asm-s
, Asm-t
, Asm-u
and Asm-w
parameters in the [Titles] section.
Control directives¶
The B
and T
control directives no longer recognise the B
(byte) and
T
(text) indicators. Use the n
and c
base indicators instead. For
example:
B 30000,5,2:T3
T 30005,5,B3:2
should be replaced by:
B 30000,5,2:c3
T 30005,5,n3:2
sna2skool.py¶
The DefbMod
configuration parameter is no longer supported. It could be
used to group DEFB blocks by addresses that are divisible by a certain number,
but the same effect can be achieved with appropriate control directives.
The DefbZfill
configuration parameter is also no longer supported.
HTML templates¶
The HTML templates have been overhauled in SkoolKit 8. As a result, the following templates that were available in SkoolKit 7 no longer exist:
Asm
AsmAllInOne
GameIndex
MemoryMap
Page
Reference
anchor
asm_comment
asm_entry
asm_instruction
asm_register
contents_list_item
index_section
index_section_item
javascript
list_entry
list_item
list_items
map_entry
paragraph
reference_entry
stylesheet
table_cell
table_header_cell
table_row
In addition, the following templates have been rewritten to use the foreach and if directives, which are new in SkoolKit 8:
Finally, the signature of the format_template()
method on HtmlWriter has
changed in SkoolKit 8.0: the default parameter has been removed.
CSS selectors¶
The class attributes of some HTML elements have changed in SkoolKit 8.
The following table lists the selectors that appeared in the CSS files in SkoolKit 7, and their replacements (if any) in SkoolKit 8.
SkoolKit 7 |
SkoolKit 8 |
---|---|
div.map-entry-desc-0 |
|
div.map-entry-desc-1 |
div.map-entry-desc |
span.next-0 |
|
span.prev-0 |
|
table.input-0 |
|
table.input-1 |
table.input |
table.output-0 |
|
table.output-1 |
table.output |
td.asm-label-0 |
|
td.asm-label-1 |
td.asm-label |
td.bytes-0 |
|
td.bytes-1 |
td.bytes |
td.comment-01 |
|
td.comment-10 |
td.comment-0 |
td.comment-11 |
td.comment-1 |
td.map-byte-0 |
|
td.map-byte-1 |
td.map-byte |
td.map-length-0 |
|
td.map-length-1 |
td.map-length |
td.map-page-0 |
|
td.map-page-1 |
td.map-page |
th.map-byte-0 |
|
th.map-length-0 |
|
th.map-page-0 |
The following table lists selectors for the classes that were unstyled (i.e. did not appear in any CSS files) in SkoolKit 7, and their replacements (if any) in SkoolKit 8.
SkoolKit 7 |
SkoolKit 8 |
---|---|
span.next-1 |
|
span.prev-1 |
|
th.map-byte-1 |
th.map-byte |
th.map-length-1 |
th.map-length |
th.map-page-1 |
th.map-page |
skoolkit7to8.py¶
The skoolkit7to8.py script may be used to convert a control file or ref file that is compatible with SkoolKit 7 into a file that will work with SkoolKit 8. For example, to convert game.ref:
$ skoolkit7to8.py game.ref > game8.ref