Turbo-Freezer XL/XE 2005 addendum
(c) 2006 by Matthias Reichl <hias@horus.com>

1. New features in the main menu

1.1 Saving a snapshot to a bootdisk

Since software version 3.02 a special boot code is written to
snapshots created with Save Extern->Boot so that the snapshot
can be loaded without a Turbo-Freezer.

This doesn't work with all programs since the boot code needs
approximately 2k of memory. So if you've got a program that uses
all of the RAM, this will fail.

By default the loader uses the memory from $C000-$C6FF. This
guarantees that it will work with most of the older programs
which only require 48k of RAM. In case this conflicts with your
program, you can change the address very easily:

The first byte of the boot sector contains the starting page
of the loader (default: $C0). Changing this byte is quite easy
with the Turbo-Freezer: Enter the debugger, then load the
first sector, change the first byte to the desired value,
and write the sector back to disk. Please note: only
values from $05 to $C9 and from $D0 to $F9 are allowed. If
you use any other value, booting the disk will result in an
"BOOT ERROR".

For example: if you want to set the loader address to $F0,
enter the following commands in the debugger
SR 1
C D700<F0
SW 1


1.2 Swap function

The new "swap" function in the main menu enables you to exchange
a snapshot stored either in the Turbo-Freezer RAM or in the
ramdisk with the current Atari state. The current state is saved
to the Turbo-Freezer RAM (or ramdisk) and the old snapshot is
loaded. Using this feature you can quickly switch between two
programs. Just be sure you already saved a snapshot to the
Turbo-Freezer RAM (or ramdisk), otherwise your Atari will crash.

The Shift (clear P/M collision register) and Control (don't start
the snapshot after swapping) modifiers are also available with
the swap function.


2. New features of the debugger

2.1 Online help

Whenever you press the HELP key in the debugger, a short
online help is displayed. Use the number keys to select
a help page, 'del' takes you to the previous page,
'space' or 'help' to the next page, any other key exits
online help and takes you back to the debugger prompt.


2.2 Memory Map

The new 'M' command of the debugger displays a map of used
and unused pages. If a page contains only zero bytes, a
dot '.' is printed, if a page contains at least one other
byte an asterisk '*' is printed. You might find this feature
useful when searching for a free memory block to be used by
the boot-loader.


2.3 Block move / set / compare

The block move syntax is: 'BM source,dest,len'. This will copy
the memory area source..source+len-1 to dest..dest+len-1.
Memory regions may overlap (eg dest = source+1).

For example: 'BM D700,8000,100' will copy the sector buffer
$D700..$D7FF to $8000..$80FF.

Block set syntax is similar: 'BS value,dest,len'. This will
set all bytes in dest..dest+len-1 to the given value.

For example: 'BS 0,8000,5000' with set $8000..$CFFF to zero.

Block compare 'BC' compares two memory blocks and outputs the
differences.  The syntax is: 'BC adr1,adr2,len'.


2.4 Extensions to 'LOA' (load file) command

If you append the option '/N' to the filename, the com file won't
be loaded into memory and the LOA command just displays the memory
blocks of the COM file. You can use this feature to 'trace' COM files.
For example: 'LOA TEST.COM/N'

'LOA' now also supports loading of raw data files without a COM header.
Obviously, this requires an additional parameter, the starting address
where the Turbo-Freezer should store the data block.
For example: 'LOA FONT.DAT,8000'


2.5 Accessing extended memory (ramdisk)

The debugger functions of the Turbo-Freezer now support all ram extensions
that switch banks via $D301 (PORTB). By default, the standard memory
is used if you access $4000-$7FFF. To select a different RAM-bank
you can use the new 'PB' command.

If you enter 'PB' without any parameters, the currently selected
RAM-bank is displayed (default is FF, standard Atari memory).

'PB<byte' sets the PORTB-value for memory access. For example:
use 'PB<E3' to access the first bank of your 130XE memory or
'PB<FF' to switch back to standard memory.


