
 This package was made for SVGA cards that support multiple pages. Which
cards are these? I can't say for sure, but I assume most of the 32-bit
co-processor accelerator cards, like those from Matrox & ATI, and their
64-bit predecessors probably supports multiple pages. Earlier cards may
support multiple pages as well, although I know that some of the older
ATI VGA Wonder cards do not. Maybe a list can be compiled of SVGA cards
that have multiple pages, I know that ATI VGA Wonder XL, ATI Ultra Plus
& Pro cards do.

 In order to use this package at least a 80386 is required and VESA support
is needed that features more then one page. If your VESA does not support
multiple pages, try SciTech Software's Universal VESA VBE shareware program.

 After a long search to animate quickly and efficiently in SVGA modes, I
believe I've finally found that holy grail, thanks in large part to SciTech
Software's source code release (SVGKT4.ZIP). This release is a speedier and
simplified version of SciTech's code which was done basically by removing
unnecessary code (like the clearing of each page before flipping it and demo
stuff that didn't use page flipping) and by adding a optimized straight
line drawer.

 I like to take this time to state the usual warnings about me not being
liable or taking responsibility for any damage this package may cause,
mostly because I'm a weasel damn it.

 Now a little about animating in SVGA modes. Until recently, all of the
SVGA animation programs I've seen either animated in a small box or full
screen animation using system memory as a second page (I've left out SVGA
demos because most of them just write to the screen rather then doing any
real animation).
 I don't need to tell you how pathetic animating in a small box is, I'm
sure you already know.
 As for using system memory as a second page in animating, the big draw
back is that SVGA screens are divided into 64k segment chunks and as a
result the system memory page has to be sent in 64k chunks since writing
beyond the 64k segment will place part of the image onto a different part
of the screen display (usually the top) when swapping between the display
screen and the system memory page. In short any decent size animated object
in this technique will produce a banding effect (for lack of a better word)
when the animated object crosses the 64k segment barrier since the program
has to pause and switch between segments, and how fast your computer is will
not matter because the animation can't swap a large image to the screen in
one pass the banding effect will still occur.
 SVGA page flipping appears to eliminate the banding effect, at least as high
as in the 640x480x256 mode, I haven't really pushed to it's limits yet but
so far in the early tests it has done well. SVGA page flipping is the same
as page flipping in standard VGA, except of course that resolution is higher.
I don't claim to know exactly how this paging is done, but it does make
animation easier in SVGA modes by removing the need to allocate a large
system memory page and any worries about flickering. I put this package out
in the hopes of spreading it's wide use (imagine, no more crummy 320x200x256
animation). Page flipping probably isn't perfect and not all SVGA cards have
multiple pages, but it certainly has the most potential. As graphics cards
get more advance this potential could be expanded upon. Also, believe it or
not, if you have enough memory on your graphics card, page flipping can be
done in 15, 16 & 24-bit modes.
 This package was tested on a ATI Ultra Plus that had 2 megs of card ram
and was compiled in Borland C. The C source should work with other C
compilers but may need some altering, however the assembly code is done in
TASM format and while the object file probably can be called from most C
compilers, adding extra features with other kinds of assembly compilers will
require it to be rewritten.

 Now to the actual stuff in this package. SVGAPAGE.EXE is the SVGA page
flipping program, natch, of a simple white square (size:300x196) moving
across the screen and comes with commented source code. In order to use
it, the VESA graphic mode must be set (SVGAPAGE will list them for
you if not included) like so:
							SVGAPAGE 101
also speed can be optionally between 0 and 120 like so:
							SVGAPAGE 101 5

 I've also included SVGANIM.FLC, which does the same animation as the
program SVGAPAGE.EXE in this package and you should notice a banding effect
that show ups in the FLC but not the EXE even though they're for the same
screen resolution (assuming you've set the EXE to use parameter vesa mode
101).

 That's it, have fun.

 Danny Hawrysio.

 P.S. I can be reached at VR SIG (416)631-6625

