SpartaDOS X
   HOME

TheInfoList



OR:

SpartaDOS X (or SpartaDOS 4.0) is a
disk operating system A disk operating system (DOS) is a computer operating system that requires a disk or other direct-access storage device as secondary storage. A DOS provides a file system and a means for loading and running computer program, programs stored on th ...
for the
Atari 8-bit computers The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of home computers introduced by Atari, Inc., in 1979 with the Atari 400 and Atari 800. The architecture is designed around the 8-bit MOS Technology 650 ...
that closely resembles
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
. It was developed and sold by ICD 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 In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with Input ...
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, cassette, 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, ...
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 Corporation Atari Corporation was an American manufacturer of Home computer, home computers and Video game console, 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 ...
dropped all the official support for the
Atari 8-bit computers The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of home computers introduced by Atari, Inc., in 1979 with the Atari 400 and Atari 800. The architecture is designed around the 8-bit MOS Technology 650 ...
, 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 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) * 4.50 (Dec. 2024)


Characteristics


General

SpartaDOS X is a non-multitasking
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
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 Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
(called COMMAND.COM) and a number of utility programs. SpartaDOS X is written in
6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small ...
machine language In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
and fits into a 128k file-oriented
ROM cartridge A ROM cartridge, usually referred to in context simply as a cartridge, cart, cassette, 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, ...
.


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 In computing, a plug and play (PnP) device or computer bus is one with a specification that facilitates the recognition of a hardware component in a system without the need for physical device configuration or user intervention in resolving resou ...
" Parallel Bus Interface (PBI) 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 variable An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the va ...
s, 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 In computing, rmdir (or rd) is a command which will remove an empty directory on various operating systems. Implementations The command is available in Unix (e.g. macOS, Solaris, AIX, HP-UX), Unix-like (e.g. FreeBSD, Linux), DOS, Digital ...
), rename files and directories ( RENAME/RENDIR), make directories (
MKDIR (make directory) command (computing), command in the Unix, DOS, Digital Research, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS operating systems is used to make a new directory (file systems), directory. It is also available in the Unified ...
), change attributes in files and directories (
CHMOD is a shell command for changing access permissions and special mode flags of files (including special files such as directories). The name is short for ''change mode'' where ''mode'' refers to the permissions and flags collectively. The co ...
), 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 In computing, a page cache, sometimes also called disk cache, is a transparent cache for the pages originating from a secondary storage device such as a hard disk drive (HDD) or a solid-state drive (SSD). The operating system keeps a page cac ...
that can hold up to 16
sectors Sector may refer to: Places * Sector, West Virginia, U.S. Geometry * Circular sector, the portion of a disc enclosed by two radii and a circular arc * Hyperbolic sector, a region enclosed by two radii and a hyperbolic arc * Spherical sector, a ...
(8 KB) at a time.


The SpartaDOS file system

The proprietary file system format, called SpartaDOS FS (unrelated to and not compatible with MS-DOS
FAT In nutrition science, nutrition, biology, and chemistry, fat usually means any ester of fatty acids, or a mixture of such chemical compound, compounds, most commonly those that occur in living beings or in food. The term often refers specif ...
), offers full support for
subdirectories In computing, a directory is a file system cataloging structure that contains references to other computer files, and possibly other directories. On many computers, directories are known as folders or drawers, analogous to a workbench or the t ...
, MS-DOS-like attributes (AHPS: ''Archived'', ''Hidden'', ''Protected'', ''Subdirectory''), modification date and time stamps, random access to data within a file,
sparse file In computer science, a sparse file is a type of computer file that attempts to use file system space more efficiently when the file itself is partially empty. This is achieved by writing brief information (metadata) ''representing'' the empty blo ...
s. The optional support for symbolic links has been added as of SpartaDOS X version 4.50: the required system extension (SYMLINK.SYS) is available as a part of the collection of additional programs (called "SpartaDOS X Toolkit") which is distributed along with the system itself. 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/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
, is normal on Atari). The directory structure is
hierarchical A hierarchy (from Greek: , from , 'president of sacred rites') is an arrangement of items (objects, names, values, categories, etc.) that are represented as being "above", "below", or "at the same level as" one another. Hierarchy is an importan ...
, 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 may refer to: Science and technology Astronomy * Cluster (spacecraft), constellation of four European Space Agency spacecraft * Cluster II (spacecraft), a European Space Agency mission to study the magnetosphere * Asteroid cluster, a small ...
, 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 In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, a ...
, 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 A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
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 such as DIR, CD,
DEL Del, or nabla, is an operator used in mathematics (particularly in vector calculus) as a vector differential operator, usually represented by the nabla symbol ∇. When applied to a function defined on a one-dimensional domain, it denotes ...
etc. I/O redirection uses "<<" and ">>" instead of "<" and ">" of
UNIX Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
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 file A batch file is a Scripting language, script file in DOS, OS/2 and Microsoft Windows. It consists of a series of Command (computing), commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain a ...
s can contain structured conditionals such as IF ... ELSE ... FI, GOTO,
GOSUB Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
, 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 and AUTOEXEC.BAT) and so on. A port of ARC provides file compression facilities. Another file manager, called ''Sparta Commander'', resembling
Norton Commander Norton Commander (NC) is a discontinued prototypical orthodox file manager (OFM), written by John Socha and released by Peter Norton Computing (later acquired in 1990 by the NortonLifeLock, Symantec corporation). NC provides a text-based user i ...
, is available as a part of the additional collection of programs, or SpartaDOS X Toolkit, bundled with the system itself. Among the dedicated programs, which are not directly available on the cartridge and thus are not bundled with DOS itself, there are
disk editor A disk editor is a computer program that allows its user to read, edit, and write raw data (at character or hexadecimal, byte-levels) on disk drives (e.g., hard disks, USB flash disks or removable media such as a floppy disks); as such, they ar ...
s available as well as utilities to check and repair filesystem consistency. The following commands are supported by SpartaDOS X.SpartaDOS X 4.48 User Guide
/ref> * APPEND * ARC * ATR *
ATTRIB In computing, ATTRIB is a command in Intel ISIS-II, DOS, IBM OS/2, Microsoft Windows and ReactOS that allows the user to change various characteristics, or " attributes" of a computer file or directory. The command is also available in the EFI ...
*
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
* BLOAD * BOOT * CAR * CD * CHDIR *
CHKDSK In computing, CHKDSK (short for "check disk") is a system software, system tool and command (computing), command in DOS and Microsoft Windows (and related operating systems), as well as Digital Research FlexOS, IBM/Toshiba 4690 Operating System, 4 ...
* CHTD * CHVOL * CLR * CLS * COLD *
COMMAND Command may refer to: Computing * Command (computing), a statement in a computer language * command (Unix), a Unix command * COMMAND.COM, the default operating system shell and command-line interpreter for DOS * Command key, a modifier key on A ...
*
COMP Comp, COMP or Comps may refer to: Places In England: * Comp, Kent In France: * Comps, Drôme * Comps, Gard * Comps, Gironde * Comps-la-Grand-Ville * Comps-sur-Artuby Music *Accompaniment, especially in jazz ** Comping (jazz) *Compilatio ...
* CON * COPY * CREDIR * CWD * DATE *
DEL Del, or nabla, is an operator used in mathematics (particularly in vector calculus) as a vector differential operator, usually represented by the nabla symbol ∇. When applied to a function defined on a one-dimensional domain, it denotes ...
* DELDIR * DELETE * DELTREE * DEV * DF * DIR * DIRS * DUMP *
ECHO In audio signal processing and acoustics, an echo is a reflection of sound that arrives at the listener with a delay after the direct sound. The delay is directly proportional to the distance of the reflecting surface from the source and the lis ...
* ED * ERASE * FIND * FMT * FORMAT * KEY *
LESS Less or LESS may refer to: Computing * less (Unix), a Unix utility program * Less (style sheet language), a dynamic style sheet language * Large-Scale Scrum (LeSS), a product development framework that extends Scrum Other uses * -less, a priv ...
* LOAD *
MAN A man is an adult male human. Before adulthood, a male child or adolescent is referred to as a boy. Like most other male mammals, a man's genome usually inherits an X chromosome from the mother and a Y chromosome from the f ...
* MAP * MD * MDUMP * MEM * MENU *
MKDIR (make directory) command (computing), command in the Unix, DOS, Digital Research, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS operating systems is used to make a new directory (file systems), directory. It is also available in the Unified ...
* MORE *
PATH A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desir ...
* PAUSE *
PEEK Polyether ether ketone (PEEK) is a beige coloured organic thermoplastic polymer in the polyaryletherketone (PAEK) family, used in engineering applications. It was invented in November 1978 and brought to market in the early 1980s by part of I ...
*
POKE Poke may refer to: Arts, entertainment, and media * Poke (Ender's Game), Poke (''Ender's Game''), a fictional character * Poke (game), a two-player card game * Poke, a fictional bar owner in the television series ''Treme (season 2), Treme'' * The ...
* PROMPT * PWD * RD * REN * RENAME * RENDIR *
RMDIR In computing, rmdir (or rd) is a command which will remove an empty directory on various operating systems. Implementations The command is available in Unix (e.g. macOS, Solaris, AIX, HP-UX), Unix-like (e.g. FreeBSD, Linux), DOS, Digital ...
* RS232 * SAVE *
SET Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
* SETPATHS * SIOSET * SORTDIR * SWAP * TD *
TIME Time is the continuous progression of existence that occurs in an apparently irreversible process, irreversible succession from the past, through the present, and into the future. It is a component quantity of various measurements used to sequ ...
*
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. * ...
* UNERASE * VER *
VERIFY 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 residi ...
* 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 Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
-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 An IBM PC compatible is any personal computer that is hardware- and software-compatible with the IBM Personal Computer (IBM PC) and its subsequent models. Like the original IBM PC, an IBM PC–compatible computer uses an x86-based central p ...
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 a type of firmware used to provide runtime services for operating systems and programs and to perform hardware initialization d ...
), but also for character devices, including file-oriented ones (like PC
DOS DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
). 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 An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
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 An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
, not just another device driver with some sort of a shell.


References

{{Disk operating systems Atari 8-bit computer software Atari operating systems Disk operating systems 1988 software