TOS (operating system)
|Architecture (s)||Atari ST, Atari TT, Milan, Hades|
TOS ( acronym for T he O perating S ystem , rare Tramiel Operating System , after the former Atari CEO Jack Tramiel ) is a computer operating system . It was developed for the Atari ST home computer series from 1985 to 1994.
When TOS was released in 1985, it was fully integrated into GEM , a graphical user interface developed by Digital Research that was very convenient for its time . There was therefore no immediate need for end users to operate the computer at the operating system level.
TOS was originally supposed to be based on CP / M-68K (an operating system from Digital Research) and have a graphical interface similar to the Mac called GEM (also from Digital Research), which was developed in parallel for 8086 -based computers. Due to many shortcomings of the CP / M-68K, this was discarded as the foundation for TOS, only the prototypes of the Atari ST that were shown at CES worked with the CP / M-68K. Instead, Atari decided to use the GEMDOS, still under development, also by Digital Research, which seemed more powerful and was much better geared towards the operation of a graphical user interface than the CP / M-68K. In fact, GEMDOS was very similar to the pure DOS systems MS-DOS and DR-DOS and used a compatible diskette format. Due to the enormous time pressure, TOS was not completed on time and had to be loaded from diskette on the early Atari 520ST (1st series) and executed in RAM. The operating system was later integrated in the ROM .
In general, all versions of the TOS 1.0x run on Atari ST or STE computers. The following versions were developed and distributed:
Also called "ROM-TOS". The TOS 1.00 was developed under great time pressure and is considered to be highly error-prone and extremely slow. Errors in the memory management of the GEMDOS often led to a crash after prolonged operation and the hard disk support was only very rudimentary. TOS 1.00 was the first TOS version that was delivered in ROM , primarily in computers with the designation 260ST and 520ST, or 520STm in the form of 6 × 32KB EPROMs .
Also called "BLiTTER-TOS" because it has been expanded to include the routines for managing the " BLiTTER " graphics coprocessor . Some major bugs of the previous version have been eliminated, but this TOS fell far short of expectations. Nevertheless, it achieved the highest degree of distribution of all TOS versions because it was used in the popular 1040STf / 520STf and 1040STfm / 520STfm computers, also in 6 EPROMs of 32KB, or, rarely, 2 × 96KB.
Also called "Rainbow TOS" because the Atari logo in the "Desktop Info" dialog was in rainbow colors. In this version, the worst errors of the predecessor were eliminated and many graphics routines were accelerated. Some features of the graphical user interface have been improved, such as: B. the file selection box or the ability to move files. However, not without errors, and so Atari offered many small patches that ideally should be loaded from the hard drive at every start. Unofficially, this version was long considered the “last” TOS version for Atari ST computers and was mainly used in computers of the Mega and Mega ST series, again in 6 × 32KB or 2 × 96KB.
This version essentially corresponded to version TOS 1.04, but supported the hardware extensions of the STE and was therefore only used in these. The STE hardware is hardly supported by additional routines, but the existing ones have been expanded accordingly. In addition, this version is the first to set up the so-called "cookie jar" when it starts, in which data was accessible via the computer, e.g. B. whether it is an ST or STE, whether an FPU is available, etc. Only used in 520STE and 1040STE, due to the new size (256KB) always in 2 × 128KB.
Despite the apparently large version jump, only a minimal expansion compared to TOS 1.06, which had a clearly visible error: On a color monitor, the computer always started in the low resolution, whatever the user had set. TOS 1.62 fixed this bug in particular. Only used in 520STE and 1040STE, also in the form of 2 × 128KB EPROM chips.
The unexpected version number goes back to the designation "TOS030", which was used for the TOS in the first Atari TT prototypes. Originally the Atari TT was planned as a Unix computer with AT & T's System IV before Atari ported its own operating system to this computer, probably based on TOS 1.06, expanded to include operating system functions for controlling the new hardware in the Atari TT. In the further steps of the development of the TOS 3.0x, the user interface in particular was improved: Links to files can be stored on the desktop , icons can be reloaded and individually assigned, data carriers can be searched and keyboard shortcuts can be assigned and used. Three versions have been distributed: 3.01 as the first variant, followed by 3.05 and 3.06. In addition to the Atari TT, the Atari clones Medusa and Hades were also equipped with TOS 3.0x variants.
TOS 2.0x was introduced with the MegaSTE and thus after TOS 3.0x. The first version was 2.05, as it was derived from TOS 3.05 for the Atari TT. It took over the extended desktop from TOS 3.05 and some operating system functions in order to be compatible in principle with the Atari TT, provided that its CPU , graphics resolution or memory expansion was not explicitly required. TOS 2.05 was limited to the use in STE computers and this triggered protests from Atari users , software developers and specialist dealers who demanded that this much more modern and friendlier operating system can also be used in other ST and STE computers. This resulted in TOS 2.06, which not only ran on all ST and STE computers, but could also boot from IDE hard drives and offered automatic step rate switching for HD floppy drives . Since TOS 2.06 with 256 KB was larger than TOS 1.00 up to TOS 1.04 with 192 KB and thus also occupied a different address space , direct retrofitting in existing ST computers was not possible and required adapter boards from different manufacturers, often in conjunction with IDE interfaces, were offered. In Atari 520STE and 1040STE computers, the TOS could be updated simply by replacing the EPROM chips.
In addition to the adjustments to the more powerful hardware of the Falcon and the support of the DSP , TOS 4 offered for the first time an animated 3D look, color icons , pop-ups and submenus . Thanks to its own GEM libraries (WinDom, SysGem, faceVALUE), these extensions could also be used with older TOS versions. For the first time in a TOS, the different language versions are combined in a ROM, the settings are read from the NVRAM .
TOS 4 experienced an unexpected comeback on the Atari clone Milan from Milan Computer Systems. In addition to the use of a more modern compiler ( GNU C compiler ) and adaptations to the changed hardware ( 68040 CPU), there are visible changes in later versions (TOS 4.08) in the form of round option fields ( radio button ) and square selection boxes ( checkbox ). These purely optical innovations had already been built into various GEM libraries before the Milan TOS. TOS 4.08 can only be run on the Milan. Atari was not involved in the implementation and expansion of TOS 4 on the Milan.
Prior to the Milan TOS, TOS 4.92 was unofficially released, which is circulating as a beta version on various Internet sites. Most noticeable changes: Additional programs (accessories) can now be reloaded at any time, and the user interface windows can be minimized.
An incomplete multitasking was already possible in TOS 1 to 4 (start of so-called "accessories"). Other manufacturers (MultiGEM, Mag! X ), however, already offered real multitasking. Eventually Atari caught up and released MultiTOS. It was newly developed and was not based on TOS 1–4, but on the MiNT developed by Eric Smith , which was able to execute several TOS programs without a graphical user interface, and the graphical user interface MultiAES , which enables the parallel use of GEM- Programs allowed. It was very similar to the user interface of the TOS 4.0x, but brought with it incompatibilities.
MultiTOS offered preemptive multitasking and memory protection (with the 68030 with the help of the PMMU ), the user interface largely corresponded to the Falcon TOS. The (deactivatable) memory protection in particular posed problems for many Atari programs, and the low speed was another major point of criticism: it was only possible to use it on computers with a 68030 CPU.
MultiAES 4.1, a bug-adjusted and accelerated version of the GEM component in MultiTOS, was no longer officially offered as an update, but the open source MiNT is still being developed today.
TOS is primarily composed of 5 modules and the desktop:
The BIOS represents the lowest layer of the operating system and abstracts a large part of the underlying hardware. The BIOS lays the foundation for the operation of a CP / M or CP / M-like system, that is, it has fundamental functions for reading and writing sectors, reading in or outputting characters, and simple management of memory and timers. The BIOS is completely encapsulated by GEMDOS within TOS and should therefore not be used directly by application developers.
Similar to the BIOS, the XBIOS abstracts the hardware in a very fundamental way, but does not serve the GEMDOS. Essentially, the XBIOS offers functions for managing hardware that is not used by GEMDOS / BIOS but is available, such as: B. Sound generation ( X32 ), setting the color palette, managing keyboard, mouse, resolution, screen memory, etc.
The GEMDOS is very similar to systems like MS-DOS or DR-DOS . It offers functions for memory management, file processing with a hierarchical file system , fundamental management of processes, console input and output via channels, etc. Although GEMDOS offers fundamental process management, it is not capable of multitasking . Therefore the GEMDOS in MultiTOS was replaced by MiNT .
The basis of the GEM graphical user interface . The Virtual Device Interface abstracts more complex input and output devices, with the focus - especially within the TOS - on screen outputs. Essentially, the VDI consists of one (or in principle several) device drivers and a so-called Graphical Device Operating System (GDOS), which is only very rudimentary in the TOS. Finally, the VDI offers a catalog of functions for drawing graphic objects (so-called primitives) such as: B. lines, circles, rectangles, with various attributes such. B. colors, fill patterns, line thicknesses, as well as for the output of characters with variable character sets and attributes.
The Application Environment Services (AES) provide a library of functions for applications. These range from application management itself (initialization, operation, deinitialization) to event management (e.g. mouse click, timer, messages, etc.) to window and menu line management , dialog boxes and file selection boxes . The AES itself is "invisible", so to speak, but is used by GEM programs and gives them their characteristic behavior and appearance. In contrast to the rest of the TOS, the AES supports cooperative multitasking , albeit only rudimentarily . Since the rest of the TOS does not allow this, TOS can only start one program at a time, but can also operate several small auxiliary programs, so-called accessories. The so-called MultiAES, which no longer has these restrictions, is reloaded in MultiTOS.
Although this is not an operating system module, it is included in the TOS. It is the primary work environment after the start of the operating system, and allows the user to use the mouse to perform, file operations and programs to start.
Due to the "unfinished" GEMDOS, on which essential parts of the TOS are based, and the enormous time pressure under which TOS was developed, there are some special features compared to other operating systems from the same period:
The floppy disk format as used by GEMDOS is compatible with MS-DOS, TOS 1.00 and 1.02, however, create some data differently when formatting than MS-DOS needs. Only from TOS 1.04 TOS formats the floppy disks so that MS-DOS also accepts them. Floppy disks formatted under MS-DOS can be used under any TOS version.
Booting from Drives
TOS is in principle capable of floppy or hard disk to boot d. H. TOS reads the boot sector , checks it and executes it. However, TOS does not contain any hard disk drivers, so a driver must be available in the root sector of any connected hard disk in order to be able to use the hard disk (e.g. AHDI from Atari or HDDriver from Uwe Seimet).
Autostart of programs
In contrast to many other operating systems, TOS does not process a script when booting . Programs that are started automatically can therefore not accept any parameters and are executed in the order in which they are on the boot medium . With the spread of larger hard disks , so-called boot managers have become popular, which should be started relatively early during booting from the hard disk and allow the user to activate and deactivate programs (usually by renaming) that should be loaded during the further boot process (e.g. . XBoot III by Ten Software Design).
Like CP / M, GEMDOS allows the operation of a text-based console , but does not provide a command line interpreter itself . However, software can use this GEMDOS console for inputs and outputs, which behaves like a VT52 terminal . However, this console does not run in a window under TOS, but uses the entire screen exclusively. The console output is only redirected to a window with the "MINIWIN" extension from MultiTOS.
The presence of this console allowed the software to be grouped under TOS in
- Console applications that only use GEMDOS routines and can therefore easily be ported from other console-based operating systems. TOS recognizes these programs by the filename index "TOS" or "TTP" (for "TOS takes parameter"). With the latter, the desktop opens an input line before execution to transfer parameters to the TOS application.
- GEM applications that require AES and VDI. TOS recognizes these programs by the filename index ".PRG" or ".APP". Later TOS versions also accepted ".GTP" which, when started, also opens an input line to accept parameters.
Character string output in GEMDOS
In CP / M, DR-DOS and MS-DOS, the operating system functions "9" output a character string that must be terminated with a dollar sign . Only Gary Kildall himself seems to have known a reason for choosing this sign . The function “9” is also used in GEMDOS for the output of a character string, but this is terminated with a 0 byte (i.e. NULL = '\ 0', not the character “0”), as is usual in the C programming language .
There have been several extensions to TOS from other vendors, the best known being KaOS .
TOS is still subject to license agreements and is not freely available. Milan Computer GmbH (Kiel, Germany) and Medusa Computer Systems (Uster, Switzerland) hold the rights to use TOS today. They are allowed to customize TOS and use and sell it with their computers. TOS was adapted to the newer hardware that was no longer developed by Atari. From 2002 a completely free TOS called EmuTOS was programmed by free developers .
- Dad Hacker: 
- Michael Ruge, "Chips'n Chips", revision 1.20.3C, September 18, 1994, chapter "TOS ROM chips, sorted by version number"
- H.-D. Jankowski, D. Rabich, JF Reschke, “Atari Profibuch ST-STE-TT”, 12th edition 1992, SYBEX-Verlag Düsseldorf, Chapter 1, pages 5-97
- H.-D. Jankowski, D. Rabich, JF Reschke, “Atari Profibuch ST-STE-TT”, 12th edition 1992, SYBEX-Verlag Düsseldorf, Chapter 1, pages 5-82 and pages 98-157
- H.-D. Jankowski, D. Rabich, JF Reschke, “Atari Profibuch ST-STE-TT”, 12th edition 1992, SYBEX-Verlag Düsseldorf, Chapter 2, pages 159-273
- H.-D. Jankowski, D. Rabich, JF Reschke, “Atari Profibuch ST-STE-TT”, 12th edition 1992, SYBEX-Verlag Düsseldorf, Chapter 3, pages 275-531
- H.-D. Jankowski, D. Rabich, JF Reschke, “Atari Profibuch ST-STE-TT”, 12th edition 1992, SYBEX-Verlag Düsseldorf, Chapter 4, pages 533-715
- Scott Sanders, "The Atari Compendium," April 1994, Software Development Systems, Chapter 9, "Overview," pp. 9-3.
- M. Pauly, "The TOS 1.04 Update Book", 1st edition 1989, DATA BECKER GmbH Düsseldorf, page 16
- "A Hitchhiker's Guide to the BIOS", November 26, 1985 Atari Corporation, pages 51f, 57ff and 62ff
- Tassilo Nitz, "XBOOT III User's Manual", 1990/91, Chapter 3.6, page 13
- M. Krönig, "7 in one stroke (5) - hard disks", ST Computer 05/2000
- Scott Sanders, "The Atari Compendium," 1992 Software Development Systems, pp. 2.33f
- Bob Brodie, Eric Smith, Lou Rocha, “Special Edition Friday Night Real Time Conference,” March 5, 1993, published in Atari Explorer Online, March 6, 1993
- "Concurrent CP / M Operating System Programmer Reference Guide", First Edition 1984, Digital Research, pages 6-40.
- DR-DOS System and Programmer's Guide, Chapter 4, 1993/1997 Caldera
- Günter Born, "The MS-DOS Programming Guide MS-DOS 1.x - 6.x", 1993 Günter Born, Chapter 4.10, page 184
- "Atari GEMDOS Reference Manual", April 4, 1986 Atari Corporation, page 19, "File System Calls (6)"
- Matthias Jaap: The open TOS: EmuTOS (interview). ST Computer, November 2002, accessed February 1, 2011 .