www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2002/01/03/06:54:29

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
X-Authentication-Warning: new-smtp2.ihug.com.au: Host p380-tnt3.syd.ihug.com.au [203.173.133.126] claimed to be acceleron
Message-ID: <006401c1944d$56429000$0102a8c0@acceleron>
From: "Andrew Cottrell" <acottrel AT ihug DOT com DOT au>
To: <djgpp-workers AT delorie DOT com>,
"Salvador Eduardo Tropea \(SET\)" <salvador AT inti DOT gov DOT ar>
Cc: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>,
"Andris Pavenis" <pavenis AT lanet DOT lv>, "Robert Hvhne" <robert DOT hoehne AT gmx DOT net>,
"Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be>
References: <10112311737 DOT AA21576 AT clio DOT rice DOT edu> <001301c1929e$5f4e9c80$0102a8c0 AT acceleron> <3C3314DF DOT FC34DB AT inti DOT gov DOT ar>
Subject: Re: NTVDM Error and TVision.
Date: Thu, 3 Jan 2002 22:53:30 +1100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Reply-To: djgpp-workers AT delorie DOT com

I traced it further and found that the NTVDM error occurs in the int 0x10
call fail when run under Win XP in a window. The offending function is
rh_restore_vga_state() in the vga.cc file. This function is called
from....from..... via... and finally the TSsreen destructor.

void rh_restore_vga_state()
{
 if (useBIOS_VGA_State)
   {// SET: It fails for some Matrox boards.
    __dpmi_regs r;
    if (vga_state_segment == -1)
        return;
    r.x.ax = 0x1c02;
    r.x.es = vga_state_segment;
    r.x.bx = 0;
    r.x.cx = 0x0007;
    __dpmi_int(0x10,&r);
   }
 else
 {
    VGAStateLoad(vgaState);
    }
}

If I force the code to use the VGAStateLoad() function then it works fine
(TV example and seteditor).

Could I get some feedback from people on with regards to the following as
the problem could be that my video card (Nvida MX (original, not 200 or
400)) could have a stuffed bios that causes a problem with the NTVDM:-
1) Could someone download the seteditor and run it with and without the -S
option in a window mode and see if it works.  The -S option forces
useBIOS_VGA_State = 0, no -S option sets it to 1.
2) Could someone download the seteditor and run it under 2K or XP with a non
Nvidia video card or non MX video card. This may confirm if it is video bios
related or just 2K and XP releated.

I tried the code on Win 98 with a TNT 2 and it worked fine. I can run
seteditor without it causing any NTVDM errors if I run it with the -S
option.

A possible solutions could be to always set useBIOS_VGA_State to 0 under NT.

By the way even with useBIOS_VGA_State = 0 I still get a NTVDM error in
Rhide, one issue found now to move onto the next one. More debugging to be
done.





- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019