TOS 2.06 bugs, fixes, limitations, workarounds and enhancements
As with just about any complex program, the operating system of a computer will contain its fair share of bugs (mistakes/problems/errors). But don't panic -the bugs in TOS 2.06 are nothing of the sort you're getting with Windows on a PC for example...
Improvements over older TOS versions
Previous TOS versions have had lots of bugs which have been taken care of in TOS 2.06. Here are some of them.
- OS-pool fixed.
- Cookie-jar implemented and initialized with the correct value.
- CPU test "longframe" fixed.
- rsconf() fixed.
- shel-find() fixed.
- appl-exit() works correctly with ACCessories.
- The XBIOS function Bconmap() is new and lets incorporate device drivers in your own programs.
- Greater compatibility with programs using the timer-A function. Timeouts are not run by processor loops but by the 200 Hz timer. This also works correctly with faster processors meaning there is a better chance of compatibility with any CPU accelerator.
- Multiple AES events when scrolling are reduced.
- GEMDOS has been rewritten so that all functions and the I/O-redirection works.
- Through the Mxalloc/Maddalt function extra RAM may be used as with the alternative RAM in the Atari TT.
- Parity/word size SCC bugs fixed.
- RTS/CTS flow control bugs (mostly) fixed.
- IOREC fixed.
- VDI BitBLT improved.
- Floppy disk spin-up delay reduced.
- Media change detection improved.
- Floppy disks with only one FAT supported.
New/existing bugs and solutions to them
Atari didn't manage to eradicate all those nasty critters from previous TOS versions, and even brought in a few new ones, so even TOS 2.06 (which is the last and latest TOS for standard Atari ST computers) isn't perfect. But even with its bugs you'll have a hard time finding a more stable computer operating system anywhere!
Fortunately, there are solutions available for most of these problems...
The 4 Kbyte limit in NEWDESK.INF
The NEWDESK.INF file (where all information about icon assignments, installed programs, window size/positions, desktop window/background colour etc. is stored) can only be 4 Kbytes at most. Although it doesn't sound much, with a little planning it's fine for most people. However, there is a way to increase this up to 32 Kbytes. This is how it's done:
- Put GEMRAM in the AUTO folder.
- Put SHbuf (shell buffer) in the AUTO folder.
- Make sure that GEMRAM runs before SHbuf. Use AUTOsort to check this and resort if necessary.
- The default buffer size is 16 Kbytes, but you can change this by renaming the program (e.g. SHBUF28.PRG will give you a buffer of 28 Kbytes).
The maximum size is 32 Kbytes. - Reboot (restart) the computer.
What happens is the following:
- When the computer is started, GEMram will read the contents of TOS 2.06 contained in the ROM/EPROM chips inside the machine, then place a copy of this in your user-memory (RAM).
- SHbuf runs next, modifying the buffer size (since the contents of ROM memory can't be changed, this has to be done in RAM memory, which can indeed be changed).
The downside of course is that the copy of TOS takes up extra memory and might even cause problems for some programs.
Arrow fix
A small patch called Arrowfix goes into the AUTO folder and eliminates a problem when clicking the mouse to move the contents of the window up or down. The problem is that although you just click once, the computer sometimes interprets this as two clicks, so you scroll past where you want to go. Pretty irritating. This patch fixes this problem so that one mouse-click is indeed interpreted as a single click.
The 40 folder bug
The so-called "40 folder bug" has been more or less present in all TOS versions. It's been more serious in older TOS versions, but there is still a limitation to how many folders can be visited (opened) in one computing session.
After opening and closing a lot of folders you might all of a sudden get the following message and the computer freezing (which means you have to restart it to be able to continue work, and losing any unsaved work):
There is no way to completely fix this problem, but by putting a program called FOLDRXXX.PRG in the AUTO folder you can increase the amount of extra folders (replace the "XXX" in the name with a number, such as FOLDR100.PRG which will give you an additional 100 folders which should be fine for most people. Do remember that adding folders this way takes up a little extra memory (66 bytes per extra folder), so don't make the number unnecessarily high).
Note that some hard disk drivers (such as HDdriver) have this fix built-in, so the above AUTO program isn't needed (you'll just be wasting memory, by setting aside more folders than you'll ever need).
Check with your hard disk driver user-guide to see if it has this built-in or not.
On the subject of folders....
On a hard disk drive system it's easy to create pretty complex setups with a huge number of files and folders available. However, there is a limit to how many nested folders TOS 2.06 allows (a nested folder is a folder within a folder). Large numbers of nested folders are also often the cause of the abovementioned "40 folder bug".
You will start getting problems once a folder at root-level (e.g. D:\) contains more than 12 sub-folders. You will for example get an error message if you try to "show information" for this folder.
.... a directory tree?
Yes, simply because a tree illustrates perfectly the way a folder structure looks with all its branches (furthermore, files can be illustrated as leaves to make the image complete). Since a picture says more than a thousand words...
....a more common way to illustrate a file-structure/directory tree is as follows:
As you can see, a folder can contain several folders, which can also contain folders etc. Be sure not to create any folder at root level with more than 12 folders inside (13 folders deep in total) if you want to stay out of trouble.
The disk drive step-rate
Not exactly a bug, but worth mentioning...
With TOS 2.06 came support for HD (high density) disk drives, capable of handling 1.44 Mbyte floppy disks. The so called "step rate" of the disk drive has to be set to 6ms for this, which is exactly what TOS 2.06 does. But a nasty side-effect is that your disk drive will make a lot more noise than before.
If you don't have a high density disk drive and thus don't need support for HD floppy disks you can set the step rate back to 3ms as it was with your older version of TOS by using either HD_FDC or Setseek which you put in the AUTO folder. (when using DD (720 Kbyte) disks, either 3ms or 6ms will work, but when using HD (1.44 Mbyte) disks you have to have the drive set to 6ms).
"Setseek" is fully configurable for one or two drive systems and allows you to set the step-rate to what you need. Just run it once to set the step-rate, save the configuration, then put it in your AUTO folder.
The "Show/print/cancel" bug
Sometimes when double clicking on a file which you've already installed a program to handle you'll still be asked if you want to show or print the file. Nobody knows why this happens now and then, and how to fix it. If you know you've installed a program to handle the type of file you've just double-clicked, try once again and it should work.
TOS 2.06 enhancements
There are lots of system related enhancements available for the Atari ST, but here are a few that are aimed directly at the operating system itself...
GEMRAM, Shell-buffer and Winx
GEMRAM is a program which you put in the AUTO folder and is primarily to be used with other programs (also in the AUTO folder, but running after GEMRAM). Its purpose is to "patch" TOS 2.06 with bug-fixes and/or enhancements not normally possible with simple bug-fixes.
GEMRAM loads all of TOS 2.06 into user-memory (RAM), where it can be modified (unlike in ROM where you can't change anything). GEMRAM doesn't do much good on its own, but here are a few things it can be used with:
- Shbuf: put "Shbuf" (Shell-buffer) after GEMRAM in the AUTO folder (use </nowiki>AUTOsort to change the order if necessary), and you'll be able to go beyond the 4 Kbyte limit of the NEWDESK.INF file.
- Winx: put "Winx" after GEMRAM in the AUTO folder (use AUTOsort to change the order if necessary), and you'll get enhancements normally not found in TOS 2.06 like real-time scrollable window sliders and movement of windows among other things. A CPX module is included to customise your settings.
Winx also includes some of the TOS fixes, so you don't need to run them separately. This includes arrowfix.
NVDI (New Virtual Device Interface)
NVDI is one of those programs just about any Atari user will benefit from. It replaces the VDI (Virtual Device Interface) routines in TOS with its own routines resulting in a greatly accelerated display, which ultimately makes you feel like the computer is a lot faster than usual.
Instead of text/graphics (relatively) slowly appears on the screen you will get a more or less instantaneous appearance of the same thing, meaning you don't have to wait so much for e.g. complicated graphics to redraw each time you scroll the window etc.
Later versions of NVDI also let you change the default screen fonts and has its own, new printer routines.