Changelog
8.4 (2021-03-06)
- Made the image writer component pluggable
- Added support for defining groups of entries (via the [EntryGroups]
section of the ref file) whose disassembly pages can be given custom titles
and headers
- Added the
Address
parameter to the [Game] section (for
specifying the format of address fields on disassembly pages and memory map
pages, and of the default link text for the #R macro)
- Added the
Length
parameter to the [Game] section (for specifying
the format of the new length
attribute of entry objects in
HTML templates, which is now used instead of size
in the Length
column on memory map pages)
- Added the
Peek
and Word
configuration parameters for
snapinfo.py (for specifying the format of each line of
the output produced by the --peek
and --word
options)
- Added support for specifying an @expand directive value over multiple
lines by prefixing the second and subsequent lines with
+
- Added support to the
--ram
option of tap2sna.py for the
sysvars
operation (for initialising the system variables in a snapshot)
- Changed the default value of the
DefmSize
configuration parameter for
sna2skool.py from 66 to 65; this makes it compliant
with the default maximum line width of 79 defined by the LineWidth
configuration parameter
- Fixed the bug that prevents instruction comments from being repeated in a
control file loop
- Fixed the bug that makes sna2skool.py ignore a given start address
below 16384 when converting a snapshot
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