.. _skoolkit3x: 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 :ref:`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 :ref:`ref-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 :ref:`UDGARRAY` macro so that it can create an animated image from an arbitrary sequence of frames * Enhanced the :ref:`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 :ref:`resources` section in the ref file * Added the ``--join-css`` option to :ref:`skool2html.py` (to concatenate CSS files into a single file) * Added the ``--search-dirs`` option to :ref:`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 :ref:`tap2sna.py` command (for building snapshots from TAP/TZX files) * Added support to :ref:`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 :ref:`ref-game` section * Moved the ``JavaScript`` parameter from the ``[Paths]`` section to the :ref:`page` section * Moved the ``Logo`` parameter from the ``[Paths]`` section to the :ref:`ref-game` section and renamed it ``LogoImage`` * The :ref:`r` macro now renders the addresses of remote entries in the specified case and base, and can resolve the addresses of remote entry points * :ref:`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 :ref:`skool2html.py` (to use ASM labels defined by :ref:`label` directives, and to create default labels for unlabelled instructions) * Added the ``--erefs`` option to :ref:`sna2skool.py` (to always add comments that list entry point referrers) * Added the ``--package-dir`` option to :ref:`skool2asm.py` (to show the path to the skoolkit package directory) * Added support for the ``LinkOperands`` parameter in the :ref:`ref-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 :ref:`ref-Colours` section of the ref file * Added support to the :ref:`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 :ref:`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 :ref:`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 :ref:`html` macro instead) * Removed the documentation sources and man page sources from the SkoolKit distribution (they can be obtained from GitHub_) .. _GitHub: https://github.com/skoolkid/skoolkit 3.3.2 (2013-05-13) ------------------ * Added the ``-T`` option to :ref:`skool2html.py` (to specify a CSS theme) * Added the ``-p`` option to :ref:`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 :ref:`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 :ref:`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 :ref:`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 :ref:`ref-Config` section) and the :ref:`writer` directive for specifying a module outside the module search path (e.g. a standalone module that is not part of an installed package) * :ref:`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 :ref:`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 :ref:`sna2skool.py` generates control files * Added support to :ref:`sna2skool.py` for disassembling 128K SNA snapshots 3.2 (2012-11-01) ---------------- * Added support to :ref:`sna2skool.py` for disassembling 128K Z80 snapshots and 16K, 48K and 128K SZX snapshots * Added the :ref:`LIST` macro (for rendering lists of bulleted items in both HTML mode and ASM mode) * Added the :ref:`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 :ref:`skool2ctl.py` and `skool2sft.py` for DEFB and DEFM statements that contain both strings and bytes * :ref:`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 :ref:`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 :ref:`skool2asm.py` and :ref:`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 :ref:`skool2asm.py` and :ref:`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 :ref:`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 :ref:`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 :ref:`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 :ref:`ref-Game` section of the ref file * Added the 'default' CSS class for HTML tables created by the :ref:`table` macro 3.1.1 (2012-07-17) ------------------ * Enhanced the :ref:`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 :ref:`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 :ref:`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 :ref:`extending SkoolKit ` * Added the :ref:`writer` ASM directive (to specify the class to use for producing ASM output) * Added the :ref:`CHR` macro (for rendering arbitrary unicode characters); removed support for the redundant ``#C`` macro accordingly * Added support for the :ref:`CALL`, ``#REFS``, ``#EREFS``, :ref:`PUSHS`, :ref:`POKES` and :ref:`POPS` macros in ASM mode * Added the ``-c`` option to :ref:`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 :ref:`ref-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 :ref:`FONT`, :ref:`SCR`, :ref:`UDG` and :ref:`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 :ref:`ref-ImageWriter` section of the ref file; `gd` and `PIL` are no longer required or supported * Enhanced the :ref:`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 :ref:`FONT`, :ref:`SCR`, :ref:`UDG` and :ref:`UDGARRAY` macros