Discussion:
XGA and NT4
(too old to reply)
Louis Ohland
2024-02-06 15:43:32 UTC
Permalink
Folks, where was the problem in getting 16-bit color on the XGA-2 under NT4?

xga.drv, xga.vxd, vga256.dll?
Louis Ohland
2024-02-06 15:50:07 UTC
Permalink
https://comp.sys.ibm.ps2.hardware.narkive.com/nFRUs4Xe/w98se-mca-adapters

my email is refusing to send.
Post by Louis Ohland
Folks, where was the problem in getting 16-bit color on the XGA-2 under NT4?
xga.drv, xga.vxd, vga256.dll?
Ryan Alswede
2024-02-07 19:16:06 UTC
Permalink
Yes going to start looking into it now that my 9-K NT work is wrapping up. There are Windows NT source code leaks so we'll see.
Ryan Alswede
2024-02-07 21:44:03 UTC
Permalink
Do we have UnalZ source code? For the XGA Mode definitions?

We clearly see the modes in XGA driver in the leaked NT code are support for 64k color 16 bit 256 etc .
XGA1_MODE_1024_768_16_CO
XGA1_MODE_1024_768_64_CO

but for XGA2 only see this one
XGA2_MODE_1024_768_256

Then it goes to:
// New IBM modes
// XGA 1 modes
..............
These all are only _8 color
XGA2_640x480x8x72Hz
XGA2_640x400x8x84Hz

getAvailableModes over in the xga.dll Have to drill down this in the code but we should be able to point this to the XGA2 UnalZ driver to get the new modes IF we don't have source code to cut and paste the modes into the xga driver.
Louis Ohland
2024-02-07 22:04:09 UTC
Permalink
What is the special sauce? 16 is 16-bit? Why then 64?
Post by Ryan Alswede
We clearly see the modes in XGA driver in the leaked NT code are support for 64k color 16 bit 256 etc .
XGA1_MODE_1024_768_16_CO
XGA1_MODE_1024_768_64_CO
Ryan Alswede
2024-02-08 01:19:28 UTC
Permalink
Post by Louis Ohland
What is the special sauce? 16 is 16-bit? Why then 64?
64k color? I think?

I'm able to compile the source code:
Linking Executable - c:\ddk\lib\i386\checked\xga.sys for i386
Linking Executable - c:\ddk\lib\i386\checked\xga.dll for i386

We can pretty much build what we want now. I either need the definitions from the XGA208 driver source or I'll have to figure out a way to point the dll to read the XGA2.sys
Ryan Alswede
2024-02-20 16:13:08 UTC
Permalink
I tried to change the driver to use the standard 16-bit color palette load method but it just blue screens.

Also tried pairing the xga2.sys with the framebuf.dll which is use in a lot of virtual machines as the video driver. It sees all the 256 color modes and one 65536 color mode. If I try to use the one listed 65536 color mode the screen redraws to long and distorted, the colors are very dark so no luck there.

Looking in the leaked 2000 SP1 retail build source code the only reference left in the source to xga is this one comment:
*... unless the display driver is xga.drv,
* because XGA cards aren't really VGA compatible

Yes looks to be true so far.
Louis Ohland
2024-02-20 17:30:27 UTC
Permalink
XGAKIT.ZIP IBM XGA Graphics routines. C and ASM Source. C Demo program.
https://www.ardent-tool.com/video/XGAKIT.ZIP
Post by Ryan Alswede
I tried to change the driver to use the standard 16-bit color palette load method but it just blue screens.
Also tried pairing the xga2.sys with the framebuf.dll which is use in a lot of virtual machines as the video driver. It sees all the 256 color modes and one 65536 color mode. If I try to use the one listed 65536 color mode the screen redraws to long and distorted, the colors are very dark so no luck there.
*... unless the display driver is xga.drv,
* because XGA cards aren't really VGA compatible
Yes looks to be true so far.
Louis Ohland
2024-02-20 20:09:12 UTC
Permalink
Ryan, are you using an XGA card or XGA-NI [XGA-2]?

"standard 16-bit color palette load method"

For which "standard"? VGA? XGA?

"If I try to use the one listed 65536 color mode the screen redraws to
long and distorted, the colors are very dark so no luck there."

I assume the 640x480x 64k palette bypass mode [aka direct color mode]?
Post by Ryan Alswede
I tried to change the driver to use the standard 16-bit color palette load method but it just blue screens.
Also tried pairing the xga2.sys with the framebuf.dll which is use in a lot of virtual machines as the video driver. It sees all the 256 color modes and one 65536 color mode. If I try to use the one listed 65536 color mode the screen redraws to long and distorted, the colors are very dark so no luck there.
*... unless the display driver is xga.drv,
* because XGA cards aren't really VGA compatible
Yes looks to be true so far.
Ryan Alswede
2024-02-21 01:57:18 UTC
Permalink
Post by Louis Ohland
For which "standard"? VGA? XGA?
It's not a question of loading registers of XGA, that is already done by UnalZ's xga2.sys driver. The part we have to figure out is how to get the GDI of NT to pass through the right data through the video driver

Does any know Michal Necasek over on the OS2 museum website. Looks like he has tons of experience with NT video drivers. He could give us guidance.

Remember we don't need sys level, we need video driver which operates between the NT GDI engine and the sys. Passing the correct packet into the driver.sys

https://www.os2museum.com/wp/nt-video-miniport-uhd/

Loading...