0.01 - 05 JUL 2000
* Realized the +4 ROM was an abomination.
* Introduced the Geneva Mono (6x8) font.
* Changes applied as patches; no base assembly file.

0.10
* Last version based on the 128 version of the BASIC ROM.

0.20
* Returned from Australia and began reapply bug-fixes to the original BASIC
  ROM.

0.21 - 14 NOV 2001
* Removed patch silently introduced by MacSpectacle.
* First public release to critical animadversion.

0.22
* Tokenizer (adapted from LEC ROM but 55 bytes shorter).
* Experimental Timex video support.
 
0.30
* +3DOS compatible version.

0.40
* Removed +3DOS compatiblity.
* Removed experimental Timex video support.
 
0.42
* Identified the problem with Roller Coaster (spare bytes used as sprite).

0.43 - 14 DEC 2001
* Limited beta release.

0.50
* Line range extended to 16383.

0.51
* Removed 'E' mode except for control codes.

0.53
* Identified the problem with Travel With Trashman (checksums the ROM).

0.58
* First proper public beta release.
* Re-released as an IPS patch with an ultra-restrictive license.
* Last version to be created from patches.
 
0.59 - 02/01/2002
* Now using ZX82.ASM as the base assembly file.
* Began converting patches to properly documented source file.
* Changed copyright message.
* Experimental 42 column mode.
* Color Draw support broken.
* LOAD, RUN, and STOP tokens replace <=, <>, and >= tokens on Q, W, and E
  keys.
* Inverted cursor for Timex 512x192 mode.
* NEW command extended; 0=warm reset, 1=cold reset.
* PAUSE defaults to PAUSE 0.
* Bugfixes:
  - division (IF 1/2<>0. 5 THEN PRINT "BUG").
  - 'G' mode.
  - 'K' mode.
  - SCREEN$ (IF "X"=SCREEN$ (0,0) THEN PRINT "BUG").
  - scroll? (Press TRUE VIDEO at the request).
  - STR$ (PRINT "BUG"+STR$ 0.5).
  - syntax check.

0.60
* Removed the redundant ZX81-name routine.
* Removed the call to the redundant 'CLOSE-2 subroutine' from the 'CLOSE
  routine.'
* ANSI BASIC-78 command names.
* Bugfixes:
  - NMI.
  - CLOSE #4.

0.61
* Speeded up pilot signal sync. at 0x0571.
* Set the scroll counter to 0xFF at 0x077A.
* Dropped the error number from error messages.
* Changed the RASP duration at 0x108E and 0x116C.
* Bugfixes:
  - CHR$ 8 (PRINT AT 0,0;CHR$ 8;"A").
  - CHR$ 9 (PRINT "A";CHR$ 9;"B").
  - CLEAR-PRB.
  - colour commands.
  - MAIN-4.
  - PR-CC.
  - ROM overwrite.
  - ROM scroll.

0.62
* Reduced the number of key tables to four.
* Used a key table for numbers and symbol.
* Enabled STOP in INPUT using cursor down for all cases.
* Bugfixes:
  - -65536 (PRINT INT -65536).
  - DEC-TO-FP.
  - double store.
  - MOD-DIV.
  - PO-FETCH.
  - RUN/GO TO/GO SUB.
  - stack.

0.63
* Bugfixes:
  - leading space.

0.64
* Removed 'K' mode.
* Removed the redundant key tables.

0.65
* Reworked the cursor routines.

0.66
* 16K machine test.
* Cursor up and down in an edit line (adapted from LEC ROM).

0.67
* Fast RAM wipe.
* Bugfixes:
  - EDIT.
  - LIST.
  - RESTORE.

0.68
* First version with all functionality of 0.58 to compile from a single
  source file.
* Full support for line numbers up to 16383.
* Bugfixes:
  - PLOT.
  - WAIT-KEY.

0.69 - 20 JAN 2002
* Second public beta.
* Compiles with ZASM and TASM.

0.70
* Fixed an error in ED-EDIT.

0.71 - 23 JAN 2002
* Fixed an error in scroll handling.

0.72
* Third public beta.
* Removed the redundant REC-EDIT code.

0.73
* Optimized initialization code.

0.74
* Moved the credits into a separate file.

0.80 - 10 NOV 2002
* Fourth public beta.
* All known bugs fixed.
* Newton Raphson square roots.
* Human readble assembly labels.
* Fully relocatable source.
* Error cursor jumps to the error.
* NMI warm restart.
* Increased the range of printable characters to 104.
* Made the scroll? message sentence case.
* Removed the COPY command.
* Added error sound to invalid line.
* 0x12a0 trap for ResiDOS.
* 0x1349 entry point for IF1/ResiDOS.
* Shortened error messages.
* Removed redundant routines.
* EDIT command.
* Optimized code involving modes since modes are gone.
* SCREEN$ handles UDGs (thanks to Hob).
 
0.83 - 13 NOV 2002
* Experimental developer beta.
* Colourful copyright message.
* Colour cursors.

0.92
* Experimental detokenizer.

0.93 - 22 NOV 2002
* Fifth public beta.
* Shipped with vbSpec and ZX Spin.
* DELETE command.
* Enter hexadecimal with &.
* Inverted line marker.
* SYSTEM command.
* Detokenizer removed.
* TRUE VID and INV VID now do page up and down 10 lines.
* CLS n sets the border and attributes.
* extended LIST command (from IMC ROM).

0.94 - 16 DEC 2004
* Now using GW03.ASM as the base assembly file.
* Sixth public beta.
* SOUND command (adapted from TS2068 ROM).

1.00 - 06 JAN 2006
* Closed beta release of new code base.
* Warm restart from SC01.
* RENUM command.
* Compiler changed to Pasmo.

2.00 - 12 FEB 2010
* Now using USRA.ASM as the base assembly file.
* Seventh public beta.
* ULAplus support.
* ON ERR commands.
* PALETTE command.
* Convert decimal to hex with ~.

2.01
* First Release Candidate.
* Shifted the @ and © characters right by one pixel for proper display in
  6x8 modes.
* Fixed a error with the initialization routine-misplaced org and overrun.
* ON ERR is now reset after an NMI or a NEW. This also fixes what looked
  like a bug in DELETE.
* Shrank the canned report messages by adding support for canned tokens,
  saving 26 bytes.
* Moved two routines to make use of free space.
* Added LOAD, CODE and RUN tokens on Q, W and E keys with symbol shift.
* Modified the tokenizer. In 'C' mode, lower case text is not tokenized.
  Enables use of reserved words as variable names. Variable names are case
  insensitive and can be entered in a mixture of letters in this mode,
  providing they contain at least one lowecase letter.
* Restored IM2 vectors at 0x38ff, 0x39ff, 0x3aff, and 0x3bff.
* Trimmed ON ERR code.
* CLEAR does a RESTORE as per the manual.

2.02
* Used TOKENs to abbreviate error messages.
* Restored missing palette data.

2.03
* Prevented the GO TO token from displaying during LOADing and SAVEing.

2.04
* Enter octal with \.

2.05
* Removed the last fragment of ZX Printer support.
* RUN and STOP tokens replaced with CODE and RUN.
* 'C' mode replaced with 'G' mode for entering reserved words.

2.06 - 17 MAR 2010
* Still using USRA.ASM as the base assembly file.
* Appears to be internally consistent.
* Feature freeze until compatibility issues are resolved.
* Built on a stripped version of the GW03 ROM (code but not the assembly
  listing) with all the new functionality removed and just the bug-fixes
  remaining.
* The 'style' bugs (not corrected in GW03) were fixed.
* Floating point and other optimisations from the SC01 ROM were applied.
* Code was merged, one routine at a time, into the Uncommented Spectrum ROM
  Assembly, and tested with the Interface I (this relies on many entry
  points being maintained and is a good acid test).
* The source was cross-compiled with Pasmo by Julian Albo and the resulting
  code tested on Fuse (by Philip Kendall et. al.) and the ULAplus code
  tested in SpecEmu (by Woody).

2.07
* Improved palette.
* Detokenizer.

2.08 - 21 MAR 2010
* Fixed an error in the ON ERR handler introduced by a formatting change.

2.09 - 23 MAR 2010
* Fixed the PAUSE bug (thanks Woody!).
* Moved some routines around.
* Replaced the 8 unused bytes in the main area with RETs.
* 9 spare continuous bytes left.

2.10 - 24 MAR 2010
* Fixed an error introduced while cleaning up the code.
* Added support for 8-bit character sets.
* Replaced unused bytes with RETs.

2.11
* Extended SCREEN$ function to handle characters 32 to 255 (for 8-bit
  character sets).

2.12 - 25 MAR 2010
* Modified fp_mod to use mem 1 instead of mem 0.
* Changed the scroll count in ld_look_h from 3 to 255.
* Changed the pilot signal in ld_start from 0x0415 to 0x0115.
* Changed the maskable interrupt to avoid using IY.
* Optimized stack_bc.
* Changed error RASP duration.

2.13
* Fixed the RENUM stack overflow bug (RENUM still unstable).

2.14 - 18 OCT 2010
* Removed the 8 extra symbol definitions.
* Fixed the embedded control codes edit line bug.
* Added the CAT command to switch between 7-bit and 8-bit character sets.
* Added the MOVE command to provide BASIC access to the Z80's block copy
  feature.

2.15
* Syntax frozen with this release.
* Modified the CAT command to take parameters.
* Added the ERASE command to reset the default palette.
* Replaced the error messages to make space for the above changes.

2.16 - 22 OCT 2010
* Relocated the UDGs to the former print buffer giving an additional 168
  bytes for BASIC programs.

2.17 - 27 OCT 2010
* PEN command replaces INK command.
* Cursors no-longer FLASH. Looks better with ULAplus and saves 15 bytes.
* Change default start colours to white on black.

2.18 - 28 OCT 2010
* Fixed ON ERR bug.
* SAM BASIC style cursor.

2.19 - 01 NOV 2010
* DIR command replaces CAT command.
* Key click is off by default. POKE 23609 to enable.
* Modified the error sound code to prevent crashes caused by the
  detokenizer.
* Error sound now occurs on a syntax error in direct entry.

2.20 - 06 NOV 2010
* Modified the GRAPHICS mode cursor.
* Changed the location of the detokenizer flag.
* Changed the location of the 8-bit flag.
* Used the spare bytes to include a few initials for credits.

2.21 - 04 DEC 2010
* Fixed a bug where 8-bit character sets were being automatically enabled.
* Enabled support for IM2 code that uses the first two ROM bytes as part of
  a JP 0xAFFF instruction (used by Starstrike II).
* There is a bug in the colour handling during editing where entering a bad
  colour value will result in a syntax error report instead of producing
  the error cursor. This is caused by an incorrect guard condition on a
  jump but has no effect in runtime.
* Deprecated Features
 - macro support.
 - big colourful copyright message.
 - colour cursors.
 - built-in 42-column mode.
 - ANSI BASIC-78 command names.
 - page up/down.
 - 8 extra symbol definitions.

3.00 - 06 APR 2011
* Now using OPEN81.ASM as the base assembly file.
* Implemented the X80 math co-processor instruction set via macros.
* A complete rewrite replacing all the encumbered code with open source
  code or legally reverse engineered code where that was not available.
* Functionally compatible with SE Basic 2.21.
* New RENUM routine. It only accepts the first two parameters (start and
  step), but it isn't broken either.
* New tokenizer. You can now enter INK and it will automatically be
  translated to PEN. Abbreviations for 60 commands.
* New I-beam cursor for INSERT mode.

3.01 - 13 APR 2011
* Moved the UDGs up next to the system variables creating space for 64
  palette bytes after the attributes for use with ULAplus screen files. 

3.02 - 24 MAY 2011
* Compiler changed to GNU binutils.
* Initialization routine now puts a copy of the default palette in the
  palette buffer.
* ERASE command now sets the palette to the values stored in the buffer.
* Corrected an error with the '_' glyph.

3.03 - 29 May 2011
* Fixed a bug in the DRAW command
