EGA Cards in 6300s, and Why they don't always work (long)

The Wumpus aptr at ur-tut
Tue Jul 19 07:43:32 AEST 1988


I tried mailing this reply directly, but there seems to be a problem
with our path list, and I can not get this letter through.  It also
may be of some interest to others with 6300s.

>From: sunybcs!ur-tut!aptr at rutgers (The Wumpus)
>To: philabs!ttidcb!billh
>Subject: RE: EGA Cards in 6300s (and why the problems, long)

	In article <2284 at ur-tut.UUCP> you write:
	>I also beleive they solved the hardware problem that caused
	>difficulty in running EGAs on the old 6300's.
	
	I am interested in anything you might know about this.  I have "an old
	6300" and I am looking into cheap ways to get PCpaint, Lotus, games,
	etc. to use the higher resolution display mode.  Any feedback would be
	appreciated.
	
I don't have a copy of the article you are quoting, and I have written
several things on EGA cards recently, so if I repeat something, please
don't be offended.

If you have a "classic" 6300 you have several choices in adding an a
higher resolution graphics card to the machine.  All of these involve
the disabling of the indigenous display card.  If you have a lot of money
to play with, you can go out and buy a VGA card and a new monitor.  You
can also go out and buy a generic EGA card and a new monitor.  Both
of these will cause you to loose the AT&T specific modes (640x400, Tiny
Text).

There are currently two products that I know of that allow the use of
the "classic" AT&T color monitor (318).  One of the boards is made by
TBS.  This will give EGA, but will not keep the AT&T modes.  The other
solution is the AT&T VDC 750.  This graphics card gives EGA and AT&T
modes plus a 640x400 16 color mode.  This latter mode is NOT DEB.  I
am currently using the VDC750 and I have found it to work very well
with the old monitor.  The only draw back with keeping the old 318
monitor is that it only supports 16 colors, not the 16 out of 64.  This
has to do with the electronics of the monitor itself.

Any EGA card may have problems resulting fromwo things.  The first is
the way that the AT&T 6300's Bus Convert card works.  This is the card
that is responsible for controlling how both the 16 bit and 8bit busses
of the computer can be used.  The card is actually what you plug extra
cards into (ie.  The board with the slot connectors.)  When Olivetti
designed the controller, they were presented with a problem: How do you
handle 16 bit read/writes to an 8 bit board.  Their solution was simple.
You first send the low order 8 bits out on the 8bit bus, and then you
send the high order bits. (I may have the order reversed here.)  When IBM
later faced the same problem, they opted to send the bytes in the reverse
order.

This alone should not effect any 8 bit card because why would you want to
send 16 bits of data to an 8 bit card.  Well, some programmers (namel
hackers) thought that they could use the order to their advantage.  Some
programms only used 16 bit bus access because the programmers knew how
IBM designed the bus and depended on the byte order.  One method was to
move the information that was to be transfered to the high order byte
of the AX register (AH) and then do a 16 bit write.  Since the high order
byte was sent first on a true IBM, the other byte (AL) did not matter to
an 8 bit board.   In the AT&T 6300, the low order byte goes first and the
board recieves garbage.

Some boards, mostly EGAs, need two bytes sent for commands.  The first
byte is typically a command and the second byte is an argument.  Some
programmers used 16 bit writes to send commands to EGA cards.  Since the
bytes get reversed in the 6300, the EGAs get garbage.  In both of these
cases, the problems could have been avoided if 8 bit I/O to the bus was
done.  It should be noted that the problem is not limited to the Olivettis
(AT&T 6300, Xerox 6064, etc.).  A similar problem exists in the early
IBM PC that only had 64k on the motherboard (I don't know the specifics
of their problems).

In the later 63xxs (6310, 6386 WGS, 6300 WGS), the bus controller was
changed to allow the computers to be more compatible.  This changed
envolved a complete revamping of the controller boards on the machines.

I do not currently know if the controller in the 6300 WGS will work
in a 6300. It is one of the solutions to the problems I am looking
into, but even if it doesn't, don't loose all hope yet.

Only a few programs are affected by the bus incompatibility.  Most of
these programs also can use the AT&T 640x400 mono mode, so if you are
running a VDC750, you can still use the program.  I am also working on
a possible fix to the bus problem.  It envolves the changing of the PROM
that controls data movement in the bus controller.  If I am right, by
making a few small changes to the code in the PROM, I can reverse the
order of 16 bit read/writes to the 8 bit bus and make it IBM compatible.
I hope to be trying out the fix in the next week or so, depending on
how soon I can get a new PROM burned and tested.  If you are interested
in the fix, I can let you know how it works out.

Now, I had better summarize to make sure I said everything I wanted to.

There are several EGA solutions.  All of them require disabling the
display card i nthe 6300.  Some of them allow you to keep the old monitor
(TBS EGA, VDC750), and the VDC750 is the only one supporting all of the
old AT&T modes.

The problems with EGA cards in the 6300 stem from the way 16 bit I/O to
8 bit boards is done and how dependent software programs are to the "IBM
order".

The problem has been solved in later machines by the redesigning of the
bus controller card.  I think I have come up with a solution for older
machines, buy it has not been tested and requires the replacement of one
PROM on the bus controller.

There are also software methods to solving these problems, but they require
the patching of offending programs.  If you are interested, I can send
you some information on what to look for and what to try and change.


If you have any more questions, please feel free to contact me.

John Werner
   aka
The Wumpus        UUCP:   {cmcl2!decvax}!rochester!ur-tut!aptr
                  BITNET: aptrccss at uorvm
		  Internet: aptr at tut.cc.rochester.edu
Disclaimer: "Who? When? Me? It was the Booze!"  - M. Binkley

~p


-- 
The Wumpus        UUCP:   {cmcl2!decvax}!rochester!ur-tut!aptr
                  BITNET: aptrccss at uorvm
		  Internet: aptr at tut.cc.rochester.edu
Disclaimer: "Who? When? Me? It was the Booze!"  - M. Binkley



More information about the Comp.sys.att mailing list