Changelog
6.3 (2018-02-19)
- Added the @defb, @defs and @defw directives (for inserting
byte values and word values into the memory snapshot)
- Added the @remote directive (for creating a remote entry)
- Added the
--poke
option to bin2sna.py (for performing POKE
operations on the snapshot)
- Added the
--user-agent
option to tap2sna.py (for setting the
User-Agent header used in an HTTP request)
- Added support to the [Resources] section for specifying files using
wildcard characters (
*
, ?
and []
)
- Added the
ImagePath
parameter to the [Paths] section (for specifying
the base directory in which to place images) and the ability to define one
image path ID in terms of another
- Added support for image path ID replacement fields in the
fname
parameter
of the image macros (e.g. #SCR2({UDGImagePath}/scr)
)
- The @assemble directive can specify what to assemble in HTML mode and
ASM mode separately
- By default in ASM mode, DEFB/DEFM/DEFS/DEFW statements are no longer
converted into byte values for the purpose of populating the memory snapshot
- The
address
parameter of the @org directive is now optional and
defaults to the address of the next instruction
- The
LABEL
parameter of the @label directive may be left blank to
prevent the next instruction from having a label automatically generated
- Added the
location
identifier to the asm_instruction template
- Added support for parsing block-level comments that are not left-padded by a
space
- Fixed how an opening brace at the end of a line or a closing brace at the
beginning of a line is handled in an instruction-level comment
- Fixed the bug in skool2ctl.py that prevents an @ignoreua
directive on a block end comment from being preserved correctly
- Fixed sna2skool.py so that it can generate a control file for a
snapshot whose final byte (at 65535) is 24 or 237
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