SkoolKit 5.x changelog

5.4 (2017-01-08)

  • Added the sna2img.py command (for converting the screenshot in a SCR file or SNA/SZX/Z80 snapshot into a PNG or GIF file)

  • Added the @equ ASM directive (which produces an EQU directive in the ASM output)

  • The #REG macro now accepts an arbitrary text parameter (e.g. #REG(hlh'l'))

  • When the #LINK macro links to an entry on a box page, the link text defaults to the title of the entry if left blank

  • Added the SectionType parameter to the [Page:*] section (for specifying how to parse and render the ref file sections from which a box page is built)

  • Added the --asm-one-page option to skool2html.py (for writing all routines and data blocks to a single page)

  • Added the --variables option to snapinfo.py (for showing the contents of the variables area)

  • snapinfo.py now shows special symbols for UDGs in a BASIC program (e.g. {UDG-A})

  • Improved how @end, @org, @replace, @set, @start and @writer directives are preserved and restored via a control file

  • Added support for page-specific HTML subtemplates

  • The #UDGARRAY macro now pads out the bottom row of an array with extra UDGs if necessary (to prevent the creation of a broken image file)

5.3 (2016-09-05)

  • Dropped support for Python 3.2

  • Added the snapinfo.py command (for showing information on the registers and RAM in a SNA, SZX or Z80 snapshot)

  • Added the snapmod.py command (for modifying the registers and RAM in a 48K Z80 snapshot)

  • Added the #INCLUDE macro (which expands to the contents of a ref file section)

  • Added the ability to write the HTML disassembly to a single page (by using the AsmSinglePageTemplate parameter in the [Game] section and the AsmAllInOne and asm_entry templates)

  • Added the SectionPrefix parameter to the [Page:*] section (for specifying the prefix of the names of ref file sections from which to build a box page)

  • Added the --screen option to bin2tap.py (for adding a loading screen to the TAP file)

  • Added the --stack and --start options to tap2sna.py (for specifying the stack and start addresses)

  • Added support to the #REG macro for the F and F’ registers

  • Improved how skool2asm.py scans annotations for addresses not converted to labels

  • Fixed how a memory block that ends with a single ED byte is compressed in a Z80 snapshot

  • Removed the Spectrum ROM disassembly from the SkoolKit distribution; it is now being developed separately here

5.2 (2016-05-02)

  • Added the bin2sna.py command (for converting a binary file into a Z80 snapshot)

  • Added the #N macro (which renders a numeric value in hexadecimal format when the --hex option is used with skool2asm.py or skool2html.py)

  • Added the @rfix ASM directive (which makes an instruction substitution in @rfix mode)

  • Added the UDGFilename parameter to the [Game] section (for specifying the format of the default filename for images created by the #UDG macro)

  • bin2tap.py can now read a binary file from standard input

  • skool2bin.py can now write to standard output (and so its output can be piped to bin2sna.py or bin2tap.py)

  • When the #LINK macro links to an entry on a memory map page, the anchor is converted to the format specified by the AddressAnchor parameter

  • Fixed how required integer macro parameters are handled when left blank (e.g. #POKES30000,,8)

5.1 (2016-01-09)

  • Added the @replace ASM directive (which replaces strings that match a regular expression in skool file annotations and ref file sections)

  • Added the #(), #EVAL, #FOR, #FOREACH, #IF, #MAP and #PEEK macros (which can be used to programmatically specify the parameters of any macro)

  • Added support for arithmetic expressions and skool macros in numeric macro parameters

  • Added the --bfix, --ofix and --ssub options to skool2bin.py (for parsing the skool file in @bfix, @ofix and @ssub mode)

  • Added the DefaultAnimationFormat parameter to the [ImageWriter] section (for specifying the default format for animated images)

  • The #R macro now converts an anchor that matches the entry address to the format specified by the AddressAnchor parameter (making it easier to link to the first instruction in an entry when using a custom anchor format)

  • skool2ctl.py now appends a terminal i directive if the skool file ends before 65536

  • skool2sft.py now preserves i blocks in the same way as code and data blocks (instead of verbatim), which enables their conversion to decimal or hexadecimal when restored from a skool file template

  • Fixed how the colours in flashing blank tiles are detected when writing an uncropped image file

  • Fixed how a 2-colour PNG image is created when it contains an attribute with equal INK and PAPER colours

5.0 (2015-10-04)

  • Added the skool2bin.py command (for converting a skool file into a binary file)

  • Added the tapinfo.py command (for showing information on the blocks in a TAP or TZX file)

  • Converted the HTML templates from XHTML 1.0 to HTML5

  • Added the footer template (for formatting the <footer> element of a page)

  • Added the @assemble ASM directive

  • Added the --set option to skool2asm.py (for setting ASM writer property values)

  • Added the RefFiles parameter to the [Config] section (for specifying extra ref files to use)

  • Added support to sna2skool.py for reading SpecEmu’s 64K code execution map files

  • Fixed how tap2sna.py does a standard load from a TZX file