Abacus DOS problem Lock Selector

Ove Kaaven ovehk at ping.uio.no
Fri Sep 20 08:38:58 CDT 2002

On Wed, 18 Sep 2002, Bruce McGovern wrote:

> I tried one of his apps, an old DOS version of Abacus.  Using the WINe with 
> Redhat 7.3, I get an error:
> Warning: unprotecting the first 64KB of memory to allow real-mode calls.
>           NULL pointer accesses will no longer be caught.

Normal for DOS apps.

> fixme:int31:INT_Int31Handler lock selector not supported

Locking memory was only necessary in real DOS because paging out critical
interrupt handlers and such under DOS was a recipe for disaster. It is not
important under a virtual "DOS box" like the one Wine implements.

> err:int31:INT_Int31Handler int31: unknown/not implemented parameters:
> int31: AX 0a00, BX 0005, CX 0000, DX 0000, SI 2bb2, DI 2bb2, DS 0267, ES 0267

"Get Vendor-Specific API entry point", not important

> wine: Unhandled exception, starting debugger...
> err:seh:EXC_DefaultHandling Unhandled exception code 80000102 flags 0 addr 0x43

Now this is what shouldn't happen. 80000102 is EXCEPTION_VM86_STI, which
is a very normal condition raised by __wine_enter_vm86 (and the DOSVM
event handling and signaling system), it should have been caught and
handled by the DOSVM subsystem in winedos (by dispatching interrupts).
Then again, if your app is a DPMI app, perhaps something does not handle
this right once the app enters protected mode. (You could ask the last
developer that I remember working on DPMI, Jukka Heinonen, I doubt I'll
have much time to fix a not-so-minor problem like this myself.)

More information about the wine-users mailing list