Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

HX/OGLTEST error (Users)

posted by Doug E-mail, 26.05.2011, 08:01

Japheth -

> I know what VESA32 does, so I might be able to help.

You da man!

> I guess you're calling ogltest from a text mode.

Yes. I never thought to call it from a graphics mode!

> OTOH, the crash dump tells me that VESA32 erroneously thinks it
> has access to the frame buffer.

Now that's interesting. I'm successfully using your VESAMTRR...
here are results from VSPEED (benchmark included with John
Hinkley's FASTVID):

VESA mode 0101h reports LFB address: F0000000
VESA mode 4101h reports LFB address: F0000000
PCI config10 reports possible LFB address: F0000000
PCI config14 reports possible LFB address: E8000000

VSPEED will use VESA mode 4101h and F0000000h as the LFB address.

32-bit protected-mode video benchmark version 1.10. (640x480x8bit)

Default:

Copy DRAM to banked VGA: 50.14 million bytes per second
Copy DRAM to linear framebuffer: 53.08 million bytes per second

After VESAMTRR:

Copy DRAM to banked VGA: 50.14 million bytes per second
Copy DRAM to linear framebuffer: 79.99 million bytes per second

That's about a 50% increase for LFB Write Combining (i'm assuming
that's what the second measurement means) and no improvement for
Banked VGA. (This is in a P4, 2.8ghz, i865G system.)

> So the test is to call vesa int 10h, ax=4F01h, current mode is
> TEXT (video mode 3) and then see if
>
> - the call succeeds

Ok, i did a "quickie" with DEBUG, assembling some code then using
P command to proceed thru it and looking at the registers.
Setting CX = 3 (video mode 3), after calling Int 10h, AX returned
014Fh. According to RB's interrupt list, the function is
supported (AL = 4Fh), but it failed (AH = 01h). So there you
have it! (Just to double check, i did the same but with CX =
0101h -- a standard VESA mode -- and the call succeeded: AX =
004Fh.)

> - field MemoryModel (offset 1Bh in structure below) is zero.

I guess no sense in doing this, as the call failed.

> SVGAINFO struct
> ...
> SVGAINFO ends

Thanks -- this will be helpful in future projects!

> I also added a missing check in VESA32. When trying to save the
> vesa state, it always assumed that int 10h, ax=4f01h succeeded
> (it perhaps might fail for standard VGA text modes on your
> system).

Looks like a definite possibility. So i wonder if it's universal
VESA behavior or just my BIOS? I have some other systems i can
also test it on.

> EDIT: I uploaded a new HXRT217.zip which contains the modified
> VESA32.DLL.

Downloaded it... and OGLTEST now works ok with SAVE=1 in
HXGUIHLP.INI file.

> MS-DOS forever!

YES!!!

- Doug B.

 

Complete thread:

Back to the forum
Board view  Mix view
22762 Postings in 2122 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum