SpartaDOS X (or SpartaDOS 4.0) is a
disk operating system for the
Atari 8-bit family
The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE, ...
of computers that closely resembles
MS-DOS. It was developed and sold by
ICD, Inc. in 1987-1993, and many years later picked up by the third-party community SpartaDOS X Upgrade Project, which still maintains the software.
History
SpartaDOS X is a successor to
SpartaDOS 1.0, 2.0 and 3.0 (also ICD products) and while it enjoys good level of backward compatibility with older versions, it is a completely new system, written from scratch.
SpartaDOS X 4.0 was originally developed by Michael Gustafson in
1987-89,
[Atari 8-bit FAQ http://faqs.cs.uu.nl/na-dir/atari-8-bit/faq.html] and shipped on 64k
ROM cartridge
A ROM cartridge, usually referred to in context simply as a cartridge, cart, or card, is a replaceable part designed to be connected to a consumer electronics device such as a home computer, video game console or, to a lesser extent, electroni ...
s by
ICD, Inc.
up to version 4.21. The cartridge contained an additional cartridge slot on itself, so that it was possible to plug-in another cartridge, such as ICD's
R-Time 8 battery-backed clock, a language cartridge (
Action!,
MAC/65 etc.) or a game cartridge, and use it in conjunction with the DOS.
In 1992
Atari Corp.
Atari Corporation was an American manufacturer of computers and video game consoles. It was founded by Jack Tramiel on May 17, 1984, as Tramel Technology, Ltd., but then took on the Atari name less than two months later when Warner Communicat ...
dropped all the official support for their 8-bit computers, and so did ICD shortly after that. The rights for the 8-bit ICD inventory were purchased in November 1993 by Michael Hohman, officially as
Fine Tooned Engineering. FTE released a slightly updated version 4.22 on 5 November 1995,
and, after two or three years, disappeared together with all the items and rights it owned.
Ten years later development of SpartaDOS X, then considered
abandonware, was picked up by its enthusiasts, as SpartaDOS X Upgrade Project.
It resulted in several unofficial revisions of the software, incorporating many of the utilities written since 1992, cleaning many identified problems and including numerous improvements. the published versions are:
* 4.31 (2005)
* 4.39RC (2006)
* 4.40 (a leaked-out beta, 2006)
* 4.41 (Feb. 2008)
* 4.42 (Dec. 2008)
* 4.43 (Apr. 2011)
* 4.44 (Jun. 2011)
* 4.45 (Nov. 2011)
* 4.46 (Jan. 2013)
* 4.47 (Feb. 2015)
* 4.48 (Jul. 2016)
* 4.49 (Apr. 2020)
Characteristics
General
SpartaDOS X is a non-multitasking
operating system intentionally modeled after and closely resembling MS-DOS in look and feel. It consists of the kernel, the system library, several types of drivers, the
shell (called
COMMAND.COM) and a number of utility programs. SpartaDOS X is written in
6502 machine language and fits into a 128k file-oriented
ROM cartridge
A ROM cartridge, usually referred to in context simply as a cartridge, cart, or card, is a replaceable part designed to be connected to a consumer electronics device such as a home computer, video game console or, to a lesser extent, electroni ...
.
Supported storage devices
There is full support for
Atari-type serial disk drives as well as for parallel hard drives, as long as they conform to Atari standards (i.e. as long as they use the "plug-and-play"
Parallel Bus Interface (PBI)
The Parallel Bus Interface, or PBI, is a 50-pin port found on some Atari 8-bit XL computers. It provides unbuffered, direct connection to the system bus lines (address, data, control), running at the same speed as the 6502 CPU. The 600XL and 800X ...
mechanism implemented in the ROM OS of the XL/XE computers). For those which do not, and for ramdisks and the like, up to four block-device drivers can be installed. Nonstandard hard disk interfaces are handled by specialized drivers.
The maximum number of drives (or hard disk partitions) connected at the same time is 15 as of version 4.40 (9 in earlier versions).
Kernel built-in functions
The kernel allows to open files and directories in read-only, write-only, write-append and read-write modes. It also maintains
environment variables, and programs may request files to be searched through directories specified in $PATH. The variables also control some settings for the DOS as well as for programs, for example the format of date and time to be displayed (the choice is between the "European" DD-MM-YY and 24-hour clock, and "American" MM-DD-YY and 12-hour clock).
The file system drivers
Thanks to some form of virtual filesystem, practically any filesystem can be directly accessed, if an appropriate filesystem driver exists and was loaded to the memory. Up to eight such drivers can be installed at a time.
The main filesystem driver (fitting within less than 4.5 KB) can search directories (FFIRST/FNEXT), read/write files (FREAD/FWRITE), retrieve or change the current position within a file (FTELL/FSEEK), retrieve the file's length (FILELENG), delete files and directories (REMOVE/
RMDIR), rename files and directories (
RENAME/RENDIR), make directories (
MKDIR
The mkdir (make directory) command in the Unix, DOS, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS operating systems is used to make a new directory. It is also available in the EFI shell and in the PHP scripting language. In DOS, OS/2, ...
), change attributes in files and directories (
CHMOD), change current directory (
CHDIR), retrieve path to current directory (GETCWD), collect information about the disk (GETDFREE), and make a binary file bootable (SETBOOT). It also maintains the queued buffer cache that can hold up to 16 sectors (8 KB) at a time.
The SpartaDOS file system
The proprietary
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
format, called SpartaDOS FS (unrelated to and not compatible with MS-DOS
FAT), offers full support for subdirectories, MS-DOS-like attributes (AHPS: ''Archived'', ''Hidden'', ''Protected'', ''Subdirectory''), modification date and time stamps, random access to data within a file,
sparse files.
The file naming convention is
8+3 (this scheme, inherited from
CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
, is normal on Atari). The directory structure is hierarchical, there are no other than practical limits in nesting directories. A directory can contain up to 1423 entries of files and other directories.
The file system is 16-bit: a drive can contain up to 65,535 logical sectors (sector 0 does not exist on Atari disks). The logical sector size is 128 or 256 bytes in earlier versions, and 128, 256 and 512 bytes as of v. 4.40. This makes a maximum capacity of 16 MB per partition in earlier versions, and 32 MB as of v.4.40. A 4 GB per disk – by making sector
clusters, up to 65,536 bytes per cluster – is theoretically possible, but not yet implemented.
The DOS library
The system library contains a binary loader supporting standard, address-dependent Atari binaries as well as SpartaDOS X address-independent ("relocatable") binary files. It also facilitates such tasks as error handling, parsing the command line, as well as managing memory, file and device resources etc. The library also contains a menu-driven disk formatter, that can be invoked at any time, not only from the DOS' Command Processor, but also from within an application program.
The entire library occupies 24 KB of the cartridge (in three banks, 8 KB each) and can be switched off as necessary to release some memory.
COMMAND.COM
The SpartaDOS X default user interface is a
command-line interpreter with the same name as the one used by MS-DOS: COMMAND.COM. The SpartaDOS X COMMAND.COM program is less than 4 KB and includes roughly 45 internal
commands
Command may refer to:
Computing
* Command (computing), a statement in a computer language
* COMMAND.COM, the default operating system shell and command-line interpreter for DOS
* Command key, a modifier key on Apple Macintosh computer keyboards
* ...
such as
DIR,
CD,
DEL etc.
I/O redirection uses "<<" and ">>" instead of "<" and ">" of UNIX and other systems (this is because the ">" sign is the SpartaDOS native path separator).
Pseudo-pipelines are available as of SpartaDOS X version 4.42.
Batch files can contain structured conditionals such as IF ... ELSE ... FI, GOTO, GOSUB, procedures, and loops.
The environment variable
$COMSPEC may point to an alternative command-line interpreter, to be loaded instead of COMMAND.COM.
Commands, utility programs and optional extensions
Additional utility, called RUNEXT, allows to associate data types with programs to be invoked automatically, when the user enters the name of the data file at the DOS prompt and hits the Return key.
A program called MENU facilitates complex file management tasks and can serve as a replacement shell. Other utilities allow to change disk names, search disks for files, undelete them, install
keyboard buffer, edit system files (
CONFIG.SYS
CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
and
AUTOEXEC.BAT) and so on. A port of
ARC
ARC may refer to:
Business
* Aircraft Radio Corporation, a major avionics manufacturer from the 1920s to the '50s
* Airlines Reporting Corporation, an airline-owned company that provides ticket distribution, reporting, and settlement services
* ...
provides file compression facilities.
Among the dedicated programs, which are not directly available on the cartridge and thus are not bundled with DOS itself, there are disk editors available as well as utilities to check and repair filesystem consistency.
The following
commands
Command may refer to:
Computing
* Command (computing), a statement in a computer language
* COMMAND.COM, the default operating system shell and command-line interpreter for DOS
* Command key, a modifier key on Apple Macintosh computer keyboards
* ...
are supported by SpartaDOS X.
[SpartaDOS X 4.48 User Guide]
/ref>
* APPEND
* ARC
ARC may refer to:
Business
* Aircraft Radio Corporation, a major avionics manufacturer from the 1920s to the '50s
* Airlines Reporting Corporation, an airline-owned company that provides ticket distribution, reporting, and settlement services
* ...
* ATR
* ATTRIB
* BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
* BLOAD
BSAVE and BLOAD are commands in many varieties of the BASIC programming language. BSAVE copies RAM to a binary file, and BLOAD copies the contents of the file to RAM. The term "BSAVE image" could mean any of various raw image formats of video di ...
* BOOT
* CAR
* CD
* CHDIR
* CHKDSK
* CHTD
* CHVOL
* CLR
* CLS
* COLD
* COMMAND
* COMP
* CON
* COPY
* CREDIR
* CWD
* DATE
* DEL
* DELDIR
* DELETE
* DELTREE
* DEV
* DF
* DIR
* DIRS
* DUMP
* ECHO
* ED
* ERASE
* FIND
* FMT
* FORMAT
* KEY
* LESS
* LOAD
* MAN
* MAP
* MD
* MDUMP
* MEM
Mem (also spelled Meem, Meme, or Mim) is the thirteenth letter of the Semitic abjads, including Hebrew mēm , Aramaic Mem , Syriac mīm ܡ, Arabic mīm and Phoenician mēm . Its sound value is .
The Phoenician letter gave rise to the Greek mu ...
* MENU
* MKDIR
The mkdir (make directory) command in the Unix, DOS, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS operating systems is used to make a new directory. It is also available in the EFI shell and in the PHP scripting language. In DOS, OS/2, ...
* MORE
* PATH
* PAUSE
* PEEK
* POKE
* PROMPT
* PWD
In Unix-like and some other operating systems, the pwd command (''print working directory'') writes the full pathname of the current working directory to the standard output.
Implementations
Multics had a pwd command (which was a short n ...
* RD
* REN Ren or REN may refer to:
Abbreviations
* Orenburg Tsentralny Airport, IATA code REN, civil airport in Russia
* Redes Energéticas Nacionais (REN), Portuguese company
* Renanthera, abbreviated as Ren, orchid genus
* Ringer equivalence number ( ...
* RENAME
* RENDIR
* RMDIR
* RS232
* SAVE
* SET
* SETPATHS
* SIOSET
* SORTDIR
* SWAP
* TD
* TIME
* TYPE
Type may refer to:
Science and technology Computing
* Typing, producing text via a keyboard, typewriter, etc.
* Data type, collection of values used for computations.
* File type
* TYPE (DOS command), a command to display contents of a file.
* Ty ...
* UNERASE
* VER
* VERIFY
* X
Configuration
At startup, a text file called CONFIG.SYS is read from the boot disk. The contents of the file decides, which memory the DOS will use to keep the bulk of its code and drivers (the choice is between the extended memory and two areas of the conventional 64K), how many files can be opened at a time, the size of the buffer cache and its location in the memory (same choices as for the DOS code), the default environment variables, and which drivers to load.
Apart from the "main" one, there can be up to 9 alternative configuration files (or 19 as of v.4.45). The choice between them is offered at startup in a form of a menu. When no CONFIG.SYS file is present, the default one is loaded from the cartridge.
The other default file that can be used for configuration is AUTOEXEC.BAT. It is a batch file that is run by the COMMAND.COM, when the COMMAND.COM is loaded for the first time.
Requirements
SpartaDOS X requires an Atari 8-bit (400, 800 or XL/XE models) computer equipped with at least 48 KB of conventional memory to run, or 64 KB to be truly usable (on a 48K machine there is too little memory left as to execute most programs). The recommended configuration, though, is at least 128 KB of RAM (64k conventional plus at least 64k extended). The DOS can use the extended memory to keep large portion of its code, buffer cache and internal structures thus releasing the conventional memory. The rest of the extended memory can be used for additional drivers or ramdisks.
Relation to other DOS-es for Atari
Unlike its predecessor, SpartaDOS 3.0, SpartaDOS X is not what is commonly referred to as a "DOS" in Atari 8-bit parlance.
The Atari 8-bit Operating System consists of two main parts: the ROM-based "OS" and bootable "DOS". The common misconception about that division is that these respective parts correspond to BIOS and DOS on an IBM PC compatible machine. In reality the "OS" is responsible for communication not only with the block devices (like PC BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
), but also for character devices, including file-oriented ones (like PC DOS). Consequently, all the file management functions are centralized in the "OS"-part, and the "DOS"-part is only one of its subordinated device drivers, that performs on a mass-storage media (like floppy disk).
A "DOS" for Atari, then, typically consists of the aforementioned device driver (called FMS, "File Management System"), and an application program playing the role of the OS shell. This shell is typically called DUP, "Disk Utility Package". All the communication between the user programs (including the DUP) and FMS goes through the CIO ("Central Input/Output") residing in ROM.
Such a design has some shortcomings, for example, no typical DOS is able to keep more than eight files opened at a time, because this is the limit imposed by the API of the ROM-based "OS".
Now SpartaDOS X, even though it is registered in the ROM-based CIO as a device driver and (for backward compatibility) performs all typical DOS functions as requested that way, is in fact independent of the CIO. Instead, it has own "I/O centre" (known as "the kernel"), not related to the ROM-based OS, with own set of specifiers and drivers for both character devices (like CON: or COM:) and block devices.
Under SpartaDOS X programs can perform all the I/O operations through the SpartaDOS kernel bypassing the Atari OS in ROM completely. Thanks to that it was possible to break many of its limitations: e.g. there can be as many as 16 files opened at a time. This also makes SpartaDOS X (unlike, for example, its predecessor SpartaDOS 3.2, or any other DOS for Atari) an operating system, not just another device driver with some sort of a shell.
References
{{Disk operating systems
Atari 8-bit family software
Atari operating systems
Disk operating systems
1988 software