[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is PRODOS?



In article <36hm5i$p8b@vixen.cso.uiuc.edu>,
Mark W. Blunier <blunier@prairienet.org> wrote:
> 
> Is PRO-DOS entirely different from Apple-dos? Does it
> change the way apple dos works?  Is it it needed to
> run the binski programs?

Where have you been since 1983?  :-)

The short answers:

1. Yes, Apple ProDOS is entirely different from Apple DOS 3.3.
2. No, it doesn't modify the way that DOS 3.3 works - it completely
replaces DOS 3.3.
3. Yes, it is needed to use BinSCII.

The long answer:

Apple have released several operating systems for the Apple II over
the years.  The main ones for 8-bit Apple II machines (i.e. Apple ][,
][+, //e, //c, //c+) are:

DOS 3.3  (the last version of the original Apple Disk Operating System)
ProDOS

There are others, including Apple Pascal.

The original operting system was DOS 3.1 (I don't think 3.0 was ever
released publically).  It was followed by DOS 3.2, 3.2.1 and 3.3.
There were minor revisions to DOS 3.3 as recently as 1983 (to improve
compatibility with the //e).

DOS 3.3 has major limitations, the main ones being:

- It doesn't support disks larger than 400k, without using ugly
techniques to switch between multiple logical volumes on the same
physical disk, each of which is limited to 400k.
- It doesn't support any type of disk drive except a 5.25" drive,
unless it is patched.
- It doesn't support hierarchical directory structures (i.e. subdirectories).
- There aren't enough file types.
- File structures are inefficent when dealing with large files, and
have embedded information which makes the files a little clumsy to
deal with.
- It is not obvious whether a particular DOS 3.3 disk is bootable
(without trying to boot it), and it is a non-trivial operation to set
up a non-bootable disk (by removing the operating system to save space).
- The operating system itself is rather primitive, and difficult to use
for assembly language programmers.  It carries around a lot of
"baggage" for dealing with BASIC programs.
- So many patches were made to DOS 3.3 that it was becoming impossible
to add new features without making a lot of programs incompatible.

To get around these problems, Apple released ProDOS in late 1983.  It
is a totally different operating system, based on the Apple ///'s SOS
operating system (the same file system, and a similar calling structure).

ProDOS is now called ProDOS-8 to distinguish it from ProDOS-16, the
early version of the IIgs operating system.

ProDOS is not compatible with DOS 3.3.  There are programs which can
transfer files between ProDOS and DOS 3.3 disks.  DOS 3.3 programs
will not generally run under ProDOS, and vice versa.  There are some
exceptions to this, particularly in the case of Applesoft BASIC
programs, a large proportion of which can be transferred to ProDOS and
will work with minor, if any, changes.

ProDOS-8 has been the standard operating system for the Apple II since
its release.  DOS 3.3 has been getting less and less popular since
then, especially with the advent of large floppy disks (3.5" disk
hold 800k) and hard drives.

ProDOS-8 can handle disks that hold up to 32 megabytes of data.  It
supports subdirectories, recording of file creation and modification
date and time, a LOT more filetypes than DOS 3.3 (256 "main" types,
which can be combined with the "auxiliary type" to allow thousands of
distinct types of files), better handling of large files (maximum file
size is 16 megabytes), and a simple but powerful interface for
assembly language programmers.

ProDOS-8's internal structure is largely hidden from programmers, and
Apple strongly discourages direct patches of ProDOS.  A standard
interface section is provided to call ProDOS and to patch in certain
types of software, such as disk device drivers and alternative clock
drivers.

ProDOS-8's main benefit is probably its device independence.  It
includes built-in support for 5.25" drives and a 64k RAM disk in the
auxiliary 64k memory of a IIe, IIc or IIgs.  Other devices are
supported via device drivers included in the ROM on the interface
card.  ProDOS-8 can access any block-structured device that uses 512
bytes per block (or can be made to access larger or smaller blocks in
this fashion).

In DOS 3.3, the operating system has three main components, all of
which are held together in one chunk of code.  They are: RWTS (the
low-level disk I/O functions, which deal with disks at the track and
sectr level), the File Manager (deals with files, the catalog and the
VTOC structures on the disk) and the BASIC interface (the command
interface you're familiar with).

In ProDOS, most of these components are separated out.  The low-level
disk I/O functions are either inside the PRODOS file, in ROM, or in a
separate program which patches itself into the ProDOS device table.
The file management functions are the major portion of the PRODOS
file, and form the ProDOS MLI (Machine Language Interface), which
sits in the "language card" memory while ProDOS-8 is running.

All support for Applesoft BASIC is included in a separate program:
BASIC.SYSTEM.  If a machine language program doesn't need any help
from Applesoft BASIC, this file doesn't need to be loaded, and the
memory it would normally used is available for other purposes.

I could probably go on for hours, but that covers the main points
about ProDOS.
-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand