delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/09/06/07:02:27

From: elio AT pvax DOT Ico DOT Olivetti DOT Com
>From: elio AT pvax (Elio Tondo)
Subject: Re: EMM387 under DPMI? Whoops! I meant EMU387...
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Date: Tue, 6 Sep 1994 11:53:34 +0200 (MET DST)
Cc: elio AT pvax DOT Ico DOT Olivetti DOT Com (Elio Tondo)

> >Just in case my typing error confused anybody...
> >
> >Is there any way of getting EMU387 to work under DPMI?
> 
> The only funny thing I've noticed is that printing of floating point values
> doesn't work under DPMI, all values are printed as "NaN" regardless.
> I noticed this using 1.11.maint5 and both emu387 and wemu387.  I haven't
> tested it under 1.12.m1 yet.  Could it be a problem in printf?

No, it's a problem in GO32 (a known limitation, more precisely).
GO32 in DPMI mode cannot handle the FPU emulation (this was true in
1.11, I did not test it in 1.12, but it should be the same).

An interesting thing is that there is an alternative DPMI DOS extender,
RSX, written by Rainer Schnither (rainer AT mathematik DOT uni-bielefeld DOT de)
and working (in DPMI mode only, by design), both with EMX binaries (EMX
is a gcc port to OS/2) and with DJGPP binaries up to 1.11 (probably also
1.12). This extender allows the use of FPU instructions in DPMI mode,
by using its own FPU emulator (which BTW is derived from the Linux
one, like wmemu112). It works, I tested it myself, with a simple
test program which prints sin(1) and gives the correct value with
RSX, and NaN with GO32 (486SX33, Win 3.1).

RSX comes in two versions, the original RSX with an external FPU emulator,
similar to EMU387, and the new RSX32, which is compiled with gcc and has
a built-in FPU emulator. The author claims that RSX is faster than GO32
with respect to I/O performance, but I did no tests, and I do not know its
compatibility / reliability. It can be found on:

   hermes.hrz.uni-bielefeld.de:/pub/systems/win3x/misc/dpmigcc4.zip
   ftp.cica.indiana.edu:/pub/pc/win3/programr/dpmigcc4.zip

All sources for the extender are included.

I don't want to start a "flame war" (pros and cons of RSX vs. GO32 etc.),
but maybe some ideas in RSX could be considered as GO32 extensions (or maybe
add-ons for 2.0), like the FPU emulation.

Any opinions?

 | Elio Tondo           | Internet:   elio AT pvax DOT ico DOT olivetti DOT com | 
 | Olivetti - R&D       | Uucp:    olivea.olivetti.com!pvax!elio |
 | Viale Gramsci 12     | Tel: +39-50-516554  Fax: +39-50-502664 |
 | 56125 Pisa, Italy    | All opinions expressed are only mine.  |


- Raw text -


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