Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Legacy Documents > Hardware & Drivers >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Serial (Built-In)


Q: What is the "Serial (Built-In)" file, and what does it do?

A: PCI Macs have two different types of serial drivers. These are known as "Serial (Built-in)" and SerialDMA. These drivers provide similar basic functionality, but they differ in their implementation:

"Serial (Built-in)" is a set of ASLM shared libraries that provide a basic serial driver (e.g., .AOut) and a hardware abstraction layers capable of supporting more than just asynchronous serial (e.g., GeoPort).

"Serial (Built-in)" comes in two flavors. An early version is built into the ROMs on PCI PowerMacs and there is also an ASLM shared library in the Extensions folder.

The other serial driver is SerialDMA. This also comes in two flavors. Prior to System 7.5.3, SerialDMA shipped as a separate system extension. For 7.5.3 and later, SerialDMA is built into the system software. You can read more about the SerialDMA driver in Technote 1018 "Understanding the SerialDMA Driver". In general, SerialDMA is more reliable than "Serial (Built-in)" and is the serial driver that will continue to be provided in the future.

The original system software for PCI PowerMacs contained only the "Serial (Built-in)" driver, both in the ROM and an updated version in the Extensions folder. Later a patch (the Printing Fix) shipped SerialDMA as a system extension. This extension loaded after "Serial (Built-in)", overriding the basic serial driver functionality of the "Serial (Built-in)" driver, leaving only the extra functionality (eg GeoPort) remaining.

With System 7.5.3, SerialDMA was rolled into the system. Unfortunately this caused "Serial (Built-in)" to load after SerialDMA, and override it instead of the other way around! So a new version of "Serial (Built-in)" was built. This version does not provide the basic serial driver -- it only provides the extra functionality that is still needed by things like the QuickTake camera software.

The weird thing is that, if you remove the "Serial (Built-in)" file from the Extensions folder, the Mac loads the older ROM version of the driver instead. This version still has the basic serial driver functionality, so under 7.5.3 removing the "Serial (Built-in)" extension actually causes SerialDMA to be disabled.

[May 27 1997]