# SkoolKit 2.x changelog

## 2.5 (2012-02-22)

- Added support for [MemoryMap:*] sections in ref files (for defining the properties of memory map pages); removed support for the `[MapDetails]` section accordingly

- Added support for multiple style sheets per HTML disassembly (by separating file names with a semicolon in the `StyleSheet` parameter in the [Paths] section of the ref file)

- Added support for multiple JavaScript files per HTML disassembly (by separating file names with a semicolon in the `JavaScript` parameter in the [Paths] section of the ref file)

## 2.4.1 (2012-01-30)

- The @ignoreua directive can now be used on entry titles, entry descriptions, mid-block comments and block end comments in addition to instruction-level comments; the @ignoredua and @ignoremrcua directives are correspondingly deprecated

- The #SPACE macro now supports the syntax `#SPACE([num])`, which can be useful to distinguish it from adjacent text where necessary

## 2.4 (2012-01-10)

- Added the skool2sft.py command (for creating skool file templates)

- Added support to skool2ctl.py for preserving some ASM directives in control files

- Enhanced the #UDG and #UDGARRAY macros so that images can be rotated

- Added the ability to separate paragraphs in a skool file by using a dot (`.`) on a line of its own; removed support for the redundant `#P` macro accordingly

## 2.3.1 (2011-11-15)

- Added support to skool2html.py for multiple ref files per disassembly

- Enhanced the #UDG and #UDGARRAY macros so that images can be flipped horizontally and vertically

- Enhanced the #POKES macro so that multiple pokes may be specified

- Added support for the `#FACT` and `#POKE` macros in ASM mode

- When the link text of a `#BUG`, `#FACT` or `#POKE` macro is left blank, the title of the corresponding bug, trivia or poke entry is substituted

- Fixed the parsing of link text in skool macros in ASM mode so that nested parentheses are handled correctly

- Fixed the rendering of table borders in ASM mode where cells with rowspan > 1 in columns other than the first extend to the bottom row

## 2.3 (2011-10-31)

- Fixed the bug where the operands in substitute instructions defined by `@bfix`, `@ofix`, `@isub`, `@ssub` and `@rsub` directives are not converted to decimal or hexadecimal when using the `-D` or `-H` option of skool2asm.py or skool2html.py

- Removed the source files for the Skool Daze, Back to Skool and Contact Sam Cruise disassemblies from the SkoolKit distribution; they are now available as separate downloads

## 2.2.5 (2011-10-17)

- Enhanced the #UDGARRAY macro so that masks can be specified

- Added the `-p` option to bin2tap.py (to set the stack pointer)

- Fixed the parsing of link text in `#BUG`, `#FACT`, `#POKE` and other skool macros so that nested parentheses are handled correctly

- Fixed the handling of version 1 Z80 snapshots by sna2skool.py

- Added support for the `IndexPageId` and `Link` parameters in `[OtherCode:*]` sections of the ref file

- Reintroduced support for `[Changelog:*]` sections in ref files

- Added ‘Changelog’ pages to the Skool Daze, Back to Skool and Contact Sam Cruise disassemblies

- Updated the Contact Sam Cruise disassembly

## 2.2.4 (2011-08-10)

- Added support for the @ignoredua ASM directive

- skool2asm.py automatically decreases the width of the comment field for a ‘wide’ instruction instead of printing a warning

- bin2tap.py can handle binary snapshot files with ORG addresses as low as 16398

- Fixed the bug in bin2tap.py that prevents the START address from defaulting to the ORG address when the ORG address is specified with the `-o` option

- Added ASM directives to csc.skool so that it works with skool2asm.py

- Updated the Contact Sam Cruise disassembly

## 2.2.3 (2011-07-15)

Updated the Contact Sam Cruise disassembly; it is now ‘complete’.

## 2.2.2 (2011-06-02)

- Added support for the @end ASM directive

- Added ASM directives to {bts,csc,sd}-{load,save,start}.skool to make them work with skool2asm.py

- skool2asm.py, skool2ctl.py and skool2html.py can read from standard input

- Fixed the bug that made sna2skool.py generate a control file with a code block at 65535 for a snapshot that ends with a sequence of zeroes

- Unit test test_skool2html.py:Skool2HtmlTest.test_html now works without an internet connection

## 2.2.1 (2011-05-24)

- SkoolKit can now be installed as a Python package using `setup.py install`

- Unit tests are included in the tests directory

- Man pages for SkoolKit’s command scripts are included in the man directory

- Added ‘Developer reference’ documentation

- Fixed the bugs that made skool2html.py produce invalid XHTML

## 2.2 (2011-05-10)

- Changed the syntax of the skool2html.py command (it no longer writes the Skool Daze and Back to Skool disassemblies by default)

- Fixed the bug that prevented skool2asm.py from working with a zero-argument skool macro (such as `#C`) at the end of a sentence

- Fixed the `-w` option of skool2asm.py (it really does suppress all warnings now)

- Fixed how sna2skool.py handles `#P` macros (it now writes a newline before and after each one)

- Fixed the bug that made sna2skool.py omit the ‘*’ control directive from routine entry points when the `-L` option was used

- ASM labels are now unaffected by the `-l` (lower case) and `-u` (upper case) options of skool2asm.py

- Added support for the ‘*’ notation in statement length lists in sub-block control directives (e.g. `B 32768,239,16*14,15`)

- Updated the Skool Daze disassembly

- Updated the Back to Skool disassembly

## 2.1.2 (2011-04-28)

- Added the `-L` option to sna2skool.py (to write the disassembly in lower case)

- Added the `-i` option to skool2html.py (to specify the image library to use)

- In control files, DEFM, DEFW and DEFS statement lengths in `T`, `W` and `Z` sub-blocks may be declared

- Fixed the bug in skool2asm.py’s handling of the `#SPACE` macro that prevented it from working with csc.skool

- Fixed the bug that made skool2asm.py produce invalid output when run on sd.skool with the `-H` and `-f3` options

## 2.1.1 (2011-04-16)

- Added the `-l`, `-u`, `-D` and `-H` options to skool2html.py (to write the disassembly in lower case, upper case, decimal or hexadecimal)

- Added the `-u`, `-D` and `-H` options to skool2asm.py (to write the disassembly in upper case, decimal or hexadecimal)

- In control files, an instruction-level comment that spans a group of two or more sub-blocks of different types may be declared with an `M` directive

- Updated the incomplete Contact Sam Cruise disassembly

## 2.1 (2011-04-03)

- Added support for hexadecimal disassemblies

- Added the #LINK macro (for creating hyperlinks to other pages in an HTML disassembly)

- Added the ability to define custom pages in an HTML disassembly using `[Page:*]` and `[PageContent:*]` sections in the ref file

- Added the `-o` option to skool2html.py (to overwrite existing image files)

- Optional parameters in any position in a skool macro may be left blank

- In control files, DEFB statement lengths in multi-line `B` sub-blocks may be declared

- Updated the Skool Daze disassembly

- Updated the Back to Skool disassembly

- Updated the incomplete Contact Sam Cruise disassembly

## 2.0.6 (2011-03-09)

- sna2skool.py can read and write hexadecimal numbers in a control file

- skool2ctl.py can write hexadecimal numbers in a control file

- sna2skool.py no longer chokes on blank lines in a control file

- Updated the incomplete Contact Sam Cruise disassembly

## 2.0.5 (2011-02-09)

- Added the #UDGARRAY macro (for creating images of blocks of UDGs)

- Enhanced the #FONT macro so that it works with regular 8x8 fonts as well as the Skool game fonts

- Enhanced the #SCR macro so that it can take screenshots of rectangular portions of the screen

- The contents of the ‘Other graphics’ page of a disassembly are now defined in the `[Graphics]` section of the ref file

- Added the ability to define the layout of the disassembly index page in the `[Index]` and `[Index:*:*]` sections of the ref file

- Added the ability to define page titles in the `[Titles]` section of the ref file

- Added the ability to define page link text in the `[Links]` section of the ref file

- Added the ability to define the image colour palette in the `[Colours]` section of the ref file

- Fixed the bug in sna2skool.py that prevented it from generating a control file for a snapshot with the final byte of a ‘RET’, ‘JR d’, or ‘JP nn’ instruction at 65535

- Updated the incomplete Contact Sam Cruise disassembly

## 2.0.4 (2010-12-16)

Updated the incomplete Contact Sam Cruise disassembly.

## 2.0.3 (2010-12-08)

Updated the incomplete Contact Sam Cruise disassembly.

## 2.0.2 (2010-12-01)

- Fixed the `#EREFS`, `#REFS` and `#TAPS` macros

- Fixed the bug where the end comment for the last entry in a skool file is not parsed

- Updated the incomplete Contact Sam Cruise disassembly

## 2.0.1 (2010-11-28)

- Added the `-r` option to skool2html.py (for specifying a ref file)

- Added the `-o`, `-r`, and `-l` options to sna2skool.py, along with the ability to read binary (raw memory) files

- Fixed skool2ctl.py so that it correctly creates sub-blocks for commentless DEF{B,M,S,W} statements, and writes the length of a sub-block that is followed by a mid-routine comment

- Updated the incomplete Contact Sam Cruise disassembly

## 2.0 (2010-11-23)

- Updated the Back to Skool disassembly

- Enhanced the #R macro to support ‘other code’ disassemblies, thus making the `#ASM`, `#LOAD`, `#SAVE` and `#START` macros obsolete

- Split load.skool, save.skool and start.skool into separate files for each Skool game

- Added documentation on the ref file sections

- Simplified SkoolKit by removing all instances of and support for ref file macros and skool directives

- Added files that were missing from SkoolKit 1.4: csc-load.skool, csc-save.skool and csc-start.skool