[comp.sys.ibm.pc.misc] Request for assistance programming VGA

jimb@tsdiag.ccur.com (Jim Blakey RG8U) (02/01/91)

 A friend of mine and I are attempting to program VGA adapters
to display WEFAX images in 800x600x256 (or higher). We have the
hardware pretty well squared away, but we're having some trouble
with programming the VGA adapter on the bare metal. (There are 
rather stringent time constraints present - this beast is seriously
interrupt driven).  Are there any source-code examples of how to 
manipulate the VGA registers for the higher modes?  Has anyone
actually suceeded in figuring the VGA card out by reverse engineering?
Our main interest is in Trident chipset-derived cards, but info for
other ones may prove helpful as well.  Modes that require less than 64K 
(ie 320x200x256) work as expected.  Our color register setup routines work,
as well as the sum to grayscale command. We've tried INT 10H to put the card 
in the proper mode, but any and all attempts to jam data in the video RAM 
for modes that require more than 64K have resulted in seemingly random results.
Any information will be greatly appreciated, thank you in advance.
--
David E. Tiller         davet@tsdiag.ccur.com  | Concurrent Computer Corp.
FAX:  201-870-5952      Ph: (201) 870-4119 (w) | 2 Crescent Place, M/S 117
UUCP: ucbvax!rutgers!petsd!tsdiag!davet        | Oceanport NJ, 07757
ICBM: 40 16' 52" N      73 59' 00" W           | N2KAU @ NN2Z
and...
-- 
                       
              Jim Blakey    jimb@tsdiag.ccur.com

wahlsten@elixir.lne.kth.se (Jorgen Wahlsten) (02/12/91)

In article <1435@tsdiag.ccur.com> jimb@tsdiag.ccur.com (Jim Blakey RG8U) writes:
>
> A friend of mine and I are attempting to program VGA adapters
>to display WEFAX images in 800x600x256 (or higher). ...
>...  Modes that require less than 64K 
>(ie 320x200x256) work as expected.  Our color register setup routines work,
>as well as the sum to grayscale command. We've tried INT 10H to put the card 
>in the proper mode, but any and all attempts to jam data in the video RAM 
>for modes that require more than 64K have resulted in seemingly random results.

The problem is that the so-called higher modes require more than 64 Kb
and there are no standard way of switching banks... (e.g. Each constructor
of Super-VGA boards has their own way).

Therefore one has quite a problem to run *whatever* if there isn't a driver
supplied (for Windows or as stated *whatever*).

I've seen a PD-software called FractInt that draws fractal on the screen
with whatever you might have as a VGA-adaptor. This fractint uses small
routines to switch memory-bank depending on your VGA-board to be able to
switch banks properly.
But this fractint isn't the only software capable of doing this. There are
others as well that supply small routines (in source), one for each adapter
possible that switches banks...

It you fail to find any hint in PD's on this bank-switching problem you should
always be able to contact Trident themself (or some local hopefully well-
informed supplier/agent).
I know i've seen how to bank-switch for *-VGA but i don't remember what PD
that supplied the particular source that i looked at (Sorry!).
I could probably try to find out where and what i saw that routine for
Trident chip-set but it would take some time (It was a while ago)...

Try those display-programs that already exists and supports different
types of VGA...

I hope this gives you a hint on where to look.

Good Luck with your VGA.

/Jorgen Wahlsten
wahlsten@lne.kth.se