[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The apple 2, the PC, and the clones



I worked at Phoenix Technologies in their Asia-Pacific Division, based in
Hawaii, as a ROM-BIOS Engineer. The ROM-BIOS projects my local group worked
on included vendors from ALR, Daewoo, and Toshiba.



I was hired on the team because I was experimenting with 8086/88 assembler
language programming in college, and Phoenix got a whiff of my work. I
originally started assembler language programming on my Apple II+ using 6502
and Big Mac Assembler. So I'm very thankful of my Apple II work that
prepared me for the opportunity to work at Phoenix.



Basically, we had two groups of engineers... One group read the IBM ROM-BIOS
Technical Reference manual and heavily documented the functions of the
ROM-BIOS by actually using the IBM PC. The trick here was to document
without including any code or coding techniques. For example, if the
ROM-BIOS made an interrupt call to the keyboard controller, you could say
just that, in English, in the documentation; you just couldn't document it
as "INT 15h".



Once the documentation was completed. Another group of engineers (my group)
took the documentation and turned it back into code. This process is usually
referred to as "reverse-engineering" or the "clean room" process.
Theoretically, if the documentation was written properly, and the code was
re-written exactly according to the documentation's specifications, the
resulting code should be 100-percent compatible.



An interesting story came out of this I like sharing with people to describe
how effective the clean room process was... We reverse-engineered some code
for a video BIOS<->ROM-BIOS interface from an IBM AT PC. Our
quality/assurance team tested several commercial applications, then found
out some of them didn't work. The clean engineers then went back and studied
the IBM AT again to see where the incompatibility laid. They later
discovered a bug in the IBM ROM-BIOS itself. Because the IBM PC AT was king
at the time, software manufacturers hard-coded their applications to
work-around the bug. The problem was that that work-around would fail on
machines that didn't have the bug, mainly the Phoenix ROM-BIOS. So we had
the very interesting task of reverse-engineering the bug, and implement the
bug into our code, of course using different coding methods. So not only was
our ROM-BIOS the most compatible on the market at the time, we even included
the same bugs as the original!



Our competition at the time (1986 through 1989 was my period) was Compaq
Corporation, the only company that were making their own ROM-BIOS for their
PCs. Award was also a competitor, however we gained quite a bit of business
because of their problems with customs. Certain ROM-BIOS products coming out
of Award were tainted with exact copies of IBM ROM-BIOS code. And the
manufacturers that used Award's products switched to ours later on. During
my tenure at Phoenix, around 80-percent of the clone market were using
Phoenix ROM-BIOS products in their PCs.



So with all that... Why weren't there that many Apple II clones? There are
other valid explanations out there; however the explanation I feel closer to
home with was the fact that there was a need for cheaper IBM compatible PCs
for business, and not cheaper Apple II computers. Cloning was necessary at
the time to drop cost of the overall PC. The Apple II was never a serious
business-class machine, and the Apple /// failed miserably with its hardware
reliability, so IBM ate them up big-time! Therefore, my explanation is
simply that cloning the IBM PC took a huge precedence over cloning the Apple
II in the marketplace. There was a much bigger need for cheaper PCs, and
many engineers flocked to companies like Phoenix that designed the
technology that made them possible. I'm exaggerating a bit, but in the
industry I'd say there were probably 2000 PC clone engineers for every one
Apple II clone engineer. As an ending result, there was either a lack of
engineering effort, or a lack of proper clean room technique, sending many
Apple II cloners to court by Apple. There were dozens and dozens of Apple II
clones (check out AppleFritter for evidence of this), a huge majority of
them outside of the U.S. where they were legal, however overall it wasn't a
profitable market.



There were, however, Apple II clones that spewed out, many of them failing
the clean room test. I never owned a Laser computer, however from my
understanding Laser was the cleanest of cloning efforts of the Apple II,
therefore they were legal. As a matter of fact, much of Phoenix's
engineering strategy came out of case studies of failures like Franklin.
Apple hassled Laser, much like how IBM kept sending Phoenix to court, but in
both relationships the cloners prevailed. And the reason was mostly due to
the clean room strategies used.



One final thought that may be a contribution to the IBM PC cloning boom, and
that was Microsoft's MS-DOS. When IBM allowed Microsoft to sell DOS to other
manufacturers in the early 1980's, that's all that was needed to make the
clone PC complete. Microsoft licensed MS-DOS to anyone who wanted it,
including Phoenix Technologies. We sold MS-DOS and our ROM-BIOS as a
package. Those were the only two components you needed to make a clone PC.
PC software really only made two types of calls: calls to MS-DOS routines
(mainly interrupts 21h and 20h), and calls to ROM-BIOS routines. So that
alone made it very easy to clone the PC.



Apple didn't do this... DOS 3.3 and ProDOS should have been licensed the
same way, and open it to be compatible with other logic board
implementations. However, they were hard-coded to the hardware platform it
was written for, and that was the genuine Apple II logic board and firmware.
As proof of this, you have to patch ProDOS for it to work on the Franklin
Ace 1000. Even if you successfully cloned the Apple II and legally sold it,
you couldn't include DOS 3.3 or ProDOS with it. There were efforts to even
cloning Apple's DOS, however software made for the Apple II were more
dependant to certain hardware specifications then DOS, therefore they did
not run well in a non-pure Apple environment.



Therefore, other than the lack of engineering and marketing, Apple's overall
proprietary architecture and the lack of selling DOS like Microsoft did with
MS-DOS caused the cloning to serve little to no overall money-making
purpose.



--- Bryan