Changelog

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 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 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 Disassemblies

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)

Enhancements:

  • 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

Updates to the incomplete Contact Sam Cruise disassembly:

  • Added the ‘Command lists’ page
  • Added items to the ‘Trivia’ page: ‘Cash chances’, ‘Silent hangup’, ‘The policeman always knocks twice (or more)’
  • Added items to the ‘Bugs’ page: ‘Lana doesn’t answer’, ‘No. 19 lockout’, ‘Post-traumatic teleportation disorder’, ‘The persistent sniper’, ‘Under the rope’

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 Disassemblies

2.0.6 (2011-03-09)

Enhancements and bugfixes:

  • 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

Updates to the incomplete Contact Sam Cruise disassembly:

  • Added items to the ‘Bugs’ page: ‘The missing blue line’, ‘The trouble with hiding’, ‘Tricks with light switches’
  • Added items to the ‘Trivia’ page: ‘$46 or bust’, ‘Bullet speed’, ‘Gangsters and disguises’, ‘Lana rings in a hurry’, ‘’M’ for messages’, ‘Missing key’, ‘Talk is expensive’
  • Every routine now has a title stating its main purpose
  • Every data block now has a title describing its contents
  • Every game status buffer entry now has a title explaining what it’s used for

2.0.5 (2011-02-09)

New features and bugfixes:

  • 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

Updates to the incomplete Contact Sam Cruise disassembly:

  • Added the ‘Other graphics’ page
  • Fixed the drawing of window decorations (blinds etc.) in the play area images

2.0.4 (2010-12-16)

Various updates to the incomplete Contact Sam Cruise disassembly.

2.0.3 (2010-12-08)

Updates to the incomplete Contact Sam Cruise disassembly:

  • Added the ‘Glossary’ page
  • Added the ‘Initial animatory states and locations’ page
  • Added the ‘Displaced dame’ bug to the ‘Bugs’ page
  • Added the ‘No snipers’ poke
  • Added the ‘Lurking Lana’ trivia entry

2.0.2 (2010-12-01)

Bugfixes:

  • 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

Updates to the incomplete Contact Sam Cruise disassembly:

  • Fixed the right-facing sprite images on the ‘Animatory states’ page
  • Added the ‘Graphic glitches’ page
  • Added the ‘Character buffers’ page
  • Added the ‘Keypress table’ page
  • Added the ‘Bugs’ page
  • Added the ‘Pokes’ page

2.0.1 (2010-11-28)

Enhancements and bugfixes:

  • 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

Updates to the incomplete Contact Sam Cruise disassembly:

  • Added the ‘Skinny Man’ trivia entry
  • Began annotating the tile-printing routines at 59148 and 59635
  • Added the ‘Animatory state tiles’ page

2.0 (2010-11-23)

  • Updated the Skool Disassemblies
  • 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

1.4 (2010-11-11)

Updated the Skool Disassemblies, and also added the following features to the Contact Sam Cruise disassembly:

  • Loading code disassembly
  • Save code disassembly
  • Startup code disassembly

1.3.1 (2010-10-18)

  • Added documentation on supported assemblers
  • Added the bin2tap.py utility
  • Documentation sources included in docs-src
  • When running skool2asm.py or skool2html.py on Linux/BSD, show elapsed time instead of CPU time

1.3 (2010-07-23)

  • Updated the Skool Disassemblies

1.2 (2010-05-03)

  • Updated the Skool Disassemblies

1.1 (2010-02-25)

  • Updated the Skool Disassemblies
  • Updated contact_sam_cruise.ctl
  • Added csc.ref (to supply extra information to the Contact Sam Cruise disassembly)
  • Added the skool2ctl.py utility

1.0.7 (2010-02-12)

  • Extended the control file syntax to support block titles, descriptions, registers and comments, and sub-block types and comments
  • Added two example control files: contact_sam_cruise.ctl and manic_miner.ctl
  • Fixed the bug in sna2skool.py that made it list referrers of entry points in non-code blocks
  • Added support to sna2skool.py for the LD IXh,r and LD IXl,r instructions

1.0.6 (2010-02-04)

Above each entry point in a code block, sna2skool.py will insert a comment containing a list of the routines that call or jump to that entry point.

1.0.5 (2010-02-03)

Made the following changes to sna2skool.py:

  • Added the -t option (to show ASCII text in the comment fields)
  • Set block titles according to the apparent contents (code/text/data) when using the -g option

1.0.4 (2010-02-02)

Made the following changes to sna2skool.py:

  • Fixed the bug that caused the last instruction before the 64K boundary to be disassembled as a DEFB statement
  • Added the -g option (to generate a control file using rudimentary static code analysis)
  • Added the -s option (to specify the disassembly start address)

1.0.3 (2010-02-01)

  • sna2skool.py copes with instructions that cross the 64K boundary
  • skool2html.py writes the ‘Game status buffer’, ‘Glossary’, ‘Trivia’, ‘Bugs’ and ‘Pokes’ pages for a skool file specified by the -f option (in addition to the disassembly files and memory maps)

1.0.2 (2010-01-31)

Modified sna2skool.py so that it:

  • recognises instructions that are unchanged by a DD or FD prefix
  • recognises instructions with a DDCB or FDCB prefix
  • produces a 4-byte DEFB for the ED-prefixed LD HL,(nn) and LD (nn),HL instructions
  • produces a 2-byte DEFB for a relative jump across the 64K boundary

1.0.1 (2010-01-30)

Fixed the following bugs in sna2skool.py:

  • ‘X’ was replaced by ‘Y’ instead of ‘IX’ by ‘IY’ (leading to nonsense mnemonics such as YOR IYh)
  • ED72 was disassembled as SBC HL,BC instead of SBC HL,SP
  • ED7A was disassembled as ADD HL,SP instead of ADC HL,SP
  • ED63 and ED6B were disassembled as LD (nn),HL and LD HL,(nn) (which is correct, but won’t assemble back to the same bytes)

1.0 (2010-01-28)

Initial public release.