Hardware Reference
In-Depth Information
by publishing complete schematic diagrams of its motherboards and adapter cards in de-
tailedandeasilyavailabletechnicalreferencemanuals.Thesemanualsevenincludedfully
commented source code listings for the ROM BIOS code. I have several of these early
IBM manuals and still refer to them for specific component-level PC design information.
Infact,Ihighlyrecommendtheseoriginalmanualstoanybodywhowantstodelvedeeply
into PC hardware design. Although they are long out of print, they do turn up in the used
book market and online auction sites such as eBay.
The difficult part of copying the IBM PC was the software, which is protected by copy-
right law. Both Compaq and Phoenix Software (today known as Phoenix Technologies)
were among the first to develop a legal way around this problem, which enabled them
to functionally duplicate (but not exactly copy) software such as the BIOS. The BIOS is
defined as the core set of control software that drives the hardware devices in the system
directly. These types of programs are normally called device drivers , so in essence, the
BIOS is a collection of all the core device drivers used to operate and control the system
hardware. The operating system (such as DOS or Windows) uses the drivers in the BIOS
to control and communicate with the various hardware and peripherals in the system.
See Chapter 5 , BIOS ,” p. 251 .
The method Compaq and Phoenix used to legally duplicate the IBM PC BIOS was an
ingenious form of reverse-engineering. They used two groups of software engineers, the
second of which were specially screened to consist only of people who had never before
seen or studied the IBM BIOS code. The first group studied the IBM BIOS and wrote a
detailed description of what it did. The second group read the description written by the
firstgroupandsetouttowritefromscratchanewBIOSthatdideverythingthefirstgroup
haddescribed.TheresultwasanewBIOSwrittenfromscratch,andalthoughtheresulting
code was not identical to IBM's, it had the same functionality.
This is called a “clean room” approach to reverse-engineering software, and if carefully
conducted, it can escape any legal attack. Because IBM's original PC BIOS had a limited
andyetwell-definedsetoffunctionsandwasonly8,096byteslong,duplicatingitthrough
the clean-room approach was not difficult. As the IBM BIOS evolved, keeping up with
any changes IBM made was relatively easy. Discounting the power-on self test (POST)
andBIOSSetup(usedforconfiguringthesystem)portionoftheBIOS,mostmotherboard
BIOSs, even today, have only about 32KB to 128KB of active code, and modern OSs ig-
nore most of it anyway by loading code and drivers from disk. In essence, the modern
motherboard BIOS serves only to initialize the system and load the OS. Today, although
some PC manufacturers still write some of their own BIOS code, most source their BIOS
from one of the independent BIOS developers. Phoenix and American Megatrends (AMI)
are the leading developers of BIOS software for PC system and motherboard manufac-
Search WWH ::




Custom Search