Mail Archives: djgpp/1997/02/08/21:51:15
From: | Till Harbaum <harbaum AT ra DOT ibr DOT cs DOT tu-bs DOT de>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | caveat bc3.1 -> djgpp
|
Date: | 08 Feb 1997 17:33:42 +0100
|
Organization: | TU Braunschweig, Informatik (Bueltenweg), Germany
|
Lines: | 25
|
Sender: | harbaum AT logic
|
Distribution: | world
|
Message-ID: | <yks914z9s0p.fsf@ra.ibr.cs.tu-bs.de>
|
NNTP-Posting-Host: | logic.ibr.cs.tu-bs.de
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Hi!
The last days i ported a program from bc3.1 to djgpp. I soon detected
that djgpp gives me a bc compatible int86(..) call with the appropriate
REGS union.
Sometimes i had very strange symptoms in my program: The 3d glasses
were not detected or my mouse driver went mad. When and what went
wrong relied somehow on the things i did before starting my program.
Then i realized that the x registers (ax,bx,cx..) are 32 bit in djgpp
and sometimes return values greater than 16 bit. Using the __dpmi_int(..)
call and its __dpmi_regs solved my problem.
Now the question:
Why are the x registers from the REGS union 32 bits long and
the x registers from __dpmi_regs 16 bit? (looking into the header
file shows, that its author did mind about 16/32 things)
Perhaps someone (Eli?) should mention this in the faq?
Ciao,
Till
T DOT Harbaum AT tu-bs DOT de
- Raw text -