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.