Hardware and operating systems
The fact that a given piece of hardware works under DOS is no
guarantee that it works with the SCO OpenServer system.
A critical difference between SCO OpenServer systems and some DOS applications is the way they access hardware. For example, older DOS systems and some DOS applications read or write information to a device controller (disk, tape, or serial/parallel) by making a device-independent call to the BIOS (Basic Input Output System). The BIOS translates the device-independent call into a device-dependent set of instructions to transfer data to or from a particular device.
Except for very short periods of time during installation and during the boot process, SCO OpenServer systems never use the BIOS; device drivers handle many of the functions for which DOS can use the BIOS.
Some PC manufacturers depend on something called BIOS compatibility. DOS functions can be, in a sense, device-independent, because some of the device-dependent functions of DOS have been separated into the BIOS. This means that manufacturers can make their non-standard devices work under DOS by modifying the ROM BIOS that acts as the interface between the hardware and DOS.
By writing code that reads and writes directly to the device,
DOS can also use devices without going through the BIOS.
This is similar to writing a device driver for an SCO OpenServer system.
The ability to write directly to a device is one reason some
hardware works with DOS, but not with SCO OpenServer systems.
The hardware vendor can make DOS work with hardware that uses a
non-standard BIOS by writing a DOS device driver that
translates between DOS and the non-standard BIOS.
This makes it BIOS-compatible for DOS, even though the
BIOS is non-standard.
DOS polls the system bus and the custom device driver to access the device.
Because an SCO OpenServer system does not make use of the BIOS,
it expects a piece of hardware to be at a specific
interrupt vector, DMA channel, and base address,
and does not recognize the hardware if it is incorrectly configured.