OS8 Checklist
Volume Number: 12
Issue Number: 8
Column Tag: New Technologies
Mac OS 8 Checklist 
Ensuring your software will work properly
By Steve Kiene
Copland (now officially restyled “Mac OS 8”) represents the greatest evolutionary
step in the operating system that the Macintosh has seen in its twelve-year history. It
is unrealistic to expect that all software will work with it unmodified. Although
Apple’s engineers have striven to provide as much backward compatibility as possible,
there are several areas which can cause problems for your software. This article will
outline what you can do to your software now to ensure that it will run unmodified
under Mac OS 8. First, we’ll discuss the common types of products and how they will
transition to Mac OS 8. Next, we’ll talk about the changes you’ll need to make to your
products to make sure they are compatible with Mac OS 8. Third, we’ll list some
things you can do to make your product run better under Mac OS 8.
Common Product Types
The most common types of products fall under the following categories:
Applications with a user interface
This accounts for most Macintosh software. Most applications will run
unmodified in Mac OS 8. There are, of course, many changes you can make to your
application to get better performance in Mac OS 8 (this will probably furnish
material for a future article!).
Faceless background applications
These are many types of application which lack a user interface, including
applications which provide services but do not directly interact with the user. These
can be migrated to Mac OS 8 either as a server program or as a Mac OS 8 application.
(A server program is a new application type in Mac OS 8; still more material for a
future article?)
Control panels and desk accessories
These are typically small pieces of code with a single window and a simple user
interface. These are not supported under Mac OS 8. You should rewrite them to be
applications or, if applicable, perhaps as OpenDoc Part Editors.
Extensions (INITs)
Extensions are typically used to modify or extend the functionality of the
operating system. This type of code is ignored in Mac OS 8. Your transition options
are to accomplish the same functionality either as a server program or as a regular
application. There is a different way to patch Mac OS 8 to extend its functionality - by
using the Patch Manager (wait, don’t tell me; a possible future article!).
Drivers (DRVRs)
Drivers are typically used to communicate with peripheral devices. They fall
into two categories: code that touches hardware, and code that doesn’t. If your driver
touches hardware, you will need to rewrite it as one of the following:
1. A specific Mac OS 8 family plug-in. For example, an ethernet driver such as
.ENET must be rewritten as an Open Transport networking plug-in. 2. A Device Manager plug-in. This type of driver is known as an NDRV, or Native
Driver. You can find more information about writing Native Drivers in the
document entitled “Designing PCI Cards and Drivers for the Power Macintosh
Computer”, available from Apple.
For drivers which do not touch hardware, the requirements are less stringent.
Your driver can be modified to be one of
the following:
1. A specific Mac OS 8 family plug-in. For example, an AppleTalk protocol module