Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Apple ProDOS
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Apple II disk operating system}} {{refimprove|date=November 2009}} {{Infobox OS | name = ProDOS 8 | logo = | screenshot = PRODOS402 catalog.png | caption = A floppy disk catalog in ProDOS 8 v2.0.3 | developer = [[Apple Inc.|Apple Computer]] | source_model = [[Proprietary software|Closed source]] (but version 1.7)<ref>{{cite web|url=https://mirrors.apple2.org.za/ftp.apple.asimov.net/documentation/source_code/apple2_SRC_ProDOS17_1988.pdf|title=Apple ][ ProDOS 1.7 Operating System Source Listing|website=Apple|access-date=25 February 2024}}</ref> | kernel_type = [[Monolithic kernel]] | supported_platforms = [[Apple II]] | ui = primarily [[text user interface]] | family = [[Apple SOS|SOS]] | released = {{Start date and age|1983|10}} | discontinued = yes | latest_release_version = 2.0.3 | latest_release_date = {{Start date and age|1993|05|06}} | marketing_target = | programmed_in = [[Assembly language]] | prog_language = | language = [[English language|English]] | updatemodel = | package_manager = | working_state = Discontinued | license = Apple Software License Agreement | website = }} {{Infobox OS | name = ProDOS 16 | logo = | screenshot = ProDOS16.png | caption = ProDOS 16 v1.6 - running an earlier version of the Apple IIGS Finder | developer = [[Apple Inc.|Apple Computer]] | source_model = [[Closed source]] | kernel_type = [[Monolithic kernel]] | supported_platforms = [[Apple IIGS|Apple II{{sc|gs}}]] | ui = | family = [[Apple SOS|SOS]] | released = {{Start date and age|1986|09}} | latest_release_version = 1.6 | latest_release_date = {{Start date and age|1988|06|14}} | marketing_target = | programmed_in = | prog_language = | language = [[English language|English]] | updatemodel = | package_manager = | working_state = Discontinued | license = Apple Software License Agreement | website = }} '''ProDOS''' is the name of two similar [[operating system]]s for the [[Apple II]] of [[personal computer]]. The original ProDOS, renamed '''ProDOS 8''' in version 1.2, is the last official operating system usable by all [[8-bit]] Apple II computers, and was distributed from 1983 to 1993.{{citation needed|date=January 2009}} The other, '''ProDOS 16''', was a stop-gap solution for the [[16-bit]] [[Apple IIGS|Apple II{{sc|gs}}]] that was replaced by [[Apple GS/OS|GS/OS]] within two years.<ref name="ah15">{{cite web | url = http://apple2history.org/history/ah15.html#SOS | work = Apple II History | title = Chapter 15: DOS 3.3, ProDOS & Beyond | date = 2001-07-07 | first = Steven | last = Weyhrich | access-date = 2003-06-27 | archive-url = https://web.archive.org/web/20080917065143/http://apple2history.org/history/ah15.html#SOS | archive-date = 2008-09-17 | url-status = dead }}</ref> ProDOS was marketed by Apple as meaning '''Professional Disk Operating System''', and became the most popular operating system for the Apple II 10 months after its release in January 1983.<ref>{{cite web|url= http://www.vectronicsappleworld.com/appleii/dos.html|title= History of DOS 3.3 and ProDOS|access-date= 2013-08-28|archive-url= https://web.archive.org/web/20130606063515/http://www.vectronicsappleworld.com/appleii/dos.html|archive-date= 2013-06-06|url-status= dead}}</ref> ==Background== ProDOS was released to address shortcomings in the earlier Apple operating system (called simply [[Apple DOS|DOS]]), which was beginning to show its age. Apple DOS only has built-in support for 5.25" floppy disks and requires [[patch (computing)|patches]] to use peripheral devices such as [[hard disk drive]]s and non-[[Disk II|Disk-II]] [[floppy disk]] drives, including 3.5" floppy drives. ProDOS adds a standard method of accessing ROM-based [[device driver|drivers]] on expansion cards for disk devices, expands the maximum [[Volume (computing)|volume]] size from about 400 [[kilobytes]] to 32 [[megabytes]], introduces support for [[hierarchical file system|hierarchical]] [[directory (computing)|subdirectories]] (a vital feature for organizing a hard disk's storage space), and supports [[RAM drive|RAM disks]] on machines with 128 KB or more of memory. ProDOS addresses problems with handling hardware [[interrupt]]s, and includes a well-defined and documented programming and expansion interface, which Apple DOS had always lacked. Although ProDOS also includes support for a [[real-time clock]] (RTC), this support went largely unused until the release of the [[Apple IIGS|Apple II{{sc|gs}}]], the first in the Apple II series to include an RTC on board. Third-party clocks were available for the II Plus, IIe, and [[Apple IIc|IIc]], however. ProDOS shipped with a built-in clock driver for the Thunderware Thunderclock, which was a common real-time clock card in Apple II+ and IIe systems; other clock hardware required replacing the Thunderclock driver with a driver for the other clock. ProDOS, unlike earlier Apple DOS versions, has its developmental roots in [[Apple SOS|SOS]], the [[operating system]] for the ill-fated [[Apple III]] computer released in 1980. Pre-release documentation for ProDOS (including early editions of ''Beneath Apple ProDOS'') documented SOS error codes, notably one for switched disks, that ProDOS itself could never generate. Its disk format and programming interface are completely different from those of Apple DOS, and ProDOS cannot read or write DOS 3.3 disks except by means of a conversion utility; while the low-level [[track (disk drive)|track]]-and-[[disk sector|sector]] format of DOS 3.3 disks was retained for 5.25-inch disks, the high-level arrangement of files and directories is completely different. For this reason, most [[machine code|machine-language]] programs that run under Apple DOS will not work under ProDOS. However, most BASIC programs work, though they sometimes require minor changes. A third-party program called [[DOS.MASTER]] enables users to have multiple virtual DOS 3.3 [[disk partitioning|partitions]] on a larger ProDOS volume. With the release of ProDOS came the end of support for [[Integer BASIC]] and the original Apple II model, which had long since been effectively supplanted by [[Applesoft BASIC]] and the [[Apple II Plus]]. Whereas DOS 3.3 always loads built-in support for BASIC programming, under ProDOS this job is given to a separate system program called {{mono|BASIC.SYSTEM}}, which one launches to run and write Applesoft BASIC programs. BASIC itself continued to be built into the Apple ROMs; {{mono|BASIC.SYSTEM}} is merely a [[command interpreter]] enhancement that allows BASIC programs to access ProDOS by means of the same "Control-D" text output they had used under DOS 3.3. {{mono|BASIC.SYSTEM}} alone requires about as much memory as the whole of DOS 3.3. Since the ProDOS [[Kernel (operating system)|kernel]] itself is stowed away in the "[[Apple_II_(original)#Programming_languages|Language Card]]" RAM, the usable amount of RAM for BASIC programmers remains the same under ProDOS as it had been under DOS 3.3. Despite ProDOS's many advantages, many users and programmers resisted it for a time because of their investment in learning the ins and outs of Apple DOS and in Apple-DOS-based software and data formats. A contributing reason was that ProDOS allows only 15 characters in a [[filename]] compared to Apple DOS's 30. But Apple's [[integrated software]] package [[AppleWorks]], released in 1984, proved a compelling reason to switch, and by the end of 1985 few new software products were being released for the older operating system. Apple IIs continued to be able to boot the older DOS (even the [[Apple IIGS|Apple II<small>GS</small>]] can boot the older DOS floppies) but as 3.5" floppies and hard disks became more prevalent, most users spent the bulk of their time in ProDOS. The [[Apple IIe]], also released in 1983, was the first Apple II computer to have 64 KB of memory built in. For a while, Apple shipped both DOS 3.3 and ProDOS with new computers. The original ProDOS was renamed ProDOS 8 when ProDOS 16 was released to support the 16-bit [[Apple IIGS|Apple II{{sc|gs}}]] computer, although ProDOS 16 (which was 8-bit at its core) was soon replaced by [[Apple GS/OS|GS/OS]]. ==Requirements== All editions of ProDOS require an Apple II or compatible. ProDOS 8 requires 64 KB of memory to run. The original ProDOS (8) 1.0 through 1.0.2 requires only 48 KB for the kernel, but nearly all programs, including the {{mono|BASIC.SYSTEM}} needed to use [[Applesoft BASIC]], require 64 KB, making a 48 KB system useless for ProDOS as a practical matter, and support for 48 KB machines was removed in version 1.1. ProDOS 8 version 2.x requires a [[WDC 65C02|65C02]] or later (65802, [[65816]]) [[central processing unit|CPU]]. ProDOS 8 2.x runs in 64 KB, but the utility programs on the system disk require 128 KB. Systems with a 6502 CPU instead of a 65C02 must use ProDOS 8 versions prior to version 2.0. ProDOS 16 requires an [[Apple IIGS]]. ===Unlicensed Apple II clones=== With the release of ProDOS version 1.01 and higher, a check was added to see if it was running on an official Apple-manufactured computer. If the word "Apple" is found in the computer's [[read only memory|ROM ]] [[firmware]], ProDOS will load up as normal. If anything else is found (e.g. "Golden", "[[Franklin Electronic Publishers|Franklin]]", "Elite") ProDOS refuses to run, locking up at the boot [[splash screen]]. This measure was taken by Apple Computer to discourage use of unlicensed Apple II [[clone (computing)|clones]]. It is still possible to run newer versions of ProDOS on clones by applying a small byte [[patch (computing)|patch]] to a given version of ProDOS. Some users go as far as replacing their physical ROM chip(s) with an illegally copied version of Apple's own ROM, or a custom patched ROM with "Apple" added in the name. ==Disk support== ProDOS 8 natively supports [[Disk II]]-compatible floppy drives, a [[RAM drive]] of approximately 59 KB on computers having 128 KB or more RAM, and block devices whose controllers support the [[Apple Pascal|Pascal]] firmware protocol, a standardized method of accepting block reads and writes originally introduced for use with the [[UCSD Pascal|UCSD p-System]]. This latter category includes 3.5" floppy drives and hard drives. Custom [[device file#Block devices|block device]] drivers can be hooked into the OS as well. ==File system== ProDOS uses the same [[file system]] as the earlier [[Apple SOS]] for the [[Apple III]]. The SOS/ProDOS file system is native to [[Apple SOS]], ProDOS 8, ProDOS 16, and [[Apple GS/OS|GS/OS]]. Some [[classic Mac OS]] versions also come with a [[Apple File Exchange|file system translator]] to handle this file system. A volume is allocated in 512-byte blocks. (5.25" floppy disks are still formatted using 256-byte sectors, as this is the format required by the controller ROM to boot the disk. ProDOS simply treats pairs of 256-byte sectors as a single block on such drives.) A volume can have a capacity of up to 32 megabytes, and each file can be up to 16 megabytes. Each volume (floppy disk or hard drive partition) has a "volume name", a filename which is used as the base [[directory (computing)|directory]] name; having two volumes with the same volume name can result in conflicts. If necessary, ProDOS searches all available drives to find a named volume. [[Directory (computing)|Subdirectories]] are supported, and the concept of a "prefix" (working directory or current path) was provided to make working with subdirectories easier. File, directory, and volume names can be 1 to 15 characters, starting with a letter, then containing more letters, digits or periods. Each file entry also contains the 16-bit (2-byte) pointer to the block containing the beginning of the file (or its block index); a 16-bit block count; a 24-bit (3-byte) file size; an 8-bit (1-byte) [[file format|filetype]]; a 16-bit auxiliary type (the meaning of which depends upon the filetype); creation and modification [[timestamp]]s; and data related to how the file is stored on the volume. [[Sparse file]]s are supported, but files are never "sparsified" by removing zero-filled blocks. The volume header contains similar information as relevant to volumes. Directories (including the [[root directory]]) are sequentially indexed, with each block starting with the address of the previous block (or zero if none) and the subsequent block (or zero if none). The root directory on most disks is initialized to 4 blocks, allowing 51 entries (excluding the volume header). It never changes in size, except by manual intervention with special tools. Subdirectories begin at one block, and grow automatically as needed. Normal files are progressively indexed. Single-block files (under 513 bytes) have no index block; the directory entry points directly to the block of file data. Files with between 2 and 256 blocks (513 bytes to 128 KB) of data have a single index block, to which the directory entry points, which contains a list of up to 256 data block addresses. Larger files have a master index block containing a list of up to 256 index block addresses. When the Apple IIgs was introduced, a new storage format was introduced for files with two forks, as was typical for IIgs system and program files; the directory entry points to an informational block that tells the computer the storage format of the two forks. These files cannot be read or written natively by ProDOS 8, though the volume itself remains compatible. The volume has a bitmap of used blocks. Other than this, there is no central [[File Allocation Table|file allocation table]]. A ProDOS 8 volume formatted by Apple's tools has a [[boot sector]] that supports booting both ProDOS and SOS depending on what computer it is booted on. Block 0 is the Apple II boot block and block 1 boots SOS. This allows a disk to be used to boot on either Apple II or Apple III computers by putting both operating system kernels in the top directory: the Apple II boot sector looks for the file {{mono|PRODOS}} and the Apple III boot sector looks for the file {{mono|SOS.KERNEL}}.<ref>{{cite web | url = http://apple2history.org/history/ah15.html#SOS | work = Apple II History | title = Chapter 15: DOS 3.3, ProDOS & Beyond | date = 2001-07-07 | first = Steven | last = Weyhrich | access-date = 2003-06-27 | archive-url = https://web.archive.org/web/20080917065143/http://apple2history.org/history/ah15.html#SOS | archive-date = 2008-09-17 | url-status = dead }} Weyhrich source: {{cite journal | title = Road Maps To Apple II Disks: DOS 3.3, CP/M, Pascal, and ProDOS | first = Skillman | last = Hunter | journal = [[Call-A.P.P.L.E.]] |date=February 1985 | pages = 10β21 | location = [[Renton, Washington]] | publisher = [[Apple Pugetsound Program Library Exchange]] | issn = 8755-4909 | oclc = 8898855 }}</ref> Third-party formatting utilities often did not provide the SOS boot block, and some would even mark block 1 available for user data. ProDOS has no kernel support for other file systems. If necessary, a conversion utility on the main system disk is used to transfer files individually between ProDOS and older [[Apple DOS]] 3.3 disks. Because they use a different low-level disk format than DOS 3.3 and ProDOS, transferring data from DOS 3.2 disks to ProDOS is a two-step process using a DOS 3.3 disk as an intermediary (utilizing the DOS 3.3 utility MUFFIN or similar). ==See also== *[[Apple GS/OS]] *[[GEOS (8-bit operating system)]] ==References== {{reflist}} ;Notes * Don Worth and Pieter Lechner. ''Beneath Apple ProDOS''. Quality Software, Chatsworth, California, 1984. {{ISBN|0-912985-05-4}} ==External links== * [http://apple2history.org/history/ah15/ Apple II History: DOS 3.3, ProDOS & Beyond] * [https://web.archive.org/web/20090318120256/http://apple2.info/ Apple II Information Reference - Apple2.info] - ProDOS 8 Technical Reference Manual, wiki formatted, with FAQs, compatibility guides, etc. * [http://www.easy68k.com/paulrsm/6502/PDOS8TRM.HTM ProDOS 8 Technical Reference Manual] - HTML formatted * [https://web.archive.org/web/20110816092435/http://syndicomm.com/download/Apple_II_System_Disk_4.0.2.img Apple II System Disk 4.0.2] - Apple II System Disk 4.0.2, with ProDOS 8 2.0.3 and the system utilities, as an 800K DiskCopy format image * [https://apple2online.com/index.php?p=1_64_Apple-Operating-Systems Apple Operating Systems] {{Webarchive|url=https://web.archive.org/web/20191122210543/https://apple2online.com/index.php?p=1_64_Apple-Operating-Systems |date=2019-11-22 }} - DOS, ProDOS 8, GS/OS, Basic.System {{Apple Inc. operating systems}} {{Disk operating systems}} {{DEFAULTSORT:Apple Prodos}} [[Category:Apple II software|ProDOS]] [[Category:Apple Inc. operating systems|ProDOS]] [[Category:Disk operating systems]] [[Category:Discontinued operating systems]] [[Category:1983 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Apple Inc. operating systems
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Disk operating systems
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox OS
(
edit
)
Template:Mono
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Sc
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)