Understanding PCMCIA Compatibility
From the Original Pages
Click a page to enlarge · Alt-click to open the full issue
Compatibility has been the industry Holy Grail since the introduction of PC Cards in the 1980’s. While, we still have some way to go, there is a subdued enthusiasm among manufacturers following the introduction of the PCMCIA Release 2.01 Specification. Even still, many mobile computer and PCMCIA card vendors find it necessary to continue to publish compatibility lists for their products.
When a PCMCIA card is inserted into a computer, there are several hardware and software components that must work together before you can use the card’s features. These components include: the host adapter (hardware), Socket Services and Card Services (software), and of course, the drivers (more software).
The Host Adapter
At the lowest level, the mobile computer’s system needs to be connected to the 68-pin PCMCIA sockets. A special interface chip called the host adapter performs this task. Currently, several host adapter chips are available including Intel’s 82365SL, Cirrus Logic’s 6710 and 6720, Vadem’s VG465 & VG468, Databook’s 86082. However, the most popular is Intel’s 82365SL.
One of the roles of the host adapter is to handle the interrupts generated by the PCMCIA card. In addition, the host adapter may contain data and address buffers which isolate the card from the system and enable the user to hot swap the card while the system is running. Interestingly, the Intel 82365SL doesn’t buffer the data lines and therefore requires extra chips to isolate the socket.
The host adapter may also contain features for power management. Some of these features are automatic, while others are under software control. This enables the system to reduce the amount of power consumed when the card is inactive.
The Socket Services
The next layer of the system is a piece of software called Socket Services. This software serves as an interface between the Card Services directly above it, and the host adapter chip in the mobile computer.
Socket Services are at the BIOS level, and is therefore very hardware dependent. This software is responsible for identifying how many PCMCIA slots are available in your computer, and for detecting when a card has been inserted or removed from a powered-on system.
The Socket Services are also responsible for determining the proper configuration information that is stored on the PCMCIA card. This information is kept in the Card Information Structure (CIS).
The CIS can contain a range of information about the PC Card, including the card’s power supply voltage and access timing, which enables a system to reject an incompatible card immediately.
The Card Services
One level higher resides the Card Services. This software provides an interface for the allocation and management of computer system resources such as the memory and interrupts. This management occurs automatically after the Socket Services detects the insertion of a card and relays this event to the Card Services.
Likewise, when the PCMCIA card is removed, the Card Services releases the corresponding resources. This level also serves as the interface for any special drivers required for use with the PC card.
The Card Services are the highest-level of the PCMCIA specification. This level plays an important role in creating compatibility for PCMCIA cards, enabling users to insert and remove cards dynamically and use the card with multiple computer systems.
The two major Card and Socket Service makers are Phoenix Technologies and SystemSoft Corp. Phoenix’s implementation comes with the Phoenix BIOS and IBM’s PC-DOS; SystemSoft’s comes with their BIOS and Microsoft’s MS-DOS.
The Software Drivers
Sitting on top of the Card Services are software drivers. Drivers come in several flavors, and their interaction (or lack thereof) with the Card Services determines some important compatibility and hot-swapping capabilities of the PCMCIA card.
One special category of driver is called an enabler. An enabler uses its own software in place of the Card and Services and therefore, interacts directly with the host adapter. This directness allows enablers to provide some extra features, however it also removes the advantages that would come if every manufacturer sang from the same PCMCIA hymn book—the specification. In practice, it makes it difficult to hot-swap another PCMCIA card without rebooting.
Transcribed from Pen-Based Computing, Volume 4, Number 4 — May 1994. Page 9.