S3 805 - 1024 x 768 x 256 distortion
Last Updated: 11th December, 1994
Symptoms
1024 x 768 x 256 display mode is distorted. Symptoms depend on
the monitor type and refresh rate selected but may include one or more
of the following:
- loss of horizontal and/or vertical sync
- bulging of the display in the middle
- stretching of the display at the top and bottom
These symptoms occur even if
DOS/Windows is known to work in 1024 x 768 x 256 mode on the same
machine.
Hardware
VESA LB Video card with S3 805 chip, 1MB RAM. These
messages are written to the display during the boot process:
Quadtel S3 86C801/805 GENDAC Enhanced VGA Bios Version 2.13.06
Note: this is the only type of S3 card for which this
problem is known to exist. However, if you find a problem with
a different type of S3 card for which this fix works,
please send me the details and I will update this page accordingly.
Problem
The problem seems to be that SVGA.EXE shipped with Warp generates
an SVGADATA.PMI file that does not properly "program" this particular
type of S3 card.
Procedure
The idea behind the fix is to "correct" the SVGADATA.PMI file
so that it programs the S3 card in the correct way.
It would help if you understand what each statement of the SVGADATA.PMI
file does. But I don't, and that didn't stop me fixing my particular
problem. Here are the steps you might try to get it working on your
system:
- Run the warp version of SVGA.EXE (from a full screen OS/2 session)
svga on
This generates the Warp version of \OS2\SVGADATA.PMI that you need as a
base for later steps
- Find an old version of SVGA.EXE. You can look in the following
places:
- Backup the current versions of SVGADATA.PMI and SVGA.EXE
mkdir \os2\pmi
mkdir \os2\pmi\warp
copy \os2\svga.exe \os2\pmi\warp
copy \os2\svgadata.pmi \os2\pmi\warp
- Run the "old" version of SVGA.EXE to generate the "old" svgadata.pmi
svga on
- Backup the "old" version of SVGADATA.PMI
mkdir \os2\pmi\old
copy \os2\svgadata.pmi to \os2\pmi\old
- Restore the "warp" version of SVGADATA.PMI
copy \os2\pmi\warp\svgadata.pmi \os2
- Edit \OS2\SVGADATA.PMI and replace the 1024 x 768 x 256 mode
configuration with the equivalent section from
\OS2\PMI\OLD\SVGADATA.PMI
- Reboot and test the changes.
-
Once you have created a version of SVGADATA.PMI file that
works, remember to save it in a safe place. If you run SVGA.EXE
again you will lose your changes and have to repeat this
procedure again.
Notes
You should only try this fix only as a last resort.
Prior to applying these procedures, please ensure that:
- you have installed the Warp 32bit S3 drivers
- you have actually tried to run in 1024 x 768 x 256
and experienced one or more of the symptoms
described above
- you have read Chapter 17 "Video Procedures"
in the Warp User's Guide
- you have read your monitor and adapter manuals
and have configured your card with the right
jumper connections (if any)
- you have configured refresh rates and monitor
types that match your hardware (in the
System notebook of the System Setup folder)
I did experiment with using the SVGADATA.PMI file generated by
the "old" SVGA.EXE. OS/2 PM worked fine in 1024 x 768 x 256 mode but
Windows support was broken. The more conservative approach of using
just the 1024 x 768 x 256 mode configuration from the "old" .PMI file
proved to be successful in getting both PM and Windows working in the
desired resolution.
In my case I was able to refine the required modifications even
further by replacing the following section from the "warp" 1024 x ...
mode configuration:
warp>
warp> /*
warp> * Set Other Registers
warp> */
warp>
warp> call pfnPMISetMonitorTimings;
with the following section from the "old" 1024 x ...
configuration.
old> /*
old> * Set Other Registers
old> */
old>
old> rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
old> outb(0x3c8, 0x02);
old> r1 = 0x74;
old> outb(0x3c9, r1);
old> r1 = 0x2b;
old> outb(0x3c9, r1);
old> rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
old>
old> r103 = 0x02;
old> boutb(1, 0x67, 0x3d4, 0x3d5);
Disclaimer
The author assumes no responsibility for any
loss sustained as a direct or indirect result
of applying, in part or in whole, the procedures
described above.
VIDEO HARDWARE CAN BE PHYSICALLY DAMAGED IF NOT
CONFIGURED PROPERLY. TRY THESE SUGGESTIONS AT YOUR OWN RISK.
Jon Seymour (jon@zeta.org.au)
The Warp Pharmacy