'===========================================================================
' Subject: VGA/SVGA INTERRUPTS                Date: 03-03-96 (20:38)       
'  Author: Mike Huff                          Code: Text                   
'  Origin: FidoNet QUIK_BAS Echo            Packet: FAQS.ABC
'===========================================================================
'> inreg.ax = &H1C ' Sets 640X480X256 mode 
'> CALL INTERRUPT(&H10, inreg, outreg)

This routine doesn't work so great on my machine (or at least my Trident VESA
card.) You used the wrong value for the AX register. Here's a list that
should work on any VGA/SVGA machine:

AX      Resolution     Text H/W         Segment      
--------------------------------------------------------------------------
5Ch for 640x400x256     (80x25)          A000h       
5Dh for 640x480x256     (80x30)          A000h
6Ch for 640x480x16M     (80x30)          A000h       
5Bh for 800x600x16      (100x75)         A000h       
5Eh for 800x600x256     (100x75)         A000h       
5Fh for 1024x768x16     (128x48)         A000h       
62h for 1024x768x256    (128x48)         A000h       
63h for 1280x1024x16    (160x64)         A000h       
64h for 1280x1024x256   (160x64)         A000h       

Some of the higher res or color modes may not work on every video card.
You should also use direct memory writes instead of the extremely slow BIOS
"PSET" routines. Here's an example in case you don't know:

DEF SEG = &HA000
POKE (Xmax& * Y& + X&), TheColorYaWant%
DEF SEG
