Clem Cole: "IBM allowed the system to be cloned"
I never looked at it that way. To discourage cloning, IBM published and
copyrighted the BIOS source code. Most serious programmers were very
familiar with it, because one had to know details of the BIOS to program
the computer, for many applications (such as ours). That reduced the number
of programmers who could work on a BIOS clone, as such people would have to
be recruited from outside the world of the IBM PC. A few outfits sprang up
to do clean-room BIOS clones, including an outfit called Phoenix, which had
the best. Compaq's internal BIOS was also excellent.
As for the computer hardware, it was just Intel parts along with
off-the-shelf floppy disk controllers and drives and other such stuff. IBM
had built the PC almost entirely from existing parts, and had no exclusive
on any of it.
For the clones, no copyrighted code was used, the programmers had never
seen the code, and the function of the BIOS wasn't copyrightable. So, IBM
really had no way to prevent the clones.
There were a lot of PCs in the early 1980s that weren't clones. They had
8088 or 8086 CPUs, and looked liked PCs, but they weren't identical, so we
had to port our software. Sometimes companies gave us machines, including
AT&T, whose PC was made by Olivetti. I remember many conversations with
computer vendors in which I was just trying to get the memory address and
layout for the screen. They never could even understand the question. DEC,
which had their own weird version of a PC, was the worst.
Within a few years all these went away, and only identical clones existed,
for which we didn't need to develop a special version.
A few people here have said that IBM could have produced a more
sophisticated OS. Actually, I would have been against anything that took up
more resident memory. Initially, I think the most memory IBM would supply
was 384K, and most serious applications needed it all. Multiprogramming or
sophisticated system calls of any sort would have sucked up valuable
memory. I was able to design the EDIX editor to be entirely memory
resident, even with multiple active files, with no floppy swapping at all.
As someone mentioned, we pretty much used MS-DOS only for its file
management. Access to all other facilities was through the BIOS or directly
to the hardware. With such a completely unprotected system, running more
than one application at a time was out of the question.
One might ask why we had such a primitive system with 384K, when UNIX had
been developed over 10 years before on a smaller system. Simple: UNIX had
swapping. With no hard drive, and floppies being inserted and removed,
everything had to be resident in RAM. In addition, as I've mentioned
already, screen speed is what distinguished PC software, ever since Apple
games and Visicalc. Traditional UNIX screen speed was ridiculously slow,
until the workstations came along, but for many times the price of a PC. To
get the screen speed on a PC, the application had to own the hardware. UNIX
insists on standing between the application and the hardware. In PC land
that would be unacceptable.
--Marc
On Thu, Jun 30, 2016 at 2:57 PM, Nemo <cym224(a)gmail.com> wrote:
On 30 June 2016 at 15:21, Diomidis Spinellis
<dds(a)aueb.gr> wrote:
[...]
Two factors might had made the choice of 8088 a
more practical one for
IBM.
[...]
In addition, the 8086 architecture was an
extension of the 8080 one,
which
made it easier to make the MS-DOS API compatible
with the CP/M one, which
was used by many popular programs. This would simplify their porting.
(A
lot of early IBM PC software was written in
assembly language.)
I heard that a lot of the BIOS was a simple-minded translation of
corresponding 8080-assembler. I believe that; if you look at the
horrible assembler, which was actually printed in the IBM Technical
Manual, you could see that most 8086 extensions were not used.
N.