172 lines
8.6 KiB
Plaintext
172 lines
8.6 KiB
Plaintext
Bill Gates Interview by (PC-Magazine)
|
||
|
||
------------------------------------------------------------------------
|
||
REMEMBERING THE BEGINNING
|
||
------------------------------------------------------------------------
|
||
|
||
PC MAGAZINE:
|
||
|
||
15 years is a surprising amount of time in some ways.
|
||
Obviously the PC industry goes back further, but the IBM PC
|
||
changed it a lot. It changed the way people thought about
|
||
computers.
|
||
|
||
BILL GATES :
|
||
|
||
It absolutely did. For the IBM PC, the key market was a
|
||
hobbyist market. We'd gotten floppy disks, so we'd start to get into
|
||
some more serious applications. But, both the power of the machine,
|
||
because it was the first 16-bit machine, and the endorsement by IBM of
|
||
using a personal computer, and then the critical mass of software and
|
||
distribution and peripherals that came along with that, makes it the
|
||
biggest milestone in the history of personal computing. It was a sea change.
|
||
Of course, one of the big developments around it was that before the IBM-PC
|
||
came along, machines were essentially incompatible with each other. In those
|
||
first few years, [we saw] the whole notion of how compatible was compatible,
|
||
there were many different levels there. And a lot of hardware manufacturers
|
||
still felt they had more freedom to deviate a little bit and do things that
|
||
couldn't be virtualized by a common software interface.
|
||
So, in those first two years a lot of key things were established: the idea
|
||
of compatibility; MS-DOS as the primary system as opposed to CP/M-86 or UCSD
|
||
P-System which were the prime competitors; and the whole thing about a broad
|
||
software industry and using indirect distribution channels. Anyway, it was a
|
||
monumental change.
|
||
|
||
PC MAGAZINE:
|
||
|
||
Let's go back -- go back to that first 1982 PC Magazine
|
||
interview. You know, "The Man Behind the Machine." Microsoft was involved
|
||
with IBM to what at the time was an unprecedented degree. You had written
|
||
software for lots of other machines at that point, not operating systems but
|
||
BASICs and things like that. How different was it?
|
||
|
||
BILL GATES :
|
||
|
||
Well, for IBM it was extremely different because this was a
|
||
project where they let a supplier -- a partner, whatever you call us --
|
||
shape the definition of the machine and provide fundamental elements of
|
||
the machine. When they first came to us, their concept was to do an 8-bit
|
||
computer. And the project was more notable because they were going to do
|
||
it so quickly and use an outside company. It wouldn't be a high-volume
|
||
product. Their charge was to do a home and a very low-end business machine.
|
||
They had the Data Master, which was 8085-based at the time, that they felt
|
||
was covering part of the business market. Then they had the 5100, the
|
||
machine that had both an APL and a BASIC interpreter, which was covering
|
||
another part of the business market. So it was sort of a home-down business
|
||
machine. And it was a very small team in Boca that wanted to prove that IBM
|
||
could do a product, any kind of product, in about an 18-month cycle. And
|
||
that was the most novel<65>that was going to be the novel thing was: could
|
||
you work with outsiders, which in this case was mostly ourselves but also
|
||
Intel, and do it quickly?
|
||
And the key engineer on the project, Lou Eggebrecht, was fast-moving. Once
|
||
we convinced IBM to go 16-bit (and we looked at 68000 which unfortunately
|
||
wasn't debugged at the time so decided to go 8086), he cranked out that
|
||
motherboard in about 40 days. It's one of the most phenomenal projects
|
||
because there were very small resources involved and we had to ROM the
|
||
BASIC which meant that it was essentially cast in concrete, so you couldn't
|
||
make much in the way of mistakes. We actually did this clever thing where for
|
||
disk versions of the system, we put enough hooks in the ROM that you could
|
||
place reasonably modular parts of the ROM.
|
||
So it was very lucky when it turned out about a year after the machine
|
||
shipped, there was a floating point bug and the New York Times ran it, we
|
||
could just issue a disk that patched out that part of the floating point
|
||
package because virtually all the machines that had been shipped were
|
||
disk-based,. What I had done was made the dispatch table hookable. It was
|
||
a very tricky project because the machine had to boot running only BASIC,
|
||
or if it detected a disk, it had to boot with the operating system. And
|
||
if only the BASIC came in, the we had to do file management against the
|
||
audiocassette. And they insisted that it run in a 48k configuration which
|
||
was pretty tricky; we were hoping they'd insist on 64k. Now, it turned
|
||
out most people bought 128k versions of the machine.
|
||
|
||
PC MAGAZINE:
|
||
|
||
Didn't the original machine come out with 16k?
|
||
|
||
BILL GATES :
|
||
|
||
The cheapest machine you could buy -- yeah you're right,
|
||
you're right: if you were cassette only, it was 16. And then if you
|
||
got the disk you could be 48. And, it was actually fairly complicated
|
||
because the ROM is up in very high memory, that is, it's at a different
|
||
segment address. The whole idea of where we use long addresses, where we
|
||
use short addresses. The 8086 architecture -- now that we have flat
|
||
memory model, people forget that a segmented memory model is a fairly
|
||
complex thing to work with. It actually got worse before it got better.
|
||
We went to the 286 which was very segment-oriented before we finally got
|
||
just straight, linear address space in 1986.
|
||
|
||
PC MAGAZINE:
|
||
|
||
And not in the operating system until after that.
|
||
|
||
BILL GATES :
|
||
|
||
That's right.
|
||
|
||
PC MAGAZINE:
|
||
|
||
That's significant.
|
||
|
||
BILL GATES :
|
||
|
||
Well, people had written applications to use real addresses --
|
||
DOS applications depended on the fact that there was not a level of
|
||
indirection: that is that you simply shifted the segment value and added
|
||
it in. So we had to keep running Real Mode Applications<6E>I mean today you
|
||
can buy an IBM PC and run a Real Mode Application. I mean it'd actually
|
||
be interesting to take those applications that shipped with the original
|
||
PC and plug them in. I'm pretty sure they'd work. I admit I haven't tried
|
||
it. The first applications were an adventure game from us, a typing tutor
|
||
from us, and then VisiCalc.
|
||
|
||
PC MAGAZINE:
|
||
|
||
Yes and Easy Writer.
|
||
|
||
BILL GATES :
|
||
|
||
Was Easy Writer there at the very beginning? I think it was.
|
||
So none of the early applications have successful follow-ons. Now the early
|
||
language tools included our BASIC compiler, our FORTRAN, and actually at
|
||
those times we offered a PASCAL and a COBOL compiler as well.
|
||
|
||
PC MAGAZINE:
|
||
|
||
Obviously, back then you were talking about DOS as the standard.
|
||
I mean you were telling people to write to MS-DOS, not to go around it to
|
||
the hardware and all that. Of course, the programs that became most
|
||
successful in those days of the applications, did go around it. IBM
|
||
became hardware-dependent, which of course was then copied a lot. Was
|
||
that a surprise to you?
|
||
|
||
BILL GATES :
|
||
|
||
No, not at all. I mean, remember we were the big promoters of
|
||
the bit-map graphics. We were really against this there were two video
|
||
cards. There was CGA, which we pushed for, unfortunately only got 640 by 200
|
||
graphics into it and the palate was limited. It was just at the last minute
|
||
they gave us a tiny bit of a palate where color 0 could be mapped to 16,
|
||
and colors 1, 2 and 3 had a flip where they could be one set or another.
|
||
Anyway, the character cells on the CGA were 8 by 8 so they didn't look
|
||
as good as the Character Mode Only card. Because that was actually,
|
||
although it didn't have bit-map graphics, what IBM calls All Points
|
||
Address (APA) graphics. So it was actually 640 by 350 so the character
|
||
cells were much larger and looked a lot better. It was the Display
|
||
Writer character cell size. So IBM thought a lot of people would buy
|
||
that character mode card, which meant you couldn't do graphs and things.
|
||
But the only way to do graphics was to [write code directly to the hardware.
|
||
So all our applications that did graphics did that as well. It was only
|
||
later that we decided we could provide some high-level services and get
|
||
enough efficiency that graphics applications would go through the
|
||
operating system.
|
||
The definition of what it means to be a graphics application changed.
|
||
In the early days it meant you had a mode where a chart would come up.
|
||
Like when you ran Lotus 1-2-3, most of the time you were in character
|
||
mode, where the scrolling was very fast. Now at days we have processors
|
||
that are fast enough to scroll the bit map display and you don't even
|
||
think about it. Back then, just scrolling the display in graphics mode,
|
||
was noticeably, significantly, painfully slower than scrolling the
|
||
display in character mode because you have eight times as many bits
|
||
to push around and these processors were quite slow processors.
|