Subject: Re: ProDOS vs. Dos 3.3 From: dempson@actrix.gen.nz (David Empson) Date: Thu, Oct 22, 1998 607(H Message-id: <1dhbszd.1iquhrybtauaxN@dempson.actrix.gen.nz> Nathan Olson wrote: > Being as I haven't seen any posts related to my question I'll go ahead and > whip it out there. > > What are the pros/cons of running ProDOS vs Dos 3.3? Here is a list of significant differences that I can think of. Any additions or comments welcome. DOS 3.3 only supports 5.25" disks, unless you patch it. It is difficult to support more than one custom device type, as the patches tend to conflict with each other. ProDOS has built-in support for 5.25" disks and a RAM disk (on a IIe or later machines), and can support many other block-oriented devices with assistance from a driver supplied by the firmware on the interface card, or with a RAM-based driver. The largest volume size supported by DOS 3.3 is 400KB, no matter how much patching you do. (Some patches work around this by using multiple volume numbers to divide a volume into separate 400K chunks, but this is clumsy to work with.) The largest volume size supported by ProDOS is 32MB. Even this is a problem on large hard drives, but partitioning is easy enough. DOS 3.3 filenames can contain almost any characters (including spaces and control characters), and can be up to 30 characters long. ProDOS filenames are restricted to letters, digits and periods (dots), and can be up to 15 characters long. On an 8-bit Apple II, ProDOS doesn't support lower-case filenames. Some applications, notably AppleWorks, allow you to use lower case letters and spaces in filenames by encoding this information specially. On a IIgs under GS/OS, the ProDOS file system can support lower case letters in filenames, but they appear as upper case in ProDOS-8 programs. DOS 3.3 is a "flat" file system - no support for subdirectories. It has a limit of 105 files per disk (unless you patch the disk structures to create a larger directory). ProDOS supports subdirectories, and has no arbitrary limit on the number of files per disk, except that you can't have more than one file per block, allowing for directories and file system overhead. On a 5.25" disk, this gives you an upper limit of 257 files, each no more than 512 bytes long (with fewer files if any are larger than this). There is a limit of 51 files in the root directory, so you must use subdirectories if you want more files than this. (Subdirectories allow you to organise files sensibly, rather than just having them all jumbled up in one big list. This isn't much of a problem for 5.25" disks, since you can fit very much on them anyway.) DOS 3.3 has very limited support for file types. It has four standard file types: text, binary, applesoft, integer; there are four special file types that are occasionally used: "S" (special?), "R" (relocatable) and two others which are also called "B" and "A" (not to be confused with Binary and Applesoft, even though they use the same letters!) ProDOS has a well defined file type and auxiliary type mechanism, that allows for a wide variety of file types with different purposes. It has TXT, BIN and BAS (Applesoft), corresponding to the DOS 3.3 types, but also SYS (ProDOS system file, i.e. application, as distinct from BIN which might just be a memory image such as a screen dump), VAR (Applesoft saved variables), document types for most applications, a variety of operating system file types and different executable file types for GS/OS (on the IIgs), various compressed archive types, and lots more. You need appropriate applications to deal with all of these, but almost any application can immediately identify which files it can deal with, without having to do detailed analysis of file contents. Related to this, DOS 3.3's text files have no explicit length field: their length can only be determined in terms of the number of sectors used, or by looking for a zero byte at the end of the file (only valid for sequential files, not random access ones). ProDOS stores the exact file size (measured in bytes), so it is much more efficient at dealing with text files. ProDOS can date-stamp and time-stamp files. This is most useful if you have a real time clock, but it handy even if you have to type in the date after booting the machine. There are patches for DOS 3.3 to support this, but the only one I've seen works by shortening the maximum filename length, and isn't compatible with some programs. ProDOS is much faster at doing disk I/O on a 5.25" disk than a standard version of DOS 3.3, but using a third-party version such as Pronto-DOS or Diversi-DOS eliminates most of this advantage. Using subdirectories significantly slows down operations on a 5.25" disk. Without patches (or a third-party version, or running a program), DOS 3.3 can't easily tell you how much free space there is on a disk. ProDOS has this information easily available, and it is reported in every catalog. DOS 3.3 tends to make every disk bootable, wasting three tracks. It is possible to remove the bootable DOS image, but you still have to waste one track, or patch DOS to allow all but one sector in that track to be reused. It is impossible to tell from the catalog whether a DOS 3.3 disk is bootable. With ProDOS, a bootable disk is one which contains the file called PRODOS. You can easily delete this file or copy it back onto a disk with standard file copy utilities. By default, a newly initialized ProDOS disk is not bootable. Setting up a disk to boot into something other than a BASIC program requires patching DOS 3.3. ProDOS allows any application (SYS file) to be launched when the disk is booted, just by making sure the appropriate file is named correctly and is the first such file in the root directory. (Later versions take you to a program selector if you boot a disk with no startup application.) For the programmer, ProDOS is a godsend compared to DOS 3.3. ProDOS has a very well documented interface for machine language programs to access all the features of the operating system. DOS 3.3 has limited capabilities that are mainly documented by third parties, and the functionality is rather limited compared to ProDOS. There are lots of other improvements under the hood in ProDOS, but I won't bore everyone with the details. The vast majority of applications for the Apple II only run under ProDOS. Only very old software runs under DOS 3.3, with some rare exceptions such as Kermit, which works under either operating system. Some disadvantages of ProDOS: A bootable ProDOS disk that takes you into Applesoft BASIC will have less free space than a corresponding DOS 3.3 disk. ProDOS plus BASIC.SYSTEM takes up considerably more memory than DOS 3.3, if DOS has been moved into the language card (e.g. with Diversi-DOS). ProDOS does not support Integer BASIC. Applesoft BASIC programs run a little slower in ProDOS (due to BASIC.SYSTEM keeping TRACE active and monitoring the output). I feel this is outweighed by the many major improvements in the programming environment. You cannot initialize disks from the BASIC command prompt in ProDOS - you have to run a utility program. ProDOS requires a 64K machine (48K main RAM plus 16K language card). DOS 3.3 will work on an Apple ][ with as little as 16K of main RAM and no language card, though you won't have much memory to work with. This is hardly an issue nowadays. > What is the latest version of ProDOS and is it available on disk for an > Apple Disk II drive? The last version of ProDOS is ProDOS-8 2.0.3. It requires a 65C02 or later processor, which usually means an Apple IIgs, IIc or enhanced IIe. The last version of ProDOS which works on a 6502 processor (Apple ][+ or unenhanced IIe) is ProDOS-8 1.9. There are companies that can sell you ProDOS-8 2.0.3 on floppy, and it is possible to download it as a disk image from one of Apple's FTP sites (this won't help you unless you have comms software and the necessary disk image support software). I don't know if anyone can supply ProDOS-8 1.9 any longer. -- David Empson dempson@actrix.gen.nz Snail mail: P.O. Box 27-103, Wellington, New Zealand