SkoolKit 3.x changelog¶
3.7 (2014-03-08)¶
Added support for numbers in binary notation (e.g. %10101010)
Added the
s
andS
control directives for encoding DEFS statements (with optional non-zero byte values); thez
andZ
directives are now deprecatedAdded 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 fileFixed the bug that makes skool2html.py fail if the
FontPath
,JavaScriptPath
orStyleSheetPath
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
andStyleSheet
parameters from the[Paths]
section to the [Game] sectionMoved the
JavaScript
parameter from the[Paths]
section to the [Page:*] sectionMoved the
Logo
parameter from the[Paths]
section to the [Game] section and renamed itLogoImage
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 hyperlinkedAdded 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 parametersFixed 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 templateFixed 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
andOutputRegisterTableHeader
parameters in the [Game] section of the ref fileAdded 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
andFontPath
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 accordinglyAdded support for the #CALL,
#REFS
,#EREFS
, #PUSHS, #POKES and #POPS macros in ASM modeAdded 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
andY
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