[net.micro.pc] MS-DOS and 80188 Interrupt Vectors

Schauble.HIS_Guest%MIT-MULTICS@sri-unix.UUCP (11/02/83)

>From DTACK GROUNDED, The Journal of Simple 68000 systems.  Subscriptions
$15 for 10 issues to 1415 E McFadden, Ste F, Santa Ana, CA 92705.
Reproduced with permission.

----------------------------------------------------------------------

There are a few chip designers and sellers at Intel (the rumor goes) who
would like to shoot Bill Gates right now. It seems the Microsoft folks
can't read, and as a result Intel has a large pile of 80188s it can't
ship. And Intel is redesigning the 80188 chip. Again.

It's like this: the 8088 spec sheet reserves two of the 256 jump vector
addresses for future Intel use. Microsoft went ahead and used them in
the MS-DOS operating system anyway. The large pile of 80188s that Intel
can't ship use those two reserved vectors for a hardware purpose.
Understand, now, Intel was right and Microsoft was wrong. And: true,
Microsoft *could* modify MS-DOS to comply, retroactively, with Intel's
entirely correct documentation.

Unfortunately, there are about 12,000 application programs sitting on
computer retailer's shelves all over the country which call those
vectors...  It would seem that in this case Intel's substantial software
support backfired.

Since Intel's documentation scrupulously documented that those two
vectors are reserved, they are (the rumor goes) refusing to take back
the 80188s it has sold, unless (the rumor continues) the customer uses a
blue logo with three alphabetic characters.

And now you know why peanut has not been shipped yet, and what CPU
Peanut uses. We wonder how long it will take Intel to change the mask --
again -- and get the chip back into production -- again? (Do you realize
that most folks don't know why Peanut hasn't been released but YOU do?)

And you also know why the Intel folks would like to shoot Bill Gates.
(If the rumor is correct.)

			   HERE ARE THE FACTS

The following information was gathered from the Intel iAPX86/88, 186/188
User's Manual, Intel 210912-001, pages 4-10 and 5-5; and from the IBM PC
XT Technical Reference Manual, page 2-4. Page 4-10 shows that thae 8088
has 5 (five) dedicated interrupt pointers 0-4), 27 reserved interrupt
pointers 5-31), and 224 (user) available interrupt pointers 32-255).

Page 2-4 of the IM manual reveals that MS-DOS uses 25 of those 27
reserved interrupt vectors. Specifically, MS-DOS uses 5 and 8 through 31
inclusive.

Now turn to page 5-6 of the Intel manual. Table 5-2 reveals that the
80186/88; uses 5 as a vector for the array bounds exception, and also
vectors 6 thru 15 and 18 and 19. Which means that MS-DOS programs will
*NOT*, in general, run on the 80186/8. We are told that the better the
program, the more likely that those MS-DOS vectors are being used at the
application level.

The fact is that the 80186/8 is a very cost-effective chip at the
hardware system level, as we have reported before. It is highly logical
that IBM would, given enough lead time, use the 80188 in a highly
cost-sensitive device such as a home computer. Let us assume that this
tiny, trifling conflict was discovered very late in the design cycle for
Peanut (in large companies, the hardware and software types sometimes
don't communicate well). We can think of four ways out of the dilemma:

    1) Cancel Peanut.

    2) Go to market with a product that won't run all those MS-DOS based
       PC programs out there.

    3) Re-design Peanut to use the 8088 - an expensive and
       time-consuming alternative involving a complete re-layout of
       the main circuit board.

    4) Get the company which you own a large piece of to take back all
       those 188 chips IBM (may) have bought and *re-design the 188 to
       conform to MS-DOS*. This is *also* time consuming but the expense
       is placed elsewhere.

We would like to thank Otherwise Intelligent for the rumor and Harry S,
who is affiliated with a networking firm, for his help in piecing the
facts together.