Changelog

6.2 (2018-01-01)

  • Added the --reg option to bin2sna.py (for setting the value of a register)
  • Added the --state option to bin2sna.py (for setting the value of a hardware state attribute)
  • sna2img.py can now read a binary (raw memory) file when the --binary option is used, and with a specific origin address when the --org option is used
  • Added the Includes parameter to the [MemoryMap:*] section (for specifying addresses of entries to include on the memory map page in addition to those specified by the EntryTypes parameter)
  • The SkoolKit command options now accept a hexadecimal integer prefixed by ‘0x’ wherever an address, byte, length, step, offset or range limit value is expected
  • Added the hex parameter to the #N macro (for rendering a value in hexadecimal format unless the --decimal option is used with skool2asm.py or skool2html.py)
  • Added the --show-config option to skool2asm.py, skool2html.py and sna2skool.py (for showing configuration parameter values)
  • Added support for substituting labels in instruction operands and DEFB/DEFM/DEFW statements that contain multiple addresses (e.g. LD BC,30000+40000%256), or where the address is the second or later term in an expression (e.g. DEFW 1+30000)
  • The @keep directive can now specify the values to keep, and is applied to instructions that have been replaced by an @isub, @ssub or @rsub directive
  • The @nolabel directive is now processed in HTML mode

6.1 (2017-09-03)

  • Added support for converting the base of every numerical term in an instruction operand or DEFB/DEFM/DEFS/DEFW statement that contains two or more (e.g. LD A,32768/256 to LD A,$8000/$100)
  • Added support for assembling instructions and DEFB/DEFM/DEFS/DEFW statements whose operands contain arithmetic expressions (e.g. DEFM "H","i"+$80)
  • Added support to skool2asm.py, skool2html.py and sna2skool.py for reading configuration from a file named skoolkit.ini, if present
  • Added the --ini option to skool2asm.py, skool2html.py and sna2skool.py (for setting the value of a configuration parameter)
  • sna2img.py can now read skool files, in either the default mode, or @bfix mode by using the --bfix option
  • Added the --move option to sna2img.py (for copying the contents of a block of RAM to another location)
  • Improved how skool2asm.py formats a comment that covers two or more instructions: now the comment is aligned to the widest instruction, and even blank lines are prefixed by a semicolon
  • Improved how the #R macro renders the address of an unavailable instruction (an instruction outside the range of the current disassembly, or in another disassembly) in ASM mode
  • Removed the indent from EQU directives in ASM output (for compatibility with SjASMPlus)
  • Fixed the bug that prevents the expansion of a macro whose numeric parameters contain a ‘<’, ‘>’ or ‘&’ character
  • Fixed how labels are substituted for addresses in DEFB/DEFM/DEFW statements
  • Fixed skool2asm.py so that it processes @ssub directives when --fixes 3 is specified
  • Fixed the styling of entry descriptions for ‘t’ blocks on a memory map page

6.0 (2017-05-06)

  • Dropped support for Python 2.7 and 3.3
  • Added the --expand option to sna2img.py (for expanding a #FONT, #SCR, #UDG or #UDGARRAY macro)
  • Added the --basic option to tapinfo.py (for listing the BASIC program in a tape block)
  • Added the --find-tile option to snapinfo.py (for searching for the graphic data of a tile currently on screen)
  • Added the --word option to snapinfo.py (for showing the words at a range of addresses)
  • Added support to the --find option of snapinfo.py for specifying a range of distances between byte values (e.g. --find 1,2,3-1-10)
  • The --peek option of snapinfo.py now shows UDGs and BASIC tokens
  • Added support for replacement fields (such as {base} and {case}) in the expr parameter of the #IF macro and the key parameter of the #MAP macro
  • Added support for parsing a box page entry section as a sequence of multi-line list items prefixed by ‘-‘ (with SectionType=BulletPoints)
  • The following ref file components may now contain skool macros: the anchor and title of a box page entry section name; every parameter in the [Game], [MemoryMap:*], [Page:*], [PageHeaders], [Paths] and [Titles] sections
  • The @replace directive now acts on ref file section names as well as their contents
  • The #EVAL macro now renders hexadecimal values in lower case when the --lower option of skool2asm.py or skool2html.py is used
  • Added the #VERSION macro (which expands to the version of SkoolKit)
  • Fixed how an image is cropped when the crop rectangle is very narrow
  • Fixed how a masked image with flashing cells is built
  • Fixed how sna2skool.py handles a snapshot that contains a dangling IX/IY prefix (DD/FD) when generating a control file
  • Fixed the bug that prevents the expansion of skool macros in a page’s link text on the disassembly home page