[comp.sys.att] 6300 16-bit I/O port botch: Could Olivetti ...

gnome@oliveb.UUCP (07/07/87)

in article <220@amanue.UUCP>, jr@amanue.UUCP (Jim Rosenberg) says:
> Xref: oliveb comp.sys.att:644 comp.sys.ibm.pc:5146
> 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.
> -- 
>  Jim Rosenberg

Oh well, that is because it was built two years before the AT came out!
If you are going to do 16-bit I/O's to an 8-bit
device, something has to decide the byte-order, and when the 6300 was
designed, there certainly weren't any "standards" to be followed.
I have heard of a couple of boards/drivers that use 16-bit I/O
and depend on the first byte being stomped-on by the second byte.
The first byte contains relatively useless data, which which
get immediately overwritten by the second.  Not a smart programming
move.

The bus supports full 16-bit I/O, with the second 16-bit connector
(which is NOT an AT format connector, for the same reason listed
above).  Since you are having to use existing software and hardware,
then you are stuck, I would think.

Gary