DOS3

lawson_whitney at juno.com lawson_whitney at juno.com
Mon Feb 25 19:03:24 CST 2002


On Mon, 25 Feb 2002, Ferenc Szalma wrote:

> Hi folks!
>
> Running a dictionary program I get the following message before I get to
> the interesting part of the win program:
>
> err:int21:DOS3Call int21: unknown/not implemented parameters:
> int21: AX 5001, BX 01d7, CX 0437, DX 0000, SI 01e0, DI 03e7, DS 03af, ES
> 0437
> wine: Unhandled exception, starting debugger
> err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr
> 0x402a4c37
>
> Do you have any idea how to proceed? I do not know what this DOS3Call
> means.
>
> Best,
>
> Ferenc Szalma
>
Means your app tried to do this:

--------D-2150-------------------------------
INT 21 - DOS 2+ internal - SET CURRENT PROCESS ID (SET PSP ADDRESS)
	AH = 50h
	BX = segment of PSP for new process
Notes:	DOS uses the current PSP address to determine which processes own files
	  and memory; it corresponds to process identifiers used by other OSs
	under DOS 2.x, this function cannot be invoked inside an INT 28h
	  handler without setting the Critical Error flag
	under MS-DOS 3+ and DR-DOS 3.41+, this function does not use any of
	  the DOS-internal stacks and may thus be called at any time, even
	  during another INT 21h call
	some Microsoft applications such as Quick C 2.51 use segments of 0000h
	  and FFFFh and direct access to the SDA (see AX=5D06h) to test whether
	  they are running under MS-DOS rather than a compatible OS; although
	  one should only call this function with valid PSP addresses, any
	  program hooking it should be prepared to handle invalid addresses
	supported by OS/2 compatibility box
	this call was undocumented prior to the release of DOS 5.0
SeeAlso: AH=26h,AH=51h,AH=62h

and Wine didn't know how to do that, which probably annoyed the app.
That description is from the intrlist directory that was on the floppy
with one of the undocumented DOS books that I have lost to domestic
downsizing.

Write code to accomplish that function, and when you get it working,
(you have an app to test it with), make up a patch and offer it to Wine.
Maybe I or someone more competent will look into it when it gets a
chance.

DOS3Call I believe is a Windows function an app can call to run or
simulate a MSDose interrupt.  I don't know for sure.  Wine is as close
as I ever got to Windows, nor ever will.

Lawson
---oof---


________________________________________________________________
GET INTERNET ACCESS FROM JUNO!
Juno offers FREE or PREMIUM Internet access for less!
Join Juno today!  For your FREE software, visit:
http://dl.www.juno.com/get/web/.




More information about the wine-users mailing list