Changelog

8.3 (2020-11-08)

  • Added the #PLOT macro (for setting, resetting or flipping a pixel in a frame already created by an image macro)
  • Added the --begin option to bin2tap.py (for specifying the address at which to begin conversion)
  • The --end option of bin2tap.py now applies to raw memory files as well as SNA, SZX and Z80 snapshots
  • Added the --data option to tapinfo.py (for showing the entire contents of header and data blocks)
  • Added support to the --ctl option of sna2skool.py and snapinfo.py for reading control files from a directory
  • Added the x and y parameters to the frame specification of the #UDGARRAY* macro (for specifying the coordinates at which to render a frame of an animated image)
  • Added support for replacement fields in the args parameter of the #CALL macro, in the integer parameters of the #CHR, #D, #INCLUDE, #N, #POKES, #R and #SPACE macros, and in the integer parameters and cropping specification of the #FONT, #SCR, #UDG and #UDGARRAY macros
  • Fixed the bug that causes ‘e+1’ to be interpreted as a floating point number when it appears in a BASIC program

8.2 (2020-07-19)

  • Added the --call-graph option to snapinfo.py (for generating a call graph in DOT format)
  • Added the --ctl option to snapinfo.py (for specifying a control file to use when generating a call graph)
  • Added the --org option to snapinfo.py along with the ability to read binary (raw memory) files
  • Added support to snapinfo.py for reading configuration from skoolkit.ini
  • Added the --ini and --show-config options to snapinfo.py (for setting the value of a configuration parameter and for showing all configuration parameter values)
  • Added the #DEFINE macro (for defining new skool macros)
  • Added the #LET macro (for defining variables that can be retrieved by other macros via replacement fields)
  • Added the #FORMAT macro (for performing a Python-style string formatting operation on an arbitrary piece of text)
  • Added the @expand directive (for specifying skool macros to be expanded during ASM writer or HTML writer initialisation)
  • Added the tindex parameter to the #FONT, #SCR, #UDG and #UDGARRAY macros (for specifying a transparent colour to use other than the default)
  • Added the alpha parameter to the #FONT, #SCR, #UDG and #UDGARRAY macros (for specifying the alpha value to use for the transparent colour)
  • Added the @refs directive (for managing the addresses of routines that jump to or call an entry point)
  • Added support for replacement fields in the integer parameters of the #FOR and #PEEK macros
  • Added the --page option to snapinfo.py (for specifying the page of a 128K snapshot to map to 49152-65535)

8.1 (2020-03-29)

  • Added the --rsub and --rfix options to skool2bin.py (for parsing the skool file in @rsub mode and @rfix mode)
  • Added the --data option to skool2bin.py (for processing @defb, @defs and @defw directives)
  • Added the --verbose option to skool2bin.py (for showing information on each converted instruction)
  • Added the --no-warnings option to skool2bin.py (to suppress the warnings that are now shown by default)
  • The address parameter of the @defb, @defs and @defw directives is now optional
  • @defb, @defs and @defw directives in non-entry blocks are now processed when reading a control file
  • Register name fields in the registers section of an entry header may now contain whitespace and skool macros
  • The #CALL macro now accepts keyword arguments
  • tapinfo.py now shows the contents of TZX block types 0x33 (hardware type) and 0x35 (custom info)
  • Added the LabelColumn parameter to the [MemoryMap:*] section (for specifying whether to display the ‘Label’ column on a memory map page whenever any entries have ASM labels defined)
  • Added the fmt parameter to the format specifier for the bytes attribute of instruction objects in the asm template (for formatting the entire string of byte values)
  • Added support to the @set directive for the table-row-separator property
  • The @ignoreua and @nowarn directives can now specify the addresses for which to suppress warnings
  • Added support to sna2skool.py for ignoring default control files (by specifying --ctl 0)
  • Fixed how sna2skool.py works with dot directives in a control file when an end address is specified

8.0 (2019-11-09)

  • Dropped support for Python 3.4
  • Made several SkoolKit components pluggable
  • Added support for the foreach, if and include directives in HTML templates
  • Added the #PC macro (which expands to the address of the closest instruction in the current entry)
  • Added support to the @set directive for the table-border-horizontal, table-border-join and table-border-vertical properties
  • Added the DefwSize configuration parameter for sna2skool.py (for setting the maximum number of words in a DEFW statement)
  • Added support for the ** pattern (which matches any files and zero or more directories and subdirectories) in the [Resources] section
  • Added support for replacement fields (such as {base} and {case}) in the parameter string of the #EVAL macro
  • Added the max_reg_len identifier to the register template
  • Added support for specifying page header prefixes and suffixes in the [PageHeaders] section
  • An entry dictionary is available when formatting the title and header of a disassembly page (as defined by the Asm-* parameters in the [Titles] and [PageHeaders] sections)
  • Added the GameIndex parameter to the [PageHeaders] section
  • Replaced the AsmSinglePageTemplate parameter with the AsmSinglePage parameter in the [Game] section
  • Fixed the bug that prevents the JavaScript parameter from working for a box page whose SectionType is ListItems or BulletPoints
  • Fixed how a table row separator that crosses a cell with rowspan > 1 is rendered in ASM mode
  • Fixed the bug that prevents sna2skool.py from wrapping referrer comments