SkoolKit 3.x changelog
3.7 (2014-03-08)
- Added support for numbers in binary notation (e.g. %10101010)
- Added the
s
and S
control directives for encoding DEFS statements
(with optional non-zero byte values); the z
and Z
directives are now
deprecated
- Added support to control files and skool file templates for specifying the
base of numeric values in DEFB, DEFM, DEFS and DEFW statements
- Added the
--preserve-base
option to skool2ctl.py and
skool2sft.py (to preserve the base of decimal and hexadecimal values
in DEFB, DEFM, DEFS and DEFW statements)
- Added the
JavaScript
parameter to the [Game] section (for
specifying JavaScript files to include in every page of a disassembly)
- Fixed the bug that prevents DEFB statements containing only strings and DEFM
statements containing only bytes from being restored from a control file or a
skool file template
- Added changelog entries to manic_miner.ref, jet_set_willy.ref and
48.rom.ref
3.6 (2013-11-02)
- Enhanced the #UDGARRAY macro so that it can create an animated image
from an arbitrary sequence of frames
- Enhanced the #FONT macro so that it can create an image of arbitrary
text
- Added support for copying arbitrary files into an HTML disassembly by using
the [Resources] section in the ref file
- Added the
--join-css
option to skool2html.py (to concatenate CSS
files into a single file)
- Added the
--search-dirs
option to skool2html.py (to show the
locations that skool2html.py searches for resources)
- Added support for creating disassemblies with a start address below 10000
- Added an example control file for the 48K Spectrum ROM: 48.rom.ctl
- Control files can now preserve blank comments that span two or more
instructions
- The
[Config]
section no longer has to be in the ref file named on the
skool2html.py command line; it can be in any secondary ref file
- Fixed the bug that makes skool2html.py fail if the
FontPath
,
JavaScriptPath
or StyleSheetPath
parameter in the [Paths]
section
of the ref file is set to some directory other than the default
3.5 (2013-09-01)
- Added the tap2sna.py command (for building snapshots from TAP/TZX
files)
- Added support to skool2html.py for multiple CSS themes
- Added the ‘green’, ‘plum’ and ‘wide’ CSS themes: skoolkit-green.css,
skoolkit-plum.css, skoolkit-wide.css
- Moved the
Font
and StyleSheet
parameters from the [Paths]
section
to the [Game] section
- Moved the
JavaScript
parameter from the [Paths]
section to the
[Page:*] section
- Moved the
Logo
parameter from the [Paths]
section to the
[Game] section and renamed it LogoImage
- The #R macro now renders the addresses of remote entries in the
specified case and base, and can resolve the addresses of remote entry points
- skool2asm.py now writes ORG addresses in the specified case and base
- Annotated the source code remnants at 39936 in jet_set_willy.ctl
3.4 (2013-07-08)
- Dropped support for Python 2.6 and 3.1
- Added long options to every command
- Added the
--asm-labels
and --create-labels
options to
skool2html.py (to use ASM labels defined by @label directives,
and to create default labels for unlabelled instructions)
- Added the
--erefs
option to sna2skool.py (to always add comments
that list entry point referrers)
- Added the
--package-dir
option to skool2asm.py (to show the path
to the skoolkit package directory)
- Added support for the
LinkOperands
parameter in the [Game]
section of the ref file, which may be used to enable the address operands
of LD instructions to be hyperlinked
- Added support for defining image colours by using hex triplets in the
[Colours] section of the ref file
- Added support to the @set ASM directive for the
handle-unsupported-macros and wrap-column-width-min properties
- Fixed the
#EREFS
and #REFS
macros so that they work with hexadecimal
address parameters
- Fixed the bug that crashes sna2skool.py when generating a control file
from a code execution map and a snapshot with a code block that terminates at
65535
- Fixed how skool2asm.py renders table cells with rowspan > 1 and
wrapped contents alongside cells with rowspan = 1
- Removed support for the
#NAME
macro (what it did can be done by the
#HTML macro instead)
- Removed the documentation sources and man page sources from the SkoolKit
distribution (they can be obtained from GitHub)
3.3.2 (2013-05-13)
- Added the
-T
option to skool2html.py (to specify a CSS theme)
- Added the
-p
option to skool2html.py (to show the path to the
skoolkit package directory)
- setup.py now installs the resources directory (so a local copy is no
longer required when SkoolKit has been installed via
setup.py install
)
- Added jet_set_willy-dark.css (to complete the ‘dark’ theme for that
disassembly)
- Added documentation on how to write an
instruction-level comment that contains opening or closing braces when
rendered
- Fixed the appearance of transparent table cells in HTML output
- Fixed sna2skool.py so that a control file specified by the
-c
option takes precedence over a default skool file template
- Fixed manic_miner.ctl so that the comments at 40177-40191 apply to a
pristine snapshot (before stack operations have corrupted those addresses)
3.3.1 (2013-03-04)
- Added support to the @set ASM directive for the comment-width-min,
indent, instruction-width, label-colons, line-width and warnings
properties
- Added support to the
HtmlWriterClass
parameter (in the [Config]
section) and the @writer directive for specifying a module outside the
module search path (e.g. a standalone module that is not part of an installed
package)
- sna2skool.py now correctly renders an empty block description as a
dot (
.
) on a line of its own
3.3 (2013-01-08)
- Added support to sna2skool.py for reading code execution maps produced
by the Fuse, SpecEmu, Spud, Zero and Z80 emulators (to generate more accurate
control files)
- Increased the speed at which sna2skool.py generates control files
- Added support to sna2skool.py for disassembling 128K SNA snapshots
3.2 (2012-11-01)
- Added support to sna2skool.py for disassembling 128K Z80 snapshots and
16K, 48K and 128K SZX snapshots
- Added the #LIST macro (for rendering lists of bulleted items in both
HTML mode and ASM mode)
- Added the @set ASM directive (for setting properties on the ASM writer)
- Added trivia entries to jet_set_willy.ref
- Annotated the source code remnants at 32768 and 37708 in manic_miner.ctl
3.1.4 (2012-10-11)
- Added support to skool2ctl.py and skool2sft.py for DEFB and
DEFM statements that contain both strings and bytes
- skool2ctl.py now correctly processes lower case DEFB, DEFM, DEFS and
DEFW statements
- The length of a string (in a DEFB or DEFM statement) that contains one or
more backslashes is now correctly calculated by skool2ctl.py and
skool2sft.py
- DEFB and DEFM statements that contain both strings and bytes are now
correctly converted to lower case, upper case, decimal or hexadecimal (when
using the
-l
, -u
, -D
and -H
options of skool2asm.py
and skool2html.py)
- Operations involving (IX+n) or (IY+n) expressions are now correctly converted
to lower case decimal or hexadecimal (when using the
-l
, -D
and
-H
options of skool2asm.py and skool2html.py)
3.1.3 (2012-09-11)
- The ‘Glossary’ page is formatted in the same way as the ‘Trivia’, ‘Bugs’,
‘Pokes’ and ‘Graphic glitches’ pages
- When the link text of a #LINK macro is left blank, the link text of the
page is substituted
- The disassembler escapes backslashes and double quotes in DEFM statements
(so that skool2asm.py no longer has to)
- DEFB and DEFM statements that contain both strings and bytes are parsed
correctly for the purpose of building a memory snapshot
3.1.2 (2012-08-01)
- Added the #HTML macro (for rendering arbitrary text in HTML mode only)
- Added support for distinguishing input values from output values in a
routine’s register section (by using prefixes such as ‘Input:’ and ‘Output:’)
- Added support for the
InputRegisterTableHeader
and
OutputRegisterTableHeader
parameters in the [Game] section of
the ref file
- Added the ‘default’ CSS class for HTML tables created by the #TABLE
macro
3.1.1 (2012-07-17)
- Enhanced the #UDGARRAY macro so that it accepts both horizontal and
vertical steps in UDG address ranges
- Added support for the
Font
and FontPath
parameters in the
[Paths] section of the ref file (for specifying font files used by CSS
@font-face rules)
- Added a Spectrum theme CSS file that uses the Spectrum font and colours:
skoolkit-spectrum.css
- Fixed skool2asm.py so that it escapes backslashes and double quotes in
DEFM statements
3.1 (2012-06-19)
- Dropped support for Python 2.5
- Added documentation on extending SkoolKit
- Added the @writer ASM directive (to specify the class to use for
producing ASM output)
- Added the #CHR macro (for rendering arbitrary unicode characters);
removed support for the redundant
#C
macro accordingly
- Added support for the #CALL,
#REFS
, #EREFS
, #PUSHS,
#POKES and #POPS macros in ASM mode
- Added the
-c
option to skool2html.py (to simulate adding lines to
the ref file)
- Added a dark theme CSS file: skoolkit-dark.css
3.0.2 (2012-05-01)
- Added room images and descriptions to manic_miner.ctl and
jet_set_willy.ctl (based on reference material from
Andrew Broad and
J. G. Harston)
- Fixed the bug that prevents the ‘Data tables and buffers’ section from
appearing on the disassembly index page when the default
DataTables
link
group is used
3.0.1 (2012-04-11)
- Added support for creating GIF files (including transparent and animated
GIFs)
- Added support for creating animated PNGs in APNG format
- Added support for transparency in PNG images (by using the
PNGAlpha
parameter in the [ImageWriter] section of the ref file)
- Added an example control file: jet_set_willy.ctl
- Fixed the bug in how images are cropped by the #FONT, #SCR,
#UDG and #UDGARRAY macros when using non-zero
X
and Y
parameters
3.0 (2012-03-20)
- SkoolKit now works with Python 3.x
- Added a native image creation library, which can be configured by using the
[ImageWriter] section of the ref file; gd and PIL are no
longer required or supported
- Enhanced the #SCR macro so that graphic data and attribute bytes in
places other than the display file and attribute file may be used to build a
screenshot
- Added image-cropping capabilities to the #FONT, #SCR, #UDG
and #UDGARRAY macros