Interrupts / Move most of int31 to winedos

Andreas Mohr andi at
Wed Nov 6 12:19:19 CST 2002

On Wed, Nov 06, 2002 at 12:12:45PM -0500, Dimitrie O. Paun wrote:
> On November 6, 2002 11:47 am, Andreas Mohr wrote:
> > If anyone needs that, I guess I could easily dig up the mail from Ulrich
> > Weigand that explained the miracles accomplished at that time in great
> > detail. (it was not much more other than pure luck that we were able to do
> > what we did with Win32s support)
> That'd be good. Is there _any_ reasonable reason for not dropping
> the silly Win32s altogether?
Hmm, not sure.

Check out the comment
         * If this is the first time we are called for this process,
         * hack the memory image of WIN32S16 so that it doesn't try
         * to access the GDT directly ...
in msdos/vxd.c.

We needed to support loading of the whole Win32s subsystem, at that time
at least.
Ulrich Weigand did the 0x10000 offset shift because Win32s intended to
create selectors with base addr 0xffff0000 (not possible on Linux !),
so he needed to shift all W32S address calculations by 0x10000 to fight
that problem.
Anyway, that's probably irrelevant.
What's relevant is whether we still need to be able to use a real Win32s
subsystem or not (and whether it's even still possible !).
Most likely we don't need it any more, since Win32s apps are *supposed*
to work perfectly not only on Win3.1 + Win32s, but also on a real Win32
box (which doesn't have Win32s specific functions).
And as Wine has pretty good Win32 support nowadays, it's probably not
needed any more.
The application that I had problems with at that time was a Win3.1 version
of Mathcad, BTW (IIRC) (hmm, was it Mathcad 3.1 ??).
And Ulrich had been some great help in making this stuff work !

I should probably try to run Mathcad 3.1 again and report any result.

Andreas Mohr                        Stauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604      

More information about the wine-devel mailing list