I am researching an interesting anomally in the VESA video implementations of different video chipsets. When calling 800X600 resolution at 8 bits/pixel, it would normally have a logical scan width of 800 pixels, but on some PCs it is showing up as 832 pixels! This can, of course, be coded around as the logical scan line length is not the same as the physical length, but...
I am trying to gather stats on what Video chipsets have this anomally.
I have put together a small routine that checks the video chipset for ts version (1.2, 2 or 3) etc plus other information such as the screen mode number (usually 0103H).
It implements the VESA call 4F00h to check the VESA version, then asks for screen mode 800 X 600 at 8 bit colour depth. (download from here: http://www.marbellacoast.com/800x600.exe
. You can also see the source code here: http://www.marbellacoast.com/800x600.bas
If you want to contribute to my research, have a go with this little executable from a command-line, it will write out to 800X600.txt. If you want to, please post the contents of the text file in this topic.
From a Win9x or DOS boot disk, (download one from www.bootdisk.com), copy the 800X600.exe file to the bootdisk and run it from the commandline as:
...the /log option turns on the text file logging. Of course, if you happen to have a text file in the same directory of that name, it will overwrite it :), but I guess that would be highly unlikely!!!
It is important to run it outside the Windows environment as Windows imposes layers between you and the hardware that often changes the results.
Please also mention whether you saw the test-card (very imporant).
The test card is a series of vertical bars that should show cleanly on the screen with no diagonals or corruption. To quit from the test card, just press a key and the program ends (not that exciting really) but the data it writes to the text file is vital for my research!!
Hopefully this can be run on old as well as new machines.
Many thanks for your help.