This document may be useful for those of you with S3-805 cards with GENDAC enhanced BIOS. I successfully got 1024 x 768 x 256 and 800 x 600 x 64k resolutions at 60 hz and 56 hz refresh rates respectively on an ordinary 14" SVGA monitor (MediaScan 3A). 64k colors looks better especially with AVI files. Jon Seymour (jon@zeta.org.au) emailed me the essence of the procedure. I have not tested the procedure for other SVGA modes but there is no reason why it should not work.
It appears that the call to pfnPMSetmonitorTimings in svgadata.pmi is at the root of the problems faced by GENDAC owners. Warp's SVGA.EXE creates a SVGADATA.PMI that uses this call. The solution is to get a 2.1 version of SVGA.EXE and create another SVGADATA.PMI. Warp's SVGADATA.PMI is then patched by commenting out the errant call and replacing it with corresponding lines from the older SVGADATA.PMI that does not make this call. The older version of SVGA.EXE was extracted from s3os232.zip (beta S3 drivers for OS/2 2.1) and is included with this document. Warp's SVGA is also included for completeness. They are named OSVGA.EXE and WSVGA.EXE respectively.
For example, here are the lines (for my card) for 1024 x 768 x 256
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01); outb(0x3c8, 0x02); r1 = 0x56; outb(0x3c9, r1); r1 = 0x45; outb(0x3c9, r1); rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00); r103 = 0x22; boutb(1, 0x67, 0x3d4, 0x3d5);
This code is very similar for other modes; seems to differ only on the r1, r1 and r103 assignments for the 2 modes I tested.
swknasri@nus.sg