[comp.sys.ibm.pc] ati vga 640 X 400 X 256 programming

sekoppenhoef@rose.waterloo.edu (Shawn E. Koppenhoefer) (11/09/89)

Does anybody know to use ATIVGA's 640x400 mode with 256 colors ?
The problem I have is that I don't know how to select memory planes
in that mode to get full access to 256K. I have a manual for the ATIVGA 640
card but I feel it's lacking in details. I would really like to know all 
about selecting memory planes in that mode(61H).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|       _ _	KLEIN BOTTLE for sale...
	Shawn E. Koppenhoefer |	       |                      enquire within.
 ...watmath!rose!sekoppenhoef |	       -		 
~~~~~~~~~~~~~~~~~sekoppenhoef@rose.uwaterloo.ca sekoppenhoef@rose.uwaterloo.edu

coy@ssc-vax.UUCP (Stephen B Coy) (11/11/89)

In article <18003@watdragon.waterloo.edu>, sekoppenhoef@rose.waterloo.edu (Shawn E. Koppenhoefer) writes:
> 
> Does anybody know to use ATIVGA's 640x400 mode with 256 colors ?
> The problem I have is that I don't know how to select memory planes
> in that mode to get full access to 256K. I have a manual for the ATIVGA 640
> card but I feel it's lacking in details. I would really like to know all 
> about selecting memory planes in that mode(61H).

The new ATI manuals have the info you need.  Also, if you call them
up they will send you a new set of driver disks which has the same
info as a text file.  Until then, here's the code for selecting
memory planes.  It works with all the ATI video modes.

cli
mov	dx, ATI_REG
mov	al, PLANE_SELECT
out	dx, al
inc	dl
in	al, dx
mov	ah, al
and	ah, PLANE_MASK
shl	ch, 1
or	ah, ch
mov	al,PLANE_SELECT
dec	dl
out	dx, ax
sti

where:
	ATI_REG  location is stored in c000:10h
	ch = required plane value
	PLANE_SELECT = 0b2h
	PLANE_MASK = 0e1h

> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|       _ _	KLEIN BOTTLE for sale...
> 	Shawn E. Koppenhoefer |	       |                      enquire within.
>  ...watmath!rose!sekoppenhoef |	       -		 
> ~~~~~~~~~~~~~~~~~sekoppenhoef@rose.uwaterloo.ca sekoppenhoef@rose.uwaterloo.edu

Stephen Coy
uw-beaver!ssc-vax!coy

	I started to conform, but then I thought...