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.