SkoolKit 7.x changelog
7.2 (2019-06-02)
- Added support to control files for specifying comments over multiple lines
(by using the dot and colon directives)
- Added support to skool2ctl.py for reading
configuration from skoolkit.ini
- Added the
--ini
and --show-config
options to skool2ctl.py (for
setting the value of a configuration parameter and for showing all
configuration parameter values)
- Added the
--keep-lines
option to skool2ctl.py (for preserving line
breaks in comments)
- Added support for ASM templates (used to format each line of output
produced by skool2asm.py)
- Added the
Templates
configuration parameter for
skool2asm.py (for reading custom ASM templates from a
file)
- Added the
Dictionary
configuration parameter for
sna2ctl.py (to specify a file containing a list of
words allowed in a text string)
- Added the
bytes
and show_bytes
identifiers to the asm_instruction
template, along with a table cell for displaying the byte values of an
assembled instruction
- Added the
Bytes
parameter to the [Game] section (for specifying
the format of byte values in the asm_instruction
template)
- Added the
DisassemblyTableNumCols
parameter to the [Game]
section (for specifying the number of columns in the disassembly table on
disassembly pages)
- In ASM mode, #LIST and #TABLE macros can now be used in register
descriptions
- The #LINK and #R macros now work with address anchors that start
with an upper case letter (as could happen when
AddressAnchor
is
{address:04X}
)
- Fixed how
#LIST
and #TABLE
markers inside a #RAW macro are
handled in ASM mode
- Fixed how skool macros are expanded in
*ImagePath
parameters in the
[Paths] section
- Fixed the hyperlinking of lower case hexadecimal instruction operands
7.1 (2019-02-02)
- Improved the performance and accuracy of the control file generation
algorithm used by sna2ctl.py when no code map is provided
- Added support to sna2ctl.py for reading configuration
from skoolkit.ini
- Added the
--ini
and --show-config
options to sna2ctl.py (for
setting the value of a configuration parameter and for showing all
configuration parameter values)
- Added support to sna2skool.py for reading multiple default control
files, and for using the
--ctl
option multiple times
- The #UDGARRAY macro now has the ability to specify attribute addresses
(as an alternative to specifying attribute values)
- Added support to control files and skool file templates for specifying that
numeric values in instruction operands and DEFB, DEFM, DEFS and DEFW
statements be rendered as negative numbers
- The @isub, @ssub, @rsub, @ofix, @bfix and
@rfix directives can insert an instruction after the current one
(without first specifying a replacement for it) by using the
+
marker
- tapinfo.py now shows pulse lengths in TZX block type 0x13 (pulse
sequence) and full info for TZX block type 0x14 (pure data)
- sna2skool.py handles unprintable characters in a DEFM statement by
rendering them as byte values
- sna2skool.py automatically determines the byte value of an ‘S’
directive and ignores any supplied value
- Added the
CommentWidthMin
configuration parameter for
sna2skool.py (to specify the minimum width of the
instruction comment field in a skool file)
- Added the
InstructionWidth
configuration parameter for
sna2skool.py (to specify the minimum width of the
instruction field in a skool file)
- Added the
Semicolons
configuration parameter for
sna2skool.py (to specify the block types in which
comment semicolons are written for instructions that have no comment)
- Fixed how sna2skool.py interprets the base prefix
n
in a ‘B’
directive
- Fixed how skool2ctl.py and skool2sft.py handle non-entry blocks when
a start address or end address is supplied
7.0 (2018-10-13)
- The @isub, @ssub, @rsub, @ofix, @bfix and
@rfix directives can specify the replacement comment over multiple
lines, replace the label, and insert, overwrite and remove instructions
- Non-entry blocks in a skool file are reproduced by skool2asm.py
and preserved by skool2ctl.py
- Moved the ability to generate a control file from sna2skool.py to the
new sna2ctl.py command
- skool2bin.py now processes @if directives (in case they
contain @isub, @ssub, @ofix or @bfix directives)
- The @label directive can now add an entry point marker to the next
instruction, or remove one if present
- Added the
--force
option to skool2asm.py (to force conversion of
the entire skool file, ignoring any @start and @end directives)
- Added support for appending content to an existing ref file section by adding
a ‘+’ suffix to the section name (e.g.
[Game+]
)
- Added support for preserving ‘inverted’ characters (with bit 7 set) in and
restoring them from a control file or skool file template
- Added support to the #LIST, #TABLE and #UDGTABLE macros for
the
nowrap
and wrapalign
flags (which control how sna2skool.py
renders each list item or table row when reading from a control file)
- skool2html.py now writes a single disassembly from the the skool file
given as the first positional argument; any other positional arguments are
interpreted as extra ref files
- Every entry title on a memory map page is now hyperlinked to the disassembly
page for the corresponding entry
- Fixed the bug in skool2ctl.py that makes it incorrectly compute the
length of an
M
directive covering a sub-block containing two or more
instructions
- Fixed how blocks of zeroes are detected and how an
--end
address is
handled when generating a control file