All Topics  
Apple DOS

 
Apple DOS

   Email Print
   Bookmark   Link






 

Apple DOS



 
 
Apple DOS refers to operating systems for the Apple II series
Apple II series

The Apple II was one of the first highly successful mass produced microcomputer products, manufactured by Apple Computer and introduced in 1976....
 of microcomputers
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 from 1979 through early 1983. Apple DOS had three major releases: DOS 3.1, DOS 3.2, and DOS 3.3; each one of these three releases was followed by a second, minor "bug-fix" release, but only in the case of Apple DOS 3.2 did that minor release receive its own version number, Apple DOS 3.2.1. The best-known and most-used version was Apple DOS 3.3 in the 1980 and 1983 releases.






Discussion
Ask a question about 'Apple DOS'
Start a new discussion about 'Apple DOS'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Apple DOS refers to operating systems for the Apple II series
Apple II series

The Apple II was one of the first highly successful mass produced microcomputer products, manufactured by Apple Computer and introduced in 1976....
 of microcomputers
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 from 1979 through early 1983. Apple DOS had three major releases: DOS 3.1, DOS 3.2, and DOS 3.3; each one of these three releases was followed by a second, minor "bug-fix" release, but only in the case of Apple DOS 3.2 did that minor release receive its own version number, Apple DOS 3.2.1. The best-known and most-used version was Apple DOS 3.3 in the 1980 and 1983 releases. Prior to the release of Apple DOS 3.1, Apple users had to rely on audio cassette tapes for data storage and retrieval, but that method was notoriously slow, inconvenient and unreliable.

Version history

Apple DOS was largely written by Steve Wozniak
Steve Wozniak

Stephen Gary "Woz" Wozniak is an United States computer engineer who founded Apple Computer with Steve Jobs. His inventions and machines are credited with contributing significantly to the personal computer revolution of the 1970s....
, Randy Wigginton, and outside contractor Paul Laughton. It was closely tied to the Integer BASIC
Integer BASIC

Integer BASIC, written by Steve Wozniak, was the BASIC programming language interpreter of the Apple I and original Apple II computers. Originally available on cassette, then included in Read-only memory on the original Apple II family computer at release in 1977, it was the first version of BASIC used by many early home computer owners....
 programming language. To the dismay of many programmers, Apple
Apple Computer

Apple Inc., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products....
 published no official documentation until release 3.2.

Apple DOS 1 and 2 were purely internal development versions; Apple DOS 3.0 was never publicly released because of remaining bugs. Apple DOS 3.1, which was the first disk-based operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 for any Apple computer, was released in June 1978 for the Apple II, which had been on the market for a little less than one year. A second bug-fix release came afterwards, addressing a problem with its MASTER CREATE utility, which was used to create Apple DOS master disks. (The built-in INIT command created disks that could be booted only on machines with the same amount of memory as the one that had created them. MASTER CREATE included a self-relocating version of DOS that would boot on Apples with any memory configuration.)

Apple DOS 3.2 was released in 1979 to reflect major changes in computer booting methods that were built into the successor of the Apple II, the Apple II Plus. Instead of the original Integer BASIC
Integer BASIC

Integer BASIC, written by Steve Wozniak, was the BASIC programming language interpreter of the Apple I and original Apple II computers. Originally available on cassette, then included in Read-only memory on the original Apple II family computer at release in 1977, it was the first version of BASIC used by many early home computer owners....
, the newer Applesoft BASIC
Applesoft BASIC

Applesoft BASIC was a dialect of BASIC programming language supplied on the Apple II family computer, superseding Integer BASIC. Applesoft BASIC was supplied by Microsoft and its name is derived from the names of both Apple and Microsoft....
 was written into the ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 of the II+. Also, the new ROM had an updated computer reset function, dubbed Autostart, which could boot a disk automatically when the II+ was powered up.

Apple DOS 3.3 was released in 1980. It improved various functions of release 3.2, while also allowing for large gains in available floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
 storage; the newer P5A/P6A PROM
Prom

In the United States and Canada, a prom, short for promenade, is a semi-formal dance held at the end of an academic year. In the United Kingdom, the term is more widely understood to be in reference to The Proms or "proms", which have been held between July and September since 1895, today run by the BBC....
s in the disk controller could read and write data at a higher density, so that instead of 13 sectors, 16 sectors of data could be stored per disk track, increasing the capacity to 140 KB per disk side, with about 130KB available for user programs. Unfortunately, this had the side effect of making it difficult to read disks formatted in prior versions. To counteract this problem, Apple Computer released a utility called "MUFFIN" to migrate Apple DOS 3.2 files and programs to version 3.3. To migrate Apple DOS 3.3 files in the reverse direction, back to version 3.2, users came up with a "NIFFUM" utility; Apple never officially supported transfers in that direction. Release 3.3 also improved the ability to switch between the old Integer BASIC and the newer Applesoft BASIC, if the computer had a language card memory expansion.

Technical details

Apple DOS 3.1 disks used 13 sectors of data per disk track, each sector being 256 bytes in size. It used 35 tracks per disk side, and could access only one side of the floppy disk, unless the user flipped the disk over. This gave the user a total storage capacity of 113.75 KB
Kilobyte

Kilobyte is a unit of Computer data storage equal to either 1,024 bytes or 1,000 bytes , depending on context.It is abbreviated in a number of ways: KB, kB, K and Kbyte....
 per disk side, of which about 10 KB were used to store DOS itself and the disk directory, leaving about 100KB for user programs.

Compared to the modern operating systems of today, Apple DOS was quite primitive. The first layer of the operating system was called the RWTS, which stands for "read/write track sector". This layer consisted of subroutine
Subroutine

In computer science, a subroutine or subprogram is a portion of computer code within a larger computer program, which performs a specific task and is relatively independent of the remaining code....
s for track seeking, sector reading and writing, and a disk formatting. An API called the File Manager was built on top of this, and implemented functions to open, close, read, write, delete, lock (i.e. write-protect), unlock (i.e. write-enable), and rename files, and to verify a file's structural integrity. There is also a catalog function, for listing files on the diskette, and an init function, which formats a disk for use with DOS, and stores a startup program (usually called HELLO) that will be auto-started when this disk is booted. On top of the File Manager API, the main DOS routines were implemented which hooked into the machine's BASIC interpreter and intercepted all disk commands. It provided BLOAD, BSAVE, and BRUN for storing, loading and running binary executables. LOAD, RUN, and SAVE were provided for BASIC programs, and an EXEC was provided for running text-based batch file
Batch file

In DOS, OS/2, and Microsoft Windows, a batch file is a text file containing a series of Command intended to be executed by the Command line interpreter....
s consisting of BASIC and DOS commands. Finally, 4 types of files existed, identified by letters in a catalog listing.

Apple DOS File Formats:
  • I: Integer BASIC
    Integer BASIC

    Integer BASIC, written by Steve Wozniak, was the BASIC programming language interpreter of the Apple I and original Apple II computers. Originally available on cassette, then included in Read-only memory on the original Apple II family computer at release in 1977, it was the first version of BASIC used by many early home computer owners....
     programs (stored in a compact format, not plain-text).
  • A: AppleSoft BASIC
    Applesoft BASIC

    Applesoft BASIC was a dialect of BASIC programming language supplied on the Apple II family computer, superseding Integer BASIC. Applesoft BASIC was supplied by Microsoft and its name is derived from the names of both Apple and Microsoft....
     programs (also stored in a packed, space-saving format).
  • B: Binary file
    Binary file

    A binary file is a computer file which may contain any type of data, encoded in Binary numeral system form for computer storage and processing purposes; for example, Document file format containing formatted text....
    s, either executable machine-language programs, or data files.
  • T: ASCII
    ASCII

    American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
     text file
    Text file

    A text file is a kind of computer file that is structured as a sequence of line . A text file exists within a computer file system. The end of a text file is often denoted by placing one or more special characters, known as an end-of-file marker, after the last line in a text file....
    s (or plain-text, unpacked batch files).


There were four additional file types; 'R', 'S' and an additional 'A' and 'B', none of which were fully supported. DOS recognized these types for catalog listings only, and there were no direct ways to manipulate these types of files. The 'R' type found some use for relocatable binary executable files. A few programs supported the 'S' type as data files.

Relocatable software

DOS was not designed to use fixed-address subroutine calls for its internal functions. Instead, it was written to permit the software to load at varying locations in system memory. A calling vector table that was always located in the region of $0380-03FF allowed programs to find DOS wherever it was loaded into the system memory. For example, if the DOS hooks into the BASIC CLI
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 stopped functioning, DOS could be reinitialized by calling location $03D0 (CALL 976).

Most assembly language programs did not concern themselves with code relocation since the Apple II did not run multiple programs at the same time like modern computers. Programs were generally written to always expect to find their machine code at the same memory location every time. Fully relocatable code was more complicated and difficult to implement.

This relocatable code was necessary because there could be varying amounts of memory installed in an Apple II, from 16k to 48k, and DOS would always try to load itself at the highest point possible, to free up the lower memory locations for BASIC programs and graphics capabilities. In machines with 48k or more memory, DOS always occupies the region from $9600 to $BFFF (3 file buffers + 10k of software), but it was intelligent enough to load in a lower memory area if less system memory were available.

Boot Loader

The process of loading Apple DOS involved a series of very tiny programs, each of which carried the loading process forward a few steps before passing control to the next program in the chain.
  • Originally, the Apple II ROM did not support disk booting at all. At power-up it would go straight to the Monitor ROM machine language prompt. Attempting to boot DOS on a disk required the user to manually attempt to start the process.
  • When the disk system was developed the Apple II Monitor ROM was modified to scan each expansion slot in order from slot 7 to slot 1, looking for an expansion card ROM with additional boot code.
  • The expansion card ROM boot code is only capable of selecting drive 1 for the slot, moving the read/write arm to track zero, and attempting to read 256 bytes from sector zero of that track. If no disk is present the disk spins continuously until a readable disk is provided and the drive door is closed.
  • Sector zero contains a tiny program which tells the computer how to also read sector 1.
  • These two sectors combine to form code capable of reading the rest of the sectors in track zero.
  • The program in sectors 2-15 of track 0 then proceed to load tracks 1 and 2 which contain the rest of DOS, and relocate it as high in system memory as possible, up to the 48k limit of the Apple II ($BFFF).
  • Once DOS is loaded into memory, it attempts to load a startup program as indicated in the DOS program code. This was commonly a BASIC language program named HELLO but DOS could be modified to run other programs at startup, such as assembly language binary files. The appearance of the right-hand bracket ( ] ) on the screen was an indication to the user that an Applesoft BASIC startup program was loading, while a right-hand arrow ( > ) indicated an Integer BASIC program was loading.
  • The startup program would then proceed to load whatever commercial software was on the disk, or could present a file section menu system to the user.


Integer BASIC and Applesoft FP-BASIC support

The Apple II started out using a simplified BASIC interpreter known simply as Integer BASIC. It could only handle integer numbers ranging from -32768 to 32767 and only had built-in support for low-resolution graphics, but it was the first version of BASIC available and is what the earliest BASIC programs used.

Later, Apple commissioned Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 to develop a much more capable interpreter known as Applesoft BASIC
Applesoft BASIC

Applesoft BASIC was a dialect of BASIC programming language supplied on the Apple II family computer, superseding Integer BASIC. Applesoft BASIC was supplied by Microsoft and its name is derived from the names of both Apple and Microsoft....
, capable of handling floating-point real numbers with up to eight digits of precision and up to base 48 exponents, and with support for high-resolution graphics. While technically superior, Applesoft could not run older Integer BASIC programs, causing some users to resist upgrading to it.

DOS 3.3 was released when Applesoft BASIC was standard in ROM, so Apple designed it to support switching back and forth between the two BASIC interpreters. The DOS 3.3 System Master disk contained Integer BASIC on disk as a binary file which was loaded into RAM, and then the user could switch between the RAM and ROM BASICs by typing either FP or INT at the command-line prompt. DOS itself could switch automatically between interpreters when running a saved program. Applesoft FP BASIC programs were saved as type A files, while Integer BASIC programs were saved as type I files.

Decline of Apple DOS

After 1980, DOS entered into a state of stagnation, along with all other Apple II products, as Apple concentrated its efforts on the ill-fated Apple III
Apple III

The Apple III was a personal computer aimed at business users, manufactured and sold by Apple Inc. from May, 1980 until its discontinuation on April 24, 1984....
 computer and its SOS operating system. After the Apple III had been abandoned by the company, two more versions of Apple DOS, both still called DOS 3.3 but with some bug fixes and better support for the new Apple IIe
Apple IIe

The Apple IIe is the third model in the Apple II series of personal computers produced by Apple Computer. The e in the name stands for enhanced, referring to the fact that several popular features were now built-in that were only available as upgrades and add-ons in earlier models....
 model, were released in early and mid 1983.

Without third-party patches, Apple DOS could only read floppy disks running in a 5.25-inch Disk II disk drive and could not access any other media, such as hard disk drives, virtual RAM drives, or 3.5-inch floppy disk drives. The structure of DOS was such that it was not possible to have more than 400 KB available per drive without a major rewrite of almost all sections of the code; this was the main reason Apple abandoned DOS in 1983, when Apple DOS was entirely replaced by ProDOS
ProDOS

ProDOS was the name of two similar operating systems for the Apple II series of personal computers. The original ProDOS, renamed ProDOS 8 in version 1.2, was the last official operating system usable by all Apple II series computers, and was distributed from 1983 to 1993....
.

ProDOS retained the 16-sector low-level format of DOS 3.3 for 5.25 inch disks, but introduced a new high-level format that was suitable for devices up to 32 MB
Megabyte

Megabyte is a SI prefix-multiple of the unit byte for digital information computer storage or transmission and is equal to 106 bytes....
 in size; this made it suitable for hard disks and 3.5-inch floppies. All the Apple computers from the Apple II Plus onward can run both DOS 3.3 and ProDOS
ProDOS

ProDOS was the name of two similar operating systems for the Apple II series of personal computers. The original ProDOS, renamed ProDOS 8 in version 1.2, was the last official operating system usable by all Apple II series computers, and was distributed from 1983 to 1993....
, the Apple II Plus requiring a "Language Card" memory expansion to use ProDOS; the Apple //e and later models had built-in Language Card hardware, and so could run ProDOS out of the box. ProDOS included software to copy files from Apple DOS disks. However many people who had no need for the improvements of ProDOS (and who did not like its much higher memory footprint) continued using Apple DOS or one of its clone
Clone (computer science)

In computing, a clone is a computer hardware or software system that is designed to mimic another system. computer compatibility with the original system is usually the explicit purpose of cloning hardware or low-level software such as operating systems....
s long after 1983. The Apple convention of storing a bootable OS on every single floppy disk meant that commercial software could be used no matter what OS the user owned. A program called DOS.MASTER
DOS.MASTER

DOS.MASTER is a program for Apple II computers which allows Apple DOS programs to be placed on a hard drive or 3?" floppy disk and run from ProDOS....
 enables users to have multiple virtual DOS 3.3 partitions on a larger ProDOS volume, which allowed the use of many floppy-based DOS programs with a hard disk.

Apple stopped authorizing user groups to distribute DOS 3.3 many years ago, but granted one company, Syndicomm, an exclusive license to resell DOS 3.3.

Other versions

  • The standard DOS 3.3 disk access speed was slow and inefficient. Significant speed improvements were possible by optimizing the 5.25" drive RWTS routines. ProntoDOS was one such accelerated version of DOS 3.3, sold by the company Beagle Bros
    Beagle Bros

    Beagle Bros was a software company that specialized in creating personal computing products that were both useful and wiktionary: whimsical. Their primary focus was on the Apple II family of computers....
    .


External links

  • — Apple II news and downloads