ABBUC 2011 Turbo-Freezer

The Turbo-Freezer is a very cool and useful tool. One of the things I like best is a 512k Battery Backed RamDisk that you can swap between your Atari Computers. There are two Different PBI interface Boards one for the XE and one for the XL. The PBI expansion board for the Atari XE computer has a spot for the Plastic Cartridge Plug in. This make this cart expansion work with every cartridge made. Very Nice Design. I tested the ABBUC 2011 Turbo-Freezer with My Atari Tower which is a Atari 130xe with a Lotharek Ultimate 1 Meg, Side 2 Cart, VBXE 2.1, Stereo Pokey Board, ILS Multiplexer set to run as a Master or Slave 8, and an AKI Keyboard Adapter. This is a very complicated device so please read your DOCUMENTATION. You can trash your Turbo-Freezer 2011 by not creating your Turbo-Freezer recovery Disk.


Turbo-Freezer Atari XE PBI Connection Board.


The new TurboFreezer is a completely new design, the CPLD on the old version was discontinued so we choose a different, larger one, started completely from scratch and added several new features:

The old Freezer had 512k Flash and 128k RAM, new one has 1024k Flash and 1024k RAM. Half of the RAM is used by the RamDisk, other half by the Freezer software and Cartridge Emulation. Standard split of the second half is 128k for the Freezer and 384k for the CartEmu. This means you can store a snapshot in Freezer RAM and still have 384k for the CartEmu (actually the CartEmu can access up to 480k RAM, but then you can't store snapshots to the Freezer RAM anymore).

Since the RAM is now equipped with a battery backup, your snapshot in Freezer RAM will be preserved if you power down your computer. For example: play a game, when you get tired save a snapshot to Freezer RAM and power off your computer, some time later power on again, load the snapshot within seconds and continue playing. Same goes for the RamDisk, contents are preserved during power-off.

Due to the battery backup you can now use the Cartridge Emulation from RAM just like from Flash. With the benefit of being able to patch single bytes just using the Freezer Debugger or any other tool, since it's RAM not flash. Can be handy when developing/testing cartridge based software.

The new "8k+RAM" mode is intended for cart-based software that needs more RAM without having to rely on a (internal) RamDisk, like for example Jon's GUI (I implemented this mode after a discussion with Jon).

For developers: this mode is fully configurable, you have independent bank- and enable registers for the "main" block at $A000 and the RAM block at $8000. You can even map RAM bank X to $A000 and RAM bank Y to $8000 if you like, this can be handy to fast-copy contents from one RAM bank to another. Another feature that's not possible with real carts: when you press the Reset key on your Atari the RAM bank at $8000 is automatically unmapped to prevent corruption, for example the OS initializing its graphics 0 screen at $9C20-$9FFF.

In the old Freezer the CartEmu was controlled by accessing various addresses from $D500 to $D58B (and $D5E0-$D5EF for SDX) and you couldn't read back the current config, as the PLD had no connection to the databus. The new Freezer uses a few registers at $D590-$D596 (and another one at $D5E0 for SDX) which are all read/write. So you can do, for example a simple "INC $D590" to switch to the next bank.

Support for the AtariMax 8Mbit mode (bank select via $D500-$D57F, disable via $D580-$D58F) means you can use existing AtariMax images or use the MaxFlash software on the PC to easily create images yourself. There's one drawback, though: there are only 960k available, the last 64k of the flash are used by the Freezer software and CartEmu config. So images needing the full 1024k (like Space Harrier, for example) won't work. But if you limit yourself to 960k in MaxFlash studio everything's fine.

SDX: the old Freezer only supported it's native bank-switching mode and a special version of SDX had to be built (the new Freezer still has support for this old mode so you can use all your older images). The new Freezer uses the same bank switching as the Ultimate1MB and also supports stacked carts from the CartEmu. Only thing that doesn't work 100% is running SDX from the Freezer and having a real cart in your cart slot: the SDX from the Freezer takes precedence over the real cart, but doesn't have the possibility to switch this cart off to access the RAM at $A000.

The old Freezer didn't signal the presence of a cart via TRIG3 / $D013, so some bank switching cartridges, like Basic XE, didn't work correctly from the CartEmu and had to be patched. The new Freezer now emulates this behavior, so no need for patching.

The Freezer function is almost identical to the old one except for two changes:

You can control, with a switch, if you have a stereo pokey Atari or a stock, single pokey Atari. The Freezer then correctly shadows either $D200-$D21F or $D200-$D20F (of course also emulating the incomplete address decoding, so that registers repeat either at $D220, $D240, ... or $D210, $D220, ...).

The other change was slightly trickier: a few programs, like Galaxies, sometimes failed to freeze and resume correctly. I tracked down what was causing the issue and then had to modify the freezer control state machine in the PLD: The Freezer hooks into the 6502 interrupt vectors, if you press the freezer button and $FFF8-$FFFF is accessed in two successive cycles, the freezer activates: it maps in it's RAM and ROM and "bends" the interrupt vector (actually only the high-byte of the vector) to a NOP-slide page. The problem with now was: If the Freezer was activated during an IRQ or NMI and you had an NMI a little bit later, when the CPU was still running the NOP slide, before it had a chance to disable NMIs, the CPU would process this NMI but the memory from $0000-$3FFF now wasn't the original Atari memory anymore but the freezer RAM/ROM. As you can imagine, this can lead to all kinds of "funny" effects. The new Freezer solves this problem by introducing a new "starting up" state, where it bends the interrupt vectors to a page full of RTIs. As this issue can only occur with NMIs (IRQs are blocked if the CPU is executing an interrupt routine), which are edge-triggered, this effectively solves the problem.

I also implemented some extensions to the Freezer software / debugger: you now have full control over PORTB in the debugger, using the PB command, so you can access the OS ROM, Basic and Self Test. The old Freezer had all these permanently switched off so you could only "see" the Atari RAM. Another new feature is the "printer log": you can log all debugger output to a printer (or, if using SIO2PC, capture the printer output in a file), and also have a "comment" function to add arbitrary text to the log (just type ";my comment" and you have this line in your log). As these are software-only features, they will also be available for the old Freezer through the next software update.

Some "cosmetic" changes: several people wanted a pass-through PBI connector, and a case instead of a bare PCB, so we respected their wishes. The old Freezer also had a jumper for controlling "flash write enable" (mainly because of the costs, the old switches were rather expensive), the new Freezer now uses switches for all user-controls (including 2 new switches, one for the RamDisk, the other one for mono/stereo Pokey).

Several people also complained that the old XE Freezer was laying flat on the table (extending for quite a bit to the back) instead of "standing" behind the Atari. I also didn't like this too much (although it was a minor issue to me, as I really hate the XEs, mainly for their keyboard, and only use XLs) and as we also wanted a pass-through PBI for the XL version a single Freezer with exchangeable adapters was just natural. BTW: inside the case there's a stack of 2 PCBs, as we also wanted to avoid using multilayer PCBs - they are quite expensive and it's difficult to "patch" them if we discovered errors in the layout (such things happen quite often during development


Turbo-Freezer Adapter Board for the Atari XL





The addition of the Red Wire on the Xl PBI Expansion board is needed to provide +5 Volts to the PBI Buss. In the Atari XE Atari added +5 volts to the PBI Buss so a wire is not needed.


TURBO FREEZER XL/XE 2005 and 2011 resources

If you came here by accident and don't know what the TURBO FREEZER is you can find some information about it here

Icon  Name                    Last modified      Size  Description

Parent Directory                             -   
[DIR] software/               23-Mar-2013 16:19    -   TURBO FREEZER 2005 and 2011 software
[DIR] turbo-freezer-2005/     23-Mar-2013 15:11    -   TURBO FREEZER 2005 manual and hardware info
[DIR] turbo-freezer-2011/     25-Apr-2013 12:18    -   TURBO FREEZER 2011 manual and hardware info




About ILS  -  Contact us  -  Report Web Issues