Turbo Freezer XL Software
(c) 1987 by Bernhard Engl
ATasm version (c) 2004-2006 by Matthias Reichl <hias@horus.com>

Version 3.02pre1 (2006-05-11):
--------------------------

- Fixed search routine

- Fixed endless loop if ending address is $FFFF

- New highspeed SIO code with bugfixes and support for 810 Happy

- Added 'M' debugger command to display memory usage map

- Added boot code to load a "boot" snapshot without a freezer
  - freezer boot disks are now really bootable :-)
  First byte of boot sector contains page where the loader
  should be relocated to (default is $C0, valid values are
  $05-$C9 and $D8-$F9)

- Updated integrated MyPicoDos to 4.04

- Pressing the HELP key in the debugger displays a short
  online help page


Version 3.01 (2005-11-22):
--------------------------

- Added 'VER' debugger command to display software version


Version 3.0 (2005-11-12):
-------------------------

- The code is split up into two ROM banks to make space for
  future code extensions.

- The new highspeed SIO routine also supports ultra speed drives
  like 1050 Speedy and AtariSIO/APE/SIO2PC.

- Two new menu items were added: Save to and exec from Freezer RAM

- Fixed disk format routine: dummy boot sectors are now written

- Fixed crash when writing to $D1xx and $D6xx

- Enabled read/write access from/to $D5xx

- Added 'search bytes' command to debugger

- Added option '/N' to 'SAV' debugger command to write a raw data file
  without COM-header

- Addresses and values prefixed with '%' are now interpreted as
  decimal values (instead of hex).

- Added bit mask to 'search bytes' command

- Fixed 'delete' key in debugger

- FME now uses cmd $22 also on enhanced drives

- Directory entries are now marked as open for write before
  any data is written.

- If an address is prefixed with '*', the bytes in address and
  address+1 are returned instead. The asterisk can also be used
  multiple time (eg D**E0), just like in C :-)

- Added 'DL' command ("disassemble" display list) to debugger

- Added 'I' command to debugger: like 'D' command, but display
  characters as in internal (screen) format.

- Fixed 'SR' and 'SW' debugger commands so that the first three
  sectors of DD disks can be read/written.

- 'SR' and 'SW' debugger commands now print a log to the screen
  if they were completed successfully.

- 'SR' and 'SW' debugger commands used sector $168 (the VTOC) by
  default if no sector number was given. These commands now require
  an explicitly specified sector number to prevent accidential
  data corruption,

- Shift+Clear now clears the debugger command line.

- With CursorUp and CursorDown the last 4 commands entered into
  the debugger can be recalled. The currently edited command line
  is also saved, so it is possible to view older commands and then
  continue editing a new command. New command history entries
  are stored when return is pressed, but only if the command line
  differs from the last stored command line (to save space).

- Added new 'SIO' command to debugger. Parameters are:
  Device,Unit,Command,Direction,Timeout,Length,Daux
  Length and Daux are 16-bit words (maximum length is $0100),
  Buffer address is set to the default sector buffer ($D100).
  Parameters can be omitted (in this case the last specified
  parameters are used). BEWARE: always specify a full set
  of parameters when invoking SIO the first time you enter
  the debugger and after any other IO operation! Otherwise
  you might accidentially overwrite data or format a disk!

- Updated 'DL' debugger command so that menmonics match the official
  ANTIC specs (CHR/MAP instead of MODE, BLK instead of BLANK,
  JMP instead of JUMP, JVB instead of JVBI). LMS addresses are
  now prefixed with 'LMS'

- Added two new value input formats: ' followed by a character
  gives the ATASCI code of that character, @ followed by a character
  gives the internal (screen) code of that character

- Updated keyboard input so that lower case, graphics and inverse
  characters can be entered

- Fixed handling of backspace character and last character in
  filename input routine

- Fixed small bug in '*' input method (TPNT wasn't set appropriately
  which caused the value logged to the monitor screen to be 0)

- Added support for determining the interrupt source (NMI/IRQ) and
  experimental code for adjusting the scanline position. These features
  only work with the new logic (from May 04 2005)!

- Added new 'V' command. Without parameters, the interrupt source,
  original interrupt vector, original scan line and adjusted scan
  line are displayed. 'V<xx' sets the adjusted scan line.

- Bugfix: buffer for last SIO command was one byte too small.

- Pressing Shift while issuing one of the commands that leave the
  Freezer menu (space/E/X/C) clears the PM collision register just
  before resuming the program. This is needed for some games that
  use DLIs to display more players, but may have negative effects with
  other programs.

- Added AtariSIO remote control command 'a'

- Added highspeed SIO routine for XF551

- Fixed some small bugs in the keyboard handler

- Added "DIO" command to enable direct access to custom chip
  I/O area $D000-D6FF.

- Moved sector buffer from $D1xx to $D7xx

- Fixed GETBYT routine: reading unavailable addresses ($D1xx, $D5xx,
  $D6xx) now returns $FF instead of $00.

- Fixed Search routine: sector buffer is now searched, too

- Moved search routine from bank 2 to bank 1

- Command history now excludes empty lines

- New "SIOR" command to reset highspeed SIO table

- Added support for Dx: in filenames and in SR, SW, FMx commands

- Spaces between a debugger command and the first parameter is now ignored

- Spaces are now also removed at the beginning of the 'a' command

- If Control is pressed when using one of the exec commands in the
  Freezer menu (E/X/C) the program isn't started automatically after
  loading.

- Fixed bug in highspeed SIO routine: OK/Error byte wasn't read after
  transmitting a data frame to the floppy.

- Fixed bug in search routine: no search was performed if more than 7
  search bytes were entered. At most 8 search bytes are allowed, additional
  bytes are ignored.

