💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › Languages.Programming › ProDO… captured on 2023-04-20 at 00:43:05.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

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 <natolson@linkup.net> 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