[comp.sys.ibm.pc] 6300 16-bit I/O port botch: Could Olivetti really have been so stupid?

jr@amanue.UUCP (Jim Rosenberg) (06/27/87)

This is pretty hard to believe!  For a demo as part of a consulting job the
client requested color, and bit-mapped graphics are involved.  The operating
system in question is actually QNX, but that's neither here nor there.  All
these factors made EGA the only reasonable way to go.  The machine available
is a 6300, which also happens to be the machine I have myself.  Since
everybody is crazy about the NEC Multisync monitor I specified that, but I
didn't have any experience with EGA cards, so I asked around.  A couple of
people I trust highly gave me an emphatic recommendation for the Tseng
EVA/480, so we ordered it.  Alas, I had failed to call Tseng in advance to see
if the EVA/480 ran in the 6300.  I knew that to run an EGA in a 6300 you need
the 1.4 BIOS upgrade, which was also ordered.

This week all the goodies came in.  The machine booted the 1.4 BIOS just fine
with the built-in video card and monitor, but the Tseng wouldn't work.  When I
called Tseng they acknowledged that there was a compatiblity problem with the
6300, and that was that.  The choice of the Tseng over the Video 7 Vega Deluxe
was frankly a very close call, and I got a report that the Vega works with QNX
after having ordered the Tseng, so I called Video 7 to find out the story
about compatibility with the 6300.  "It will run in a 6300, but some software
works and some doesn't."  Say what?  I made a total pest of myself till I
really understood what the problem is, and I can hardly believe it:

The 6300 has an 8086, which is a full 16-bit machine, but the PC-bus is only
an 8-bit bus for data.  The 8086/8 instruction set includes 16 bit output
instructions.  (OUT AX,port, OUT AX,[DX].)  Hardware on the 6300 must manage
two bus transactions in order to execute this instruction.  According to the
techie at Video 7, who claims he finally got an engineer at AT&T to fess up
that this was true, that portion of the circuitry (he called it the "burst
controller") outputs the two bytes to the bus **IN THE WRONG ORDER**!!  That
means **ANY** 16-bit output instruction to a card on the bus will get the
bytes swapped.  Software that does only 8-bit OUT instructions to the ports on
the EGA will work, but anything that does 16-bit OUT instructions won't.

Sheesh!!  Is *this* the reason the BIOS upgrade was needed??  Can anybody
confirm that this is true?  The techie at Video 7 seemed to know what he was
talking about, and felt that fixing this would be *EXPENSIVE*.  The 6300+ may
not have this problem -- Tseng said they'd had no problems with their card in
that machine.  Anyone else have any words of wisdom on running an EGA clone in
a 6300?
-- 
 Jim Rosenberg
     CIS: 71515,124                         decvax!idis! \
     WELL: jer                                   allegra! ---- pitt!amanue!jr
     BIX: jrosenberg                 seismo!cmcl2!cadre! /