HOME

TheInfoList



OR:

SpartaDOS X (or SpartaDOS 4.0) is a disk operating system for the Atari 8-bit family of computers 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 ope ...
. 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 Atari DOS is the disk operating system used with the Atari 8-bit family of computers. Operating system extensions loaded into memory were required in order for an Atari computer to manage files stored on a disk drive. These extensions to ...
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 cartridges 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. 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 Fine may refer to: Characters * Sylvia Fine (''The Nanny''), Fran's mother on ''The Nanny'' * Officer Fine, a character in ''Tales from the Crypt'', played by Vincent Spano Legal terms * Fine (penalty), money to be paid as punishment for an offe ...
. 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 Abandonware is a product, typically software, ignored by its owner and manufacturer, and for which no official support is available. Within an intellectual rights contextual background, abandonware is a software (or hardware) sub-case of the ...
, 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 An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
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 ** Thin-shell structure Science Biology * Seashell, a hard o ...
(called
COMMAND.COM COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot (init proc ...
) 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 te ...
machine language and fits into a 128k file-oriented ROM cartridge.


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) 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 dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP envi ...
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 Resear ...
), rename files and directories ( RENAME/RENDIR), make directories ( MKDIR), change attributes in files and directories (
CHMOD In Unix and Unix-like operating systems, is the command and system call used to change the access permissions and the special mode flags (the ''setuid'', ''setgid'', and ''sticky'' flags) of file system objects ( files and directories). Coll ...
), 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 format, called SpartaDOS FS (unrelated to and not compatible with MS-DOS
FAT In nutrition, biology, and chemistry, fat usually means any ester of fatty acids, or a mixture of such compounds, most commonly those that occur in living beings or in food. The term often refers specifically to triglycerides (triple est ...
), 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 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 block ...
s. The file naming convention is 8+3 (this scheme, inherited from CP/M, 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 A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
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 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 Batch may refer to: Food and drink * Batch (alcohol), an alcoholic fruit beverage * Batch loaf, a type of bread popular in Ireland * A dialect term for a bread roll used in North Warwickshire, Nuneaton and Coventry, as well as on the Wirra ...
s 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 A keyboard buffer is a section of computer memory used to hold keystrokes before they are processed. Keyboard buffers have long been used in command-line processing. As a user enters a command, they see it echoed on their terminal and can edit i ...
, edit system files ( CONFIG.SYS and AUTOEXEC.BAT) and so on. A port of ARC 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 are supported by SpartaDOS X.SpartaDOS X 4.48 User Guide
/ref> *
APPEND In computer programming, append is the operation for concatenating linked lists or arrays in some high-level programming languages. Lisp Append originates in the Lisp programming language. The append procedure takes zero or more (linked) lists a ...
* ARC * ATR * ATTRIB * BASIC *
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 In computing, CHKDSK (short for "check disk") is a system tool and command in DOS, Digital Research FlexOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows and related operating systems. It verifies the file system integrity of a volume and ...
* CHTD * CHVOL * CLR * CLS * COLD *
COMMAND 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 * ...
*
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 Arts, entertainment, and media ;Music *Accompaniment, especially in jazz ...
* CON *
COPY Copy may refer to: *Copying or the product of copying (including the plural "copies"); the duplication of information or an artifact **Cut, copy and paste, a method of reproducing text or other data in computing **File copying **Photocopying, a pr ...
* CREDIR * CWD *
DATE Date or dates may refer to: *Date (fruit), the fruit of the date palm (''Phoenix dactylifera'') Social activity *Dating, a form of courtship involving social activity, with the aim of assessing a potential partner ** Group dating *Play date, a ...
*
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 Erase may refer to: *Data erasure, a method of software-based overwriting that completely destroys all electronic data *Data remanence, the residual representation of data that has been, in some way, nominally erased or removed * ''Erase'' (album ...
* FIND * FMT * FORMAT * KEY *
LESS Less or LESS may refer to: fewer than,: not as much. Computing * less (Unix), a Unix utility program * Less (stylesheet language), a dynamic stylesheet language * Large-Scale Scrum (LeSS), a product development framework that extends Scrum Othe ...
* LOAD *
MAN A man is an adult male human. Prior to adulthood, a male human is referred to as a boy (a male child or adolescent). Like most other male mammals, a man's genome usually inherits an X chromosome from the mother and a Y chromo ...
* MAP * MD * MDUMP * MEM * MENU * MKDIR *
MORE More or Mores may refer to: Computing * MORE (application), outline software for Mac OS * more (command), a shell command * MORE protocol, a routing protocol * Missouri Research and Education Network Music Albums * ''More!'' (album), by Booka S ...
*
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 * Desire p ...
* PAUSE *
PEEK Polyether ether ketone (PEEK) is a colourless organic thermoplastic polymer in the polyaryletherketone (PAEK) family, used in engineering applications. The polymer was first developed in November 1978, later being introduced to the market by Vic ...
*
POKE Poke may refer to: Arts, entertainment, and media * Poke (''Ender's Game''), a fictional character * Poke (game), a two-player card game * Poke, a fictional bar owner in the television series '' Treme'' * The Poke, a British satirical website Fo ...
* 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 Resear ...
* RS232 * SAVE * SET * SETPATHS * SIOSET * SORTDIR * SWAP * TD *
TIME Time is the continued sequence of existence and events that occurs in an apparently irreversible succession from the past, through the present, into the future. It is a component quantity of various measurements used to sequence events, ...
* TYPE * UNERASE *
VER Ver or VER may refer to: * Voluntary Export Restraints, in international trade * VER, the IATA airport code for General Heriberto Jara International Airport * Volk's Electric Railway, Brighton, England * VerPublishing, of the German group VDM P ...
*
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 residing ...
* 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 IBM PC compatible computers are similar to the original IBM Personal Computer, IBM PC, IBM Personal Computer XT, XT, and IBM Personal Computer/AT, AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such ...
machine. In reality the "OS" is responsible for communication not only with the block devices (like PC BIOS), but also for character devices, including file-oriented ones (like PC
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
). 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 way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
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, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
, 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