💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › System › GSOS.P8.Anatomy › -I… captured on 2024-02-05 at 14:48:57.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

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

Introduction
to

ProDOS

In this book, we take a close look at the two standard disk operating systems for the
Apple II family of computers: GS/OS (Apple IIgs/Operating System) and ProDOS 8
(Professional Disk Operating System, 8-bit version).

GS/OS is the primary disk operating system for the Apple IIgs with ROM version

01 or higher. It does not run on any other model in the Apple II family. GS/OS takes
advantage of the advanced features of the 16-bit 65816 microprocessor in the IIgs,
such as the powerful instruction set and the ability to directly address 16Mb of
memory. It is the successor to ProDOS 16, an interim IIgs operating system which
Apple provided from the introduction of the IIgs in September 1986 to September
1988 For the sake of compatibility, GS/OS supports all ProDOS 16 commands, so
older applications written to run under ProDOS 16 will also run properly under GS/OS.

ProDOS 8 works with the Apple II Plus, IIe, and IIc. It also works on a IIgs
running in IIe/IIc emulation mode, and you can switch between it and GS/OS if
GS/OS was the operating system you booted from. ProDOS 8 is a fairly simple 8-bit
operating system that works in the 6502 (or 65C02) microprocessor's 64K memory
space only. Nearly every ProDOS 8 command has a GS/OS equivalent, but the method
used to invoke the command is different, at least for assembly-language programs.

GS/OS and ProDOS 8, like all operating systems, manage the flow of data to and
from a storage medium, such as a 5.25- or 3.5-inch floppy disk or a hard disk. (GS/OS
also manages character devices like the keyboard and the video hardware.) They do
this by translating the high-level disk commands an application program uses into the
low-level instructions needed to communicate directly with the disk drive controller.

The operating system also defines the data structures used to store groups of
related data, called files, on the disk; the directories where it stores the names of files
(and other file attributes); the method it uses to keep track of what parts of the
medium are in use; the method it uses to load itself from disk; and related matters.

I

GS/OS and ProDOS 8 work well with all disk devices Apple sells for the Apple II
family: the Apple 5.25 Drive (and its predecessors), the HD20SC hard disk, the
UniDisk 3.5 and the Apple 3.5 Drive, the Apple II Memory Expansion card (a
RAMdisk device), and the AppleCD SC CD-ROM drive. ProDOS 8 expects the media
used in these devices to be formatted for the ProDOS file system, but GS/OS
understands foreign file systems as well (if you provide it with the file system
translator files described below).

The two standard drives for Apple II computers are the 5.25-inch drive (140K
capacity) and the 3.5-inch drive (800K capacity). They interface to the system through
a cable connected to a disk controller card plugged into one of the slots at the back of
the Apple IIgs, IIe, or II Plus (slot 6 is recommended for 5.25-inch drives; slot 5 for
3.5-inch drives). On all but the first model of the slotless Apple IIc, the disk control-
lers for both types of drives are built in. The IIgs also has a built-in disk drive port for
both types of drives; you can use it instead of two separate plug-in controller cards.

Apple's 20Mb hard disk, the HD20SC, works with all members of the Apple II
family except the Apple IIc. Unlike a floppy drive, its magnetic medium cannot be
removed from the drive unit. This device can access information much more quickly
and hold much more of it than a 5.25- or 3.5-inch drive. It interfaces to the Apple II
through a SCSI (Small Computer System Interface) controller card, one quite dif-
ferent from the one used with floppy drives.

APPLE II OPERATING SYSTEMS -A HISTORY

When the Apple II debuted in 1977, the cassette recorder was the only mass-storage
device available to its users. The reason was simple: The original Apple II had a
built-in cassette port that made it convenient and simple to hook up a recorder, but an
Apple-compatible disk drive and controller had yet to be invented.

Working with normal cassette tape as a storage medium is no treat. The program
storage and loading rate is very slow, and you're never sure if glitches on the tape
have rendered the program unreadable until it's too late to recover. Furthermore, files
on cassette tape cannot be named or automatically accessed by the Apple II, so you
must keep meticulous written records of what programs are stored where so that you
can properly position the tape by hand.

Steve Wozniak, the inventor of the Apple II, was apparently as frustrated with
cassette tape as everyone else. In the winter of 1977-1978, he designed a disk
controller peripheral card for a standard disk drive unit that was later to be called the
Disk II. At the same time, Bob Shepardson, and later Randy Wigginton, Dick Huston,
and Rick Auricchio, were busy writing a disk operating system that would make it easy
for programmers to create, organize, and access files on the 5.25-inch disk medium
that the disk drive uses.

Apple eventually shipped the Disk II, its controller card, and the first released
version of the disk operating system (DOS 3.1) in the early summer of 1978. (The Disk
II was later renamed the UniDisk, then the Apple 5.25 Drive.) This was probably the

2 An Introduction to GS/OS and ProDOS 8

most important event in the early history of Apple because it meant, for the first time,
useful business software could be written for the Apple II. Such software needs to
create and manipulate large database files quickly and easily, a feat that would be next
to impossible if cassette tapes were used instead of disks.
Several changes were made to DOS 3.1 in the months following its initial release to

fix the inevitable bugs that wriggled to the surface. DOS finally stabilized at version
3.2.1 by mid-1979. This early version of DOS formatted disks with 35 data tracks and
with 13 256-byte data sectors per track (for a total of 113.75K of storage, where 1K =
1024 bytes). In fact, the program in ROM on the disk controller card could start up (or
boot) only disks using this specific 13-sector format.

Apple also released its Pascal operating system in 1979. This system manages files
quite differently from either DOS 3.x or ProDOS. To transfer a Pascal textfile to a
DOS disk (and vice versa), you can use utility programs available from commercial
sources and user groups.

Apple upgraded DOS 3.2.1 substantially in 1980 to support the new 16-sector--
per-track formatting scheme used by Apple Pascal. The result was DOS 3.3, a version
still current when Apple released ProDOS 8 in early 1984. The formatting change also
forced a change in the ROM boot program on the disk controller card. The main
advantage of switching to the new formatting scheme was that disks could hold an
additional 16.25K of information (for a total of 140K). The main disadvantage was that
DOS 3.3 could not read files directly from a DOS 3.2.1-formatted disk (and DOS 3.2.1
disks could not be directly booted). Fortunately, Apple supplied a program called
MUFFIN for transferring files from the old disk format to the new one and another
program called BOOT13 for booting DOS 3.2.1 disks with a 16-sector drive controller.

Apple first released ProDOS 8, then called simply ProDOS, in January 1984. It
runs on any Apple IIe, Apple IIc, or Apple IIgs or on an Apple II Plus with a 16K
memory card installed in peripheral slot zero. It also runs on the original Apple II
with a 16K memory card if the Applesoft language, not the Integer BASIC language,
is installed in ROM. With the release of ProDOS 8, Apple served notice that it would
no longer release new software products that use DOS 3.3 and urged independent
software developers to do the same. Nevertheless, DOS 3.3 remains a popular oper-
ating system, particularly among developers of educational software, and new pro-
grams that use it are still quite common.

A ProDOS 8-compatible controller card for the 5Mb ProFile hard disk that Apple
had released a couple of years earlier for use with its Apple III system also came out
in January 1984. On bootup, ProDOS 8 automatically recognizes the presence of the
ProFile and interacts with it just as if it were another 5.25-inch disk device (except
that ProDOS 8 knows the ProFile has a much greater storage capacity). The internal
structure of the ProDOS file system is such that it can easily deal with even higher-
capacity devices; it supports a volume size of up to 32Mb.

Apple later replaced the ProFile with the 20Mb HD20SC hard disk, a Small
Computer Systems Interface (SCSI) device. It connects to the system through the
Apple II SCSI interface card.

Apple II Operating Systems - A History 3

In September 1985, the UniDisk 3.5 drive made its first appearance. Its medium is

a 3.5-inch, removable, hard-shell disk with a storage capacity of 800K. ProDOS 8
automatically recognizes its controller card on bootup, so there is no need to install a
special driver. (Apple later began shipping a version of the IIc with a built-in
controller for the UniDisk 3.5.) Apple also released an expansion slot Apple II
Memory Expansion card, which ProDOS 8 recognizes as a RAMdisk on bootup.

Apple announced the Apple IIgs in September 1986. At this time, Apple renamed the
original ProDOS as ProDOS 8 and released ProDOS 16, an operating system specifically
for the IIgs. Although ProDOS 16 formats disks and stores files on disk in the same way
as ProDOS 8 (meaning the two can co-exist on one disk), they are incompatible at the
programming level. Apple released ProDOS 16 to take advantage of the full 16Mb
memory space the 65816 uses; ProDOS 8 works in a minimal 64K memory space only.

With the IIgs, came the Apple 3.5 Drive, another drive that uses 800K, 3.5-inch,
hard-shell disks. The difference between it and the UniDisk 3.5 is that it doesn't have
the intelligent processor built in to the UniDisk 3.5, and it works on the IIgs only.

Another version of the IIc debuted in September 1986. This one has a connector
you can attach a memory expansion card to. Like the Apple II Memory Expansion
card, ProDOS 8 recognizes this card as a RAMdisk.

In September 1988, Apple began providing GS/OS, a new Apple IIgs operating
system intended to replace ProDOS 16. Since GS/OS understands all ProDOS 16
commands, all ProDOS 16-based programs will work just fine under GS/OS. But
GS/OS also supports a new set of operating system commands that is much more
powerful than the ProDOS 16 set. One important new feature of GS/OS is that it is
can access disks formatted for the standard ProDOS file system and disks formatted
for foreign file systems like High Sierra (for CD-ROMs), HFS (used by the Macin-
tosh), and MS-DOS. Access to foreign operating systems is enabled by putting file
system translator (FST) modules on the GS/OS system disk. In the initial release of
GS/OS, Apple provided FSTs for the ProDOS and High Sierra file systems.

Another model of the IIc, the Apple IIc Plus, also came out in September 1988. It
features a built-in 3.5-inch drive that works with ProDOS 8.

Early versions of ProDOS 8 suffered from several minor but annoying bugs that
were removed in later versions. As of this writing, the current version is 1.7. GS/OS, a
much more complex operating system, is not now nearly as stable as ProDOS 8. Apple
releases new versions about twice a year.

COMPARING PRODOS 8 WITH DOS 3.3

DOS 3.3 is made up of two main modules: the I/O (input/output) driver, which commu-
nicates directly with a 5.25-inch disk controller, and the Applesoft command interpreter,
which parses and executes the Applesoft disk commands that DOS 3.3 provides (OPEN,
READ, CATALOG, and so on). The equivalent modules in ProDOS 8 are split into two
program files called PRODOS (the I/O driver) and BASIC.SYSTEM (the Applesoft
command interpreter). On many application disks, PRODOS automatically loads

4 An Introduction to GS/OS and ProDOS 8

BASIC.SYSTEM when the disk starts up. Thus it is necessary to compare DOS 3.3 with
the PRODOS-BASIC.SYSTEM combination and not simply with PRODOS proper.
Table 1-1 gives short descriptions of the Applesoft disk commands that BASIC.SYSTEM and DOS 3.3 provide. Most of these commands are available in both
environments, but some are unique to one or the other. In general, the BASIC.SYSTEM versions of the duplicated commands are more powerful than their DOS 3.3
counterparts because they support more command parameters. (We review these
parameters in Chapter 5.) Moreover, some commands behave slightly differently in
one system from how they behave in the other.

Not surprisingly, the more powerful PRODOS-BASIC.SYSTEM environment oc-
cupies a lot more memory space than DOS 3.3 does; in fact, it uses almost twice as
much space. Fortunately, most of ProDOS 8 resides in a 16K bank-switched RAM
space that does not conflict with the space the Applesoft interpreter uses. This space is
built in to an Apple IIe, IIc, and IIgs and can be added to an Apple II or Apple II
Plus by installing a 16K memory card in slot zero. Two side effects of the use of this
space by ProDOS 8 are that ProDOS 8 cannot function with a program that uses the
memory card for data storage or with Integer BASIC, the original version of Apple
BASIC. In a DOS 3.3 environment, Integer BASIC loads into the same bank-switched
RAM area ProDOS 8 uses and then is selected by throwing a special software-
controlled switch.

The other major difference between DOS 3.3 and BASIC.SYSTEM is in the
handling of file buffers. A file buffer is a memory area an open file uses; it holds the
data contained in the active part of the file as well as information defining the location
of the file on the disk. When DOS 3.3 first starts up, it automatically sets up three
such buffers; a different number (from 1 to 16) can be reserved using a command
called MAXFILES. The DOS 3.3 file buffers are each 595 bytes long and are stored
between the top of the Applesoft program space (this address is stored at $73/$74 and
is called HIMEM) and the start of the DOS 3.3 code (at $9D00).
ProDOS 8, on the other hand, initially sets up no file buffers; it dynamically
allocates and de-allocates file buffers as files are opened and closed. When a file is
opened, ProDOS 8 lowers HIMEM by 1024 bytes and assigns the buffer to the
1024-byte space beginning at HIMEM + 1024. When a file is closed, the file buffers
below its own are repositioned, and then HIMEM is raised by 1024 bytes. (A total of
eight files can be open simultaneously.) Because ProDOS 8 uses this dynamic space
allocation method, it is not possible to use the DOS 3.3 technique of reserving a safe
space for an assembly-language program by lowering HIMEM and storing the pro-
gram between the current and previous HIMEMs. But there is an alternative method
for freeing up space above HIMEM, and we examine it in Chapter 5.

Important Features of ProDOS 8 and BASIC.SYSTEM
A PRODOS-BASIC.SYSTEM environment supports several useful features that im-
prove program execution speed and permit easy integration of non-Apple devices into
the system. Here are some of the more important features.

Comparing ProDOS 8 with DOS 3.3 5

Table 1-1 Comparing the BASIC.SYSTEM and DOS 3.3 Applesoft disk commands

APPEND Opens a file and prepares to add data to it Yes Yes
BLOAD Loads a file (usually binary) Yes Yes
BRUN Loads and executes an assembly-language program that is in a binary file Yes Yes
BSAVE Saves a file (usually binary) Yes Yes
CATALOG Lists all the files on the medium (long form) Yes Yes

CLOSE
DELETE
EXEC
IN#
LOAD
LOCK
NOMON
OPEN

POSITION

PR#
READ

RENAME
RUN

SAVE

UNLOCK
VERIFY

WRITE

Closes a file
Deletes a file

Executes commands from a textfile
Redirects character input
Loads an Applesoft program
Locks a file

[Permitted but ignored under ProDOS 8]
Opens a file

Prepares to read from or write to a specific
position in the file
Redirects character output
Reads from a file
Renames a file

Loads and executes an Applesoft program
(or, if no filename is specified, executes the
program in memory)
Saves an Applesoft program
Unlocks a file

Checks for the existence of a file; if no
filename is specified, displays a copyright
notice

Writes to a file

6 An Introduction to GS/OS and Pro DOS 8

Yes Yes
Yes Yes
Yes Yes
Yes Yes
Yes Yes
Yes Yes
Yes Yes
Yes Yes
Yes Yes

Yes Yes
Yes Yes
Yes Yes
Yes Yes

Yes Yes
Yes Yes
Yes Yes

Yes YesTable 1-1 Continued

- (dash) Executes an Applesoft, binary, text, or

system file

BYE Transfers control to another system program
CAT Lists the files on the medium (short form)
CHAIN Transfers control to another Applesoft
program while maintaining the current
variables

CREATE Creates a file (usually a directory file)
FLUSH Writes the contents of a file buffer to the
medium

FRE Performs Applesoft garbage collection
PREFIX Sets up the name of the active directory
RESTORE Restores Applesoft variables from a file
STORE Saves Applesoft variables to a file
FP Initializes Applesoft mode
INIT Formats a disk

INT Initializes Integer BASIC mode
MAXFILES Creates space for file buffers
MON Enables the display of DOS operations

Yes No
Yes No
Yes No
Yes Noa

Yes No
Yes No

Yes Nob
Yes No
Yes No
Yes No
No Yes
Noc Yes
No Yes
No Yes
No Yes

NOTES:

you can chain Applesoft programs under DOS 3.3 by loading and calling a subroutine called CHAIN that
is stored on the DOS 3.3 master disk.

byou can use the Applesoft FRE command to garbage-collect under DOS 3.3 (and ProDOS 8). It executes
much more slowly than the corresponding ProDOS 8 command, however.
Under ProDOS 8, you format a disk using a separate program on the ProDOS 8 master disk (either Filer or
System Utilities).

Machine Language Interface. Probably the most important feature of ProDOS 8 is
the special disk command interpreter, called the machine language interface (MLI),
which allows easy access to files using assembly-language programming techniques.
DOS 3.3 has no such interface and is very cumbersome to deal with at this level. The

Comparing ProDOS 8 with DOS 3.3 7

MLI commands perform such standard file-handling chores as opening, reading,
writing, and closing. The calling parameters for each command have been carefully
defined by Apple. We take a close look at the MLI in Chapter 4.

Date-Stamping of Files. Whenever ProDOS 8 creates or writes to files, it reads the
current time and date from a clock device (if one is installed in the system) and stores
the information in the file's directory entry on disk. When the disk is cataloged, the
time and date of creation and of last modification appears next to the filename.
ProDOS 8 works with the built-in IIgs clock and clock cards that emulate the
command set of the Thunderware Thunderclock. As we see in Chapter 8, it is possible
to install clock drivers for other types of clock cards as well.

Disk Controller Card and Device Driver Protocols. One annoying trait of DOS 3.3
is that it is very difficult to integrate foreign disk devices (non-Apple-brand hard disks,
higher-density floppy disk drives, and so on) into the system. Not so with ProDOS 8.
Apple has published a disk controller protocol recognized by ProDOS 8 that permits
such devices to be automatically installed at bootup time. This protocol defines the
addresses in the disk controller card ROM space at which information relating to the
size of the volume, the characteristics of the volume, and the address of the disk driver
subroutine responsible for performing disk I/O operations is stored. Apple has also
defined how to pass parameters to a ProDOS 8 disk driver subroutine and how the
driver returns error codes to the caller. We see how to write a disk driver subroutine
in Chapter 7.

Improved Interrupt Handling. In Chapter 6, we see that ProDOS 8 automatically
installs its own internal interrupt-handling subroutine that takes control whenever an I/O
device generates an active IRQ (interrupt request) signal. This subroutine will, in turn,
call subroutines you can install to service such interrupts. This means it is very simple to
integrate an interrupt subroutine even though another one may already be active.

Hierarchical Directory Structure. Using ProDOS 8, it is possible to create several
directories, each of which can contain several files, on one disk. This allows a common
group of files to be conveniently arranged in one directory for easier access. The
directories are organized so that each is contained within another (called the parent);
the path of directories ultimately leads back to the root directory (also called the
volume directory). The root directory is the one created and named when the disk is
first formatted. We analyze the hierarchical structure of directories in Chapter 2.

/RAM Disk Device. The Apple IIgs, Apple IIc, and Apple IIe (with an extended
80-column text card) have 64K of auxiliary memory in addition to the 64K of main
memory normally used for program storage. ProDOS 8 uses this memory space for file
storage just as if it were storage space on a floppy disk or hard disk. The RAM medium

8 An Introduction to GS/OS and ProDOS 8

is called a RAMdisk. The main differences between using the RAMdisk and conven-
tional disk media are that I/O operations execute much more quickly (after all, there
are no mechanical parts to move about) and that the RAMdisk vanishes when you turn
the power off. As we see in Chapter 2, each disk in the system has a name associated
with it (the volume name). The volume name for the RAMdisk is /RAM. We examine
the characteristics of/RAM in Chapter 7. We also examine the /RAM5 RAMdisk you
can set up on an Apple IIgs. This RAMdisk uses memory on a card you put in the
IIGS's special memory expansion slot.

Extensibility of BASIC.SYSTEM. The BASIC.SYSTEM program defines a reason-
ably simple method you can use to add more commands to the BASIC.SYSTEM
command set. We see how to do this in Chapter 5.

"Separation of Powers." Unlike DOS 3.3, the low-level ProDOS 8 command inter-
preter that performs all fundamental disk I/O operations is not mixed with the
BASIC.SYSTEM interpreter that provides the set of "English" disk commands used in
an Applesoft program. This means if you wish to write another language interpreter,
or a 100 percent assembly-language program, you can save about 12K of memory
space by loading it instead of BASIC.SYSTEM.

the Intelligent Run Command. The "dash" command is a BASIC.SYSTEM com-
mand very popular with people who do not like to type. It executes either an
Applesoft program file (just as RUN does), a binary file (BRUN), or a textfile (EXEC)
by automatically determining what type of file has been specified and then performing
the steps needed to execute such a file. Dash can also execute system program files
like BASIC.SYSTEM. (See Chapter 5 for a description of system programs. Briefly, a
system program is a standalone assembly-language program that defines a program-
ming environment or one that performs a specific function without relying on the
presence of another system program.)

Useful Parameters. Many BASIC.SYSTEM commands support useful parameters
that allow greater control (than possible with DOS 3.3) over how they are to be
executed. For example, you can use the ,@# suffix (where # represents a line
number) with the BASIC.SYSTEM RUN command to load a program and then run it
beginning at any line number. Moreover, you can use the ,E# suffix (where #
represents a memory address) to specify an ending address when using a binary file
command (BLOAD and BSAVE). You can also use a ,Ttype suffix with BLOAD or
BSAVE to work with any type of file other than standard BIN (binary) files. (type is the
three-character mnemonic for the file type: BAS for BASIC, BIN for binary, TXT for
text, and so on.) One other useful new parameter is ,F#; when reading a textfile, use
it to skip over a specified number of fields (a field is a group of characters followed by
a carriage return). We discuss parameters recognized by BASIC.SYSTEM in Chapter 5.

Comparing ProDOS 8 with DOS 3.3 9

Speed. ProDOS 8 performs disk I/O operations on a 5.25-inch disk at the rate of
about 8K bytes per second. This is significantly faster than the DOS 3.3 rate of about
1K bytes per second. Furthermore, BASIC.SYSTEM includes a version of the FRE
command that garbage-collects Applesoft string variables much faster than the Apple-
soft command of the same name; BASIC.SYSTEM also garbage-collects automatically,
before the slow Applesoft routine has a chance to do so. With BASIC.SYSTEM,
garbage collection never takes more than a few seconds, whereas under DOS 3.3, it
can take several minutes. (See Chapter 4 of Inside the Apple IIe for a description of
the garbage collection process.)

File Size and Volume Size. ProDOS 8 can deal with files that hold up to 16Mb and
with block-structured (disklike) devices that hold up to 32Mb of information. DOS 3.3
volumes cannot exceed 400K.

COMPARING GS/OS WITH PRODOS 8

The fundamental difference between GS/OS and ProDOS 8 is, of course, that GS/OS
works on the Apple IIgs only. This is because GS/OS is written in 65816 assembly
language, and it uses IIgs-specific tool sets like the Memory Manager and the System
Loader. Although most GS/OS commands have ProDOS 8 equivalents, several unique
commands make GS/OS a much richer programming environment.

Listed below are the most important differences between the GS/OS and ProDOS

8 programming environments.
1. A GS/OS application can call GS/OS commands from anywhere within the 16Mb
memory space of the 65816. A ProDOS 8 application can call ProDOS 8 com-
mands from the first 64K of memory only.

2. GS/OS applications are stored in relocatable load files, meaning they can be
loaded and run at any memory location. ProDOS 8 applications are simple binary
images of program code, so they generally run at only one memory location. (It is
possible to write relocatable ProDOS 8 applications, but it makes programming so
difficult that most programmers don't bother trying.)

3. GS/OS applications use the Apple IIgs Memory Manager tool set to ensure they
won't use memory areas already in use by other system resources. ProDOS 8
applications are responsible for their own memory management, so programmers
must be aware of what areas ProDOS 8 occupies.

4. GS/OS has 33 pathname prefixes that can be referred to by special shorthand names
like 1/ or 28/. ProDOS 8 has only one pathname prefix (called the default prefix).

5. GS/OS identifies disk devices by name, whereas ProDOS 8 identifies them by slot
and drive number.

10 An Introduction to GS/OS and ProDOS 8

6. GS/OS has a built-in disk-formatting command (Format) and a built-in cataloging
command (GetDirEntry). ProDOS 8 does not.

7. GS/OS has a command that lets you move files from one directory to another
(ChangePath). ProDOS 8 does not.

8. Under GS/OS, an application can determine its own name with the GetName
command. ProDOS 8 has no similar command although an application can deduce
its name by inspecting a pathname buffer.

9. GS/OS has an enhanced Quit command that an application can use to pass control
directly to the system program that called it, to pass control to any specified
system program, or to call another system program almost as if it were a subrou-
tine. The ProDOS 8 QUIT command can pass control only to a ProDOS 8
program selector.

10. GS/OS can create and deal with extended files, but ProDOS 8 cannot. Extended
files (sometimes called resource files) are made up of two logical parts: a data fork
and a resource fork. The data fork generally contains application-specific data, and
the resource fork generally contains a group of data structures, called resources,
that define such things as icons, text strings, and alert box templates.

11. GS/OS uses file system translators (FSTs) to provide an application with transpar-
ent access to disk volumes that use non-ProDOS file systems, such as High Sierra
for CD-ROM or Macintosh HFS, as well as the ProDOS file system. ProDOS 8
only works with disks formatted for the ProDOS file system.

12. GS/OS lets an application access character-oriented devices, like the video screen,
keyboard, modem, and printer, using the same types of commands you would use
to access disk files. Under ProDOS 8, the application must use completely
different techniques to access character-oriented devices, many of which require
an understanding of the low-level hardware interface.

13. GS/OS accesses disks faster than ProDOS 8 because it uses disk-caching techniques
and more efficient 65816 code. It can also format disks with a lower block interleave
ratio (2:1 instead of 4:1), thus improving the effective data transfer speed.

14. GS/OS allows an unlimited number of open files and active volumes, and it
imposes no limit on the number of devices per slot. ProDOS 8 allows only 8 open
files, 14 active volumes, and 2 devices per slot.

15. GS/OS, because it uses file system translators, can access non-ProDOS volumes
up to 2048Gb (gigabytes) in size and can deal with files up to 4096Mb long.
ProDOS 8 volumes cannot exceed 32Mb, and files cannot be longer than 16Mb.

16. GS/OS does not come with a BASIC language interpreter equivalent to ProDOS
8's BASIC.SYSTEM program.

Comparing GS/OS with Pro DOS 8 11