Login to Account Create an Account
Posted 11 September 2006 - 11:06 PM
It works fine as a standard VGA adapter, although the resolution and color depth leave much to be desired. I have experimented with forcing different drives on it, and have met some interesting results -
- Intel i810/810E/810E-DC100 driver installs and works fine in 640x480x4; changing to any other mode will result in the driver locking up during initialisation.
- Intel i830/840/855/865 drivers - same as above
- Intel official 945GM driver for XP, with edited INF - bluescreen during init
- SciTech 945GM drivers - not available, and the 945G drivers refuse to install. I can't figure out how to unpack the installer entirely and get the actual driver core files and INFs.
- Windows 98 SuperVGA - here's where it gets interesting: once again, it works fine in 640x480x4 (standard VGA mode), but unlike the standard VGA driver, it allows one to change the resolution up to the maximum supported by the monitor (in this case 1024x768) and also enable 16-bit color depth. As above, changing the resolution beyond standard VGA causes the driver to fail to init, but it reverts to 640x480x4.
What I find most pleasant is that unlike most of the other drivers, the SuperVGA driver consists of only three small files - framebuf.dll, framebuf.drv, and supervga.drv, as opposed to the normal numerous files.
I've checked my 945GM with VESA test tool, and even successfully set it to one of the high-resolution modes via BIOS VESA functions. Perhaps the default supervga driver is just not initialising the mode correctly, otherwise it should work.
I'm planning the following tasks:
- Support 900-series integrated video chipsets (GMA900 and 950) - of course, only 2d will be supported, maybe accelerated GPU functions if possible.
- Write a universal video driver to replace the standard VGA driver. This will be very useful
As a side note, Windows XP (which is currently running on the machine with the 945GM) is unable to detect the 945GM's integrated graphics chip model, but is able to run it at 1024x768 16-bit color mode. The device manager shows "unknown device", and I am unable to find out what it's using as a video driver. Perhaps Windows XP already comes with a universal video driver? (Installed it on an 865G chipset mobo before, it detected and initialised the integrated video perfectly but without accelerated graphics support).
Comments, suggestions, etc. are welcome.
Posted 12 September 2006 - 07:27 PM
Some interesting fragments of code from the supervga driver I'm looking at... looks like it has more capabilities than I thought it would:
EnumRes:; (2:02C1) 02C1 xor ax, ax 02C3 cmp esi, 14000C8h ; 320x200 (0) 02CA jz l_1F1_329 02CC inc ax 02CD cmp esi, 14000F0h ; 320x240 (1) 02D4 jz l_1F1_329 02D6 inc ax 02D7 cmp esi, 2000180h ; 512x384 (2) 02DE jz l_1F1_329 02E0 inc ax 02E1 cmp esi, 2800190h ; 640x400 (3) 02E8 jz l_1F1_329 02EA inc ax 02EB cmp esi, 28001E0h ; 640x480 (4) 02F2 jz l_1F1_329 02F4 inc ax 02F5 cmp esi, 3200258h ; 800x600 (5) 02FC jz l_1F1_329 02FE inc ax 02FF cmp esi, 4000300h ; 1024x768 (6) 0306 jz l_1F1_329 0308 inc ax 0309 cmp esi, 5000400h ; 1280x1024 (7) 0310 jz l_1F1_329 0312 inc ax 0313 cmp esi, 4800360h ; 1152x864 (8) 031A jz l_1F1_329 031C inc ax 031D cmp esi, 64004B0h ; 1600x1200 (9) 0324 jz l_1F1_329 0326 mov ax, 4 ; default to 640x480 l_1F1_329: 0329 retn...and even support of more than 256 colors...
0272 mov ax, bpp 0275 cmp ax, 1 ; mono 0278 jz l_1F1_296 027A cmp ax, 4 ; 16-color 027D jz l_1F1_296 027F cmp ax, 8 ; 256-color 0282 jz l_1F1_296 0284 cmp ax, 16 ; 64k/32k color 0287 jz l_1F1_296 0289 cmp ax, 24 ; 16M color 028C jz l_1F1_296 028E cmp ax, 32 ; 16M color + Alpha 0291 jz l_1F1_296 0293 mov ax, 8 ; default to 256-color modeAll I'm looking for right now is the registers documentation for the 900 series integrated graphics.
Posted 12 September 2006 - 09:10 PM
here it is: http://www.intellinuxgraphics.org/
This driver supports all intel graphics chipsets, going back to the i810, and up to the new 965G. I think this should suffice as documentation for you.
Let me know if this helps you out.
Edited by jimmsta, 12 September 2006 - 09:19 PM.
Posted 12 September 2006 - 10:07 PM
Wait, looks like bools***.
That definitely worked as in it booted to the desktop, but when I attempted to open a command prompt it crashed. (Only later did I read in the documentation that windowed DOS boxes aren't supported). This is unacceptable, since one of the main reasons for using win98se on my machine is its superior DOS emulation, and not being able to run multiple windowed DOS boxes is a major setback.
It may be my fault. Try to expirement with different .3GR and .386 files. (IIRC 386Grabber files provide support for video-mode changing for DOS apps...