Hi,
On Sun, Sep 21, 2003 at 04:07:20PM +0200, Andreas Mohr wrote:
On Sun, Sep 21, 2003 at 03:51:32PM +0200, Michael Stefaniuc wrote:
The DOS32A extender checks if a dos32 extender is already installed. As we probably don't want to implement one silence this check.
License: LGPL, X11 Changelog: Michael Stefaniuc mstefani@redhat.com
- silence the FIXME's produced by a check for a dos32 extender
- silence the FIXME produced by an install check of MVSOUND.SYS
Sorry, that's incorrect.
My DOS knowledge is restricted and i still have to read a lot about it but i have to disagree with you.
Wine DOES have to implement a DOS extender.
No. int21 functions 0xff are the functions provided by dos4gw and other compatible extenders. My patch silences the FIXME's for that. DOS didn't came with dos4gw nor with an other extender compatible to dos4gw. dos4gw was delivered with the apps that needed it so we need to make wine to be able to run the dos4gw or a clone of it.
How would a DOS extender which does that check actually "extend" DOS under Wine?
Like the dos32a extender does it: using the DPMI host of wine and hooking itself into int21. And dos32a works with wine (well, not all dos32a test programs that come with the source code work, but most of them do) and can replace dos4gw (tested myself with the "Imperium Romanum" installer).
Answer: it wouldn't, since it can't, since it isn't able to establish protected mode, since it's already enabled.
It uses the DPMI mechanism already implemented in wine.
Thus it's Wine which has to do it, since it has proper access to 32bit linear address and selector mapping functionsI (and the DOS extender querying that would gracefully step back from providing DPMI).
Programs implementing DPMI functionality need to be able to work with an existing DPMI host and that is provided by wine.
And thus we also need to announce it.
The DPMI functionality is announced by wine.
If Wine didn't do it, then nobody else could establish DOS extender functionality, and we'd lose some functionality here.
(that's also the reason why Windows has a DPMI extender since Windows 3.0, BTW...)
Wine implements a DPMI host.
bye michael