X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Date: Sat, 28 Aug 2004 12:03:16 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-ID: <01c48cde$Blat.v2.2.2$0122c220@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 2.2.2 In-reply-to: <10iv5fkr0asqh36@corp.supernews.com> (message from David Winfrey on Fri, 27 Aug 2004 20:13:40 -0000) Subject: Re: BIOS video fails under XP? References: <10iv5fkr0asqh36 AT corp DOT supernews DOT com> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: David Winfrey > Date: Fri, 27 Aug 2004 20:13:40 -0000 > > I have written a small, simple hex editor. It works properly > in a DOS box under Win98, compiled either with DJGPP or with > Turbo C 2.01. In WinXP, the 16-bit Turbo C version works, > but the DJGPP version displays a screenful of garbage. I > suspect the problem is in the BIOS video interrupt interface. > Is this a known problem? Does the latest DJGPP work properly > with the Int 10h functions? I suspect that your code invokes Int 10h in a way that is not guaranteed to work under DPMI. Please see chapter 18 of the DJGPP FAQ list (especially sections 18.1 and 18.2) for how to do that reliably, and if that doesn't help, please post here your code that calls Int 10h. In a nutshell, you should use __dpmi_int, not int86 or INT NN instructions in inline assembly, to invoke real-mode services from a DJGPP program.