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
andshow_bytes
identifiers to the asm_instruction template, along with a table cell for displaying the byte values of an assembled instructionAdded 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 modeFixed how skool macros are expanded in
*ImagePath
parameters in the [Paths] sectionFixed 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 timesThe #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
+
markertapinfo.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’ directiveFixed 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
andwrapalign
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 instructionsFixed how blocks of zeroes are detected and how an
--end
address is handled when generating a control file