Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

SuperVGA+ Project

- - - - -

  • Please log in to reply
7 replies to this topic

#1
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
I recently got a laptop, and unfortunately it contained an Intel 945GM chipset with integrated graphics (GMA950).

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.


How to remove advertisement from MSFN

#2
Tihiy

Tihiy

    the creator

  • Member
  • PipPipPipPipPipPipPip
  • 1,932 posts
  • Joined 19-November 04
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

Look&Check here:
http://www.msfn.org/...showtopic=69569

Universal SVGA 8bit driver. Apply instructions to system.ini instead of system.cb to use it in normal mode.
Hope this helps.

#3
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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.

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 mode
All I'm looking for right now is the registers documentation for the 900 series integrated graphics.

#4
jimmsta

jimmsta

    computer janitor

  • Member
  • PipPipPip
  • 388 posts
  • Joined 04-May 05
  • OS:Windows 8.1 x64
  • Country: Country Flag
Didn't Intel just release their video drivers as opensource for linux?

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. :thumbup

Edited by jimmsta, 12 September 2006 - 09:19 PM.

Creator and Maintainer of BootZilla.org

#5
Tihiy

Tihiy

    the creator

  • Member
  • PipPipPipPipPipPipPip
  • 1,932 posts
  • Joined 19-November 04
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

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.

Wait, looks like bools***.
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...

#6
jimmsta

jimmsta

    computer janitor

  • Member
  • PipPipPip
  • 388 posts
  • Joined 04-May 05
  • OS:Windows 8.1 x64
  • Country: Country Flag
Just wondering if anything came of this project, and if the info I found was the least bit helpful.
Creator and Maintainer of BootZilla.org

#7
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
Abandoned, see the Display Driver for Intel 900-Series Chipset topic for a further extension of this.

#8
awergh

awergh

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,059 posts
  • Joined 02-October 05
  • OS:none specified
  • Country: Country Flag
not even a 256 colour driver, didnt windows 3.1 have a generic super vga driver




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users