From: Rajat Datta (rajat@watson.ibm.com)
Date: 08/20/92


From: rajat@watson.ibm.com (Rajat Datta)
Subject: Re: Need help with programming ET4000
Date: Thu, 20 Aug 1992 20:32:16 GMT

I have modified the vga.c program in vgalib 1.0 to work on et4000's in
extended mode. If you, and anyone else, is interested in my changes,
please send me a note and I'll mail it to you (I can't mail till
tomorrow cuz it's on my home machine and not here at work). I still
can't change the clock value on my et4000 based card (have no idea how
it's done), so am stuck with 800x600-16 mode since I boot Linux in
100x40 mode (Linux changes the clock value via a bios call). If
anyone can tell me how to change the clock value, I would very much
appreciate it.

I do recommend getting vgalib 1.0 (it's available on tsx-11.mit.edu
under the Linux tree). It's an excellent package and certainly enough
for doing vga-only graphics (boot in Linux in 80*25 mode).

Index 0x33 at at 0x3d4 increases the display start address size by 2
bits. The upper and lower halves of the address are at index 0x0c and
0x0d (I believe; I'm typing this from memory). Taken together this
gives you a 18bit pointer into the display memory. The maximum
display memory can be 256K by 4 planes (total 1 Mbyte; 2**18 is 256k).
This lets you set from where in the memory to get the display image
from. Properly done this lets you scroll down an image very quickly.
Or, you have four pages (in 800x600-16 mode) and you can display one
frame of animation, while you're filling in the next frames in the
other pages, and then switch the display page without moving 60000
*4 bytes (800*600/8 * 4 planes).

-- 
rajat (rajat@watson.ibm.com)