Wed . 19 Sep 2019
TR | RU | UK | KK | BE |

Apple DOS

apple dos, apple dos 3.1
Apple DOS is the family of disk operating systems for the Apple II series of microcomputers from late 1978 through early 1983 Apple DOS has three major releases: DOS 31, DOS 32, and DOS 33; each one of these three releases was followed by a second, minor "bug-fix" release, but only in the case of Apple DOS 32 did that minor release receive its own version number, Apple DOS 321 The best-known and most-used version is Apple DOS 33 in the 1980 and 1983 releases Prior to the release of Apple DOS 31, Apple users had to rely on audio cassette tapes for data storage and retrieval, but that method was notoriously slow, inconvenient, and unreliable


  • 1 Version history
  • 2 Technical details
    • 21 Relocatable software
    • 22 Boot loader
    • 23 Integer BASIC and Applesoft floating point BASIC support
  • 3 Decline of Apple DOS
  • 4 Performance improvements and other versions
  • 5 Release of the source code
  • 6 References
  • 7 Further reading
  • 8 External links

Version historyedit

When Apple Computer introduced the Apple II in April 1977, the new computer had no disk drive or disk operating system DOS Although Apple co-founder Steve Wozniak designed the Disk II controller late that year, and believed that he could have written a DOS, fellow founder Steve Jobs decided to outsource the task The company considered using Digital Research's CP/M, but Wozniak sought an operating system that was easier to use On 10 April 1978 Apple signed a $13,000 contract with Shepardson Microsystems to write a DOS and deliver it within 35 days Apple provided detailed specifications, and early Apple employee Randy Wigginton worked closely with Shepardson's Paul Laughton as the latter wrote the operating system with punched cards and a minicomputer2

There was no Apple DOS 1 or 2, per se Versions 01 through 28 were serially enumerated revisions during development, which might as well have been called builds 1 through 28 Apple DOS 30, a renamed issue of version 28, was never publicly released due to bugs To the dismay of many programmers, Apple published no official documentation until release 3234

Apple DOS 31 was publicly released in June 1978, slightly less than one year after the Apple II was introduced, becoming the first disk-based operating system for any Apple computer A bug-fix release came later, addressing a problem with its MASTER CREATE utility, which is used to create Apple DOS master disks: The built-in INIT command creates disks that can be booted only on machines with at least the same amount of memory as the one that had created them MASTER CREATE includes a self-relocating version of DOS that boots on Apples with any memory configuration

Apple DOS 32 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, the Apple II Plus firmware includes the newer Applesoft II floating point BASIC The new firmware also has an auto-start feature which automatically finds a disk controller and boots from it when the system is powered up – earning it the name Autostart ROM

Apple DOS 33 was released in 1980 It improves various functions of release 32, while also allowing for large gains in available floppy disk storage; the newer P5A/P6A PROMs in the disk controller can read and write data at a higher density, so that instead of 13 sectors 325 KiB, 16 sectors 4 KiB of data can be stored per disk track, increasing the capacity from 11375 KB to 140 KB per disk side – 16 KB of which is used by filesystem overhead and a copy of DOS, on a DOS 33-formatted disk, leaving 124 KB for user programs and data DOS 33 is, however, not backward compatible; it cannot read or write DOS 32 disks To address this problem, Apple Computer released a utility called "MUFFIN" to migrate Apple DOS 32 files and programs to version 33 disks Apple never offered a utility to copy the other way To migrate Apple DOS 33 files back to version 32 disks, someone wrote a "NIFFUM" utility There are also commercial utilities such as Copy II Plus that can copy files from and to either format and eventually ProDOS as well Release 33 also improves the ability to switch between Integer BASIC and Applesoft BASIC, if the computer has a language card RAM expansion or firmware card

Technical detailsedit

Apple DOS 31 disks use 13 sectors of data per track, each sector being 256 B It uses 35 tracks per disk side, and can access only one side of the floppy disk, unless the user flipped the disk over This gives the user a total storage capacity of 11375 KB per side, of which about 10 KB are used to store DOS itself and the disk directory, leaving about 100 KB for user programs

Compared to modern operating systems, Apple DOS is quite primitive The first layer of the operating system is called the RWTS, which stands for "read/write track sector" This layer consists of subroutines for track seeking, sector reading and writing, and disk formatting An API called the File Manager was built on top of this, and implements functions to open, close, read, write, delete, lock ie write-protect, unlock ie 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, storing a startup program usually called HELLO that is auto-started when this disk is booted from On top of the File Manager API, the main DOS routines are implemented which hook into the machine's BASIC interpreter and intercept all disk commands It provides BLOAD, BSAVE, and BRUN for storing, loading, and running binary executables LOAD, RUN, and SAVE are provided for BASIC programs, and an EXEC was provided for running text-based batch files consisting of BASIC and DOS commands Finally, four types of files exist, identified by letters in a catalog listing:

  • I – Integer BASIC programs stored in a compact format, not plain-text
  • A – Applesoft BASIC programs also stored in a packed, space-saving format
  • B – Binary files, either executable machine-language programs, or data files
  • T – ASCII text files or plain-text, unpacked batch files

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

Relocatable softwareedit

Most 8-bit Apple II machine language programs do not concern themselves with code relocation since the Apple II usually does not run multiple programs at the same time like more modern computers Programs are generally written to always expect to find their machine code at the same memory location every time Fully relocatable code is more complicated and difficult to implement on the 8-bit 6502 CPU

Apple DOS, however, needs to accommodate varying amounts of memory installed in an Apple II – from 16 KB up to 48 KB This DOS loads itself into the highest point possible to free up the lower memory locations for BASIC programs and graphics capabilities In machines with 48 KB or more memory, it occupies the region from $960016 to $BFFF16 enough space for three file buffers plus 10 KB of software, but can load into a lower memory area if less system memory is available In comparison, ProDOS always loads into language card RAM, thus requiring at least a 64 KB machine

A call vector table in the region of $03D0–03FF16 allows programs to find DOS wherever it is loaded in the system memory For example, if the DOS hooked into the BASIC CLI stops functioning, it can be reinitialized by calling location $03D016 97610 – hence the traditional "3D0G" "3D0 go" command to return to BASIC from the System Monitor

Boot loaderedit

The process of loading Apple DOS involves a series of very tiny programs, each of which carries 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 display the System Monitor prompt Both the Monitor and Integer BASIC have commands to redirect printing to a printer driver in a designated slot, so the conventional way to boot from disk then was to "print" to the disk interface card, typically installed in slot 6, using the command 6 Control-P from the ML monitor or PR#6 from BASIC When the monitor or BASIC issued the next prompt character, the computer would call the ROM routines on the disk card to "print" to it, which would then proceed with the boot sequence One could use input redirection to similar ends Alternatively, from the ML monitor, the user could type the slot number, typing C600G to invoke the controller's boot code directly
  • When the Apple II Plus was introduced, it included the ability to scan each expansion slot working downward from slot 7 to slot 1 for a bootable expansion card ROM, and automatically call it
  • The expansion card ROM boot code attempts to boot from drive 1 of the controller by moving the read/write arm to track zero and attempting to read 256 bytes from sector zero of that track If no readable disk is available, the drive spins indefinitely until one is provided and the drive door is closed
  • Sector zero contains a small program which instructs the computer to read sectors 0 through 9 of track zero into memory using part of the ROM boot code rereading sector 0 in the process
  • The program in sectors 1–9 of track 0, including the complete RWTS code, then proceeds to load tracks 1 and 2, which contain the rest of DOS On a system master disk, code is also included to determine the computer's RAM configuration and relocate DOS as high into system memory as possible, up to the 48 KB limit of the Apple II's main memory $BFFF16
  • Once DOS is loaded into memory, it attempts to load and execute a startup program as indicated in the DOS program code This is commonly a BASIC language program named HELLO or some other name but DOS can be modified to run other types of programs at startup, such as an executable binary file The appearance of the right-hand bracket on the screen is an indication to the user that an Applesoft BASIC startup program is loading, while a greater-than symbol > indicates that an Integer BASIC program is loading These are the prompts for the respective versions of BASIC, which are being initialized at this point
  • The startup program then begins executing

Integer BASIC and Applesoft floating point BASIC supportedit

The Apple II started out using a simple BASIC interpreter, known originally as Apple BASIC and later as Integer BASIC It can only handle integer numbers ranging from −32,768 to +32,767 16-bit binary values and only has built-in support for low-resolution graphics But it was the first version of BASIC available for the Apple II and is what the earliest BASIC programs use

Only months after the Apple II's release, Apple commissioned Microsoft to develop a much more capable BASIC interpreter known as Applesoft BASIC,5 capable of handling floating-point real numbers with up to nine digits of precision and base-10 exponents from -38 to +38, and with support for high-resolution graphics While more capable, Applesoft BASIC cannot run Integer BASIC programs, causing some users to resist upgrading to it

DOS 33 was released when Applesoft BASIC was standard in ROM on the Apple II Plus, so Apple designed it to support switching back and forth between the two BASIC interpreters The DOS 33 System Master disk contains Integer BASIC and Applesoft BASIC on disk as binary files which can be loaded into RAM, allowing whichever language was not resident in ROM to be used on any machine with enough RAM The user can switch between either BASIC by typing either FP or INT at the BASIC prompt DOS automatically chooses the needed language when running a saved program Applesoft programs are saved as type-A files, while Integer BASIC programs are saved as type-I files

Decline of Apple DOSedit

After 1980, Apple 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 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 33 but with some bug fixes and better support for the new Apple IIe model, were released in early and mid-1983

Without third-party patches, Apple DOS can only read floppy disks running in a 525-inch Disk II drive and cannot access any other media, such as hard disk drives, virtual RAM drives, or 35-inch floppy disk drives The structure of Apple DOS disks particularly the free sector map, which was restricted to part of a single sector is such that it is not possible to have more than 400 KB available at a time per drive without a major rewrite of almost all sections of the code; this is the main reason Apple abandoned this iteration of DOS in 1983, when Apple DOS was entirely replaced by ProDOS

ProDOS retains the 16-sector low-level format of DOS 33 for 525 inch disks, but introduces a new high-level format that is suitable for devices of up to 32 MB; this makes it suitable for hard disks from that era and 35-inch floppies All the Apple computers from the II Plus onward can run both DOS 33 and ProDOS, the Plus requiring a "Language Card" memory expansion to use ProDOS; the e and later models have built-in Language Card hardware, and so can run ProDOS straight ProDOS includes 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 clones long after 1983 The Apple convention of storing a bootable OS on every single floppy disk means that commercial software can be used no matter what OS the user owns A program called DOSMASTER enables users to have multiple virtual DOS 33 partitions on a larger ProDOS volume, which allows the use of many floppy-based DOS programs with a hard disk

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

Performance improvements and other versionsedit

DOS's RWTS routine can read or write a track in two revolutions with proper interleaving A sector of the spinning disk passes under the read/write head while the RWTS routine is decoding the just-read sector or encoding the next one to be written, and if this missed sector is the next one needed, DOS needs to wait nearly an entire revolution of the disk for the sector to come around again This is called "blowing a rev" and is a well-understood performance bottleneck in disk systems To avoid this, the sectors on a DOS disk are arranged on the in an interleaved order:7

0 7 14 6 13 5 12 4 11 3 10 2 9 1 8 15

Later, ProDOS arranged the sectors in this order:7

0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15

When reading and decoding sector 0, then sector 8 passes by, so that sector 1, the next sector likely to be needed, will be available without waiting When reading sector 7, two unneeded sectors, 15 and 0, pass by before sector 8 is available, and when reading sector 15, the drive will always have to wait an extra revolution for sector 0 on the same track However, the sector 0 actually needed in most cases will be on the next-higher track, and that track can be arranged relative to the last one to allow the needed time to decode the just-read sector and move the head before sector 0 comes around On average, a full track can be read in two revolutions of the disk

Unfortunately, the early DOS File Manager subverted this efficiency by copying bytes read from or written to a file one at a time between a disk buffer and main memory, requiring more time and resulting in DOS constantly blowing revs when reading or writing files8 Programs became available early on to format disks with modified sector interleaves; these disks give DOS more time between sectors to copy the data, ameliorating the problem

Later, programmers outside Apple rewrote the File Manager routines to avoid making the extra copy for most sectors of a file; RWTS was instructed to read or write sectors directly to or from main memory rather than from a disk buffer whenever a full sector was to be transferred An early "patch" to provide this functionality was published in Call-APPLE Speedups in the LOAD command of three to five times were typical

This functionality soon appeared in commercial products, such as Pronto-DOS, Diversi-DOS, Hyper-DOS, and David-DOS, along with additional features, but it was never used in an official Apple DOS release Similar functionality was, however, employed by Apple's successor operating system, ProDOS The Apple IIGS-specific operating system, GS/OS, would eventually employ an even more efficient "scatter read" technique that would read any sector that happened to be passing under the read head if it was needed for the file being read

Release of the source codeedit

In 2013, more than 35 years after the Apple II debuted, the original Apple DOS source code was released by the Computer History Museum at its website9 Paul Laughton, the creator of the code, has donated it10


  1. ^ Apple II DOS - Source Code
  2. ^ Terdiman, Daniel 2013-04-03 "The untold story behind Apple's $13,000 operating system" CNET Retrieved April 4, 2013 
  3. ^ "Apple Computer" Laughtoncom Retrieved 2013-06-14 
  4. ^ "Apple II History » 14-DOS" Apple2Historyorg Retrieved 2013-06-14 
  5. ^ Steven Weyhrich "Apple II History Chapter 16" Archived from the original on 29 January 2009 Retrieved 2009-01-26 
  6. ^ Dean Esmay "Even Apple Used Pirate Tools" Archived from the original on 25 July 2011 Retrieved 2011-08-11 
  7. ^ a b "About the archive formats" Retrieved 26 April 2012 
  8. ^ DOS 33, ProDOS & Beyond v13 bullet 07 Jul 01
  9. ^ Shustek, Len 2013-11-12 "Apple II DOS source code" ComputerHistoryorg Retrieved 2013-11-30 
  10. ^ "Apple II's 35-year-old operating system is now open to the public" November 13, 2013 

Further readingedit

  • Worth, Don; Lechner, Pieter 1981, Beneath Apple DOS, Quality Software, ISBN 0-912985-00-3 

External linksedit

  • Paul Laughton's account of writing DOS 31
  • Apple II History: DOS
  • A2Centralcom - Apple II news and downloads
  • Everything2com's DOS 31 Article
  • Apple II DOS version 31 source code 1978, released in 2013 with the permission of Apple Inc

apple dos, apple dos 3.1, apple dos 3.3, apple dosa, apple down, apple download ios 7, apple download itunes, apple downloads, apple downloads for windows, apple downtown brooklyn

Apple DOS Information about

Apple DOS

  • user icon

    Apple DOS beatiful post thanks!


Apple DOS
Apple DOS
Apple DOS viewing the topic.
Apple DOS what, Apple DOS who, Apple DOS explanation

There are excerpts from wikipedia on this article and video

Random Posts



A book is a set of written, printed, illustrated, or blank sheets, made of ink, paper, parchment, or...
Boston Renegades

Boston Renegades

Boston Renegades was an American women’s soccer team, founded in 2003 The team was a member of the U...
Sa Caleta Phoenician Settlement

Sa Caleta Phoenician Settlement

Sa Caleta Phoenician Settlement can be found on a rocky headland about 10 kilometers west of Ibiza T...

Bodybuildingcom is an American online retailer based in Boise, Idaho, specializing in dietary supple...