dos4gw stub exec failed

Enrico Horn farmboy1 at subdimension.com
Tue Jan 21 15:30:46 CST 2003


Hi
I have some dos games that want to exec dos4gw.exe when starting.
but this seems to fail.
I hope i read the debug messages correctly and the comment from
file:Win32HandleToDosFileHandle is still valid.
what happens is dos:int21 wants to open file with the dos handle and then read 
from it.
reading the file calls the function file:ReadFile with the
converted win32 file handle which is invalid if the above mentioned comment is 
correct.

Any ideas how to solve this or am I completely off-track here.

Ciao
Enrico
farmboy1 at subdimension.com

log extract:
Call DOS int 0x21 ret=00b7:15d0
 eax=00003d00 ebx=000009f0 ecx=0000106a edx=00000a76 esi=00000a76 edi=0000ffff
 ebp=000009ce esp=000009ca ds=0319 es=0319 fs=0000 gs=0000 flags=000b0246
trace:int21:DOSVM_Int21Handler AX=3d00 BX=09f0 CX=106a DX=0a76 SI=0a76 DI=ffff 
DS=0319 ES=0319 EFL=000b0246
080eef28:Call kernel32.INT_Int21Handler(416d2c54) ret=4149829e
trace:int21:INT_Int21Handler OPEN mode 0x00 C:\CCS\dos4gw.exe
trace:file:_lopen ('C:\CCS\dos4gw.exe',0000)
trace:file:CreateFileW L"C:\\CCS\\dos4gw.exe" GENERIC_READ FILE_SHARE_READ 
FILE_SHARE_WRITE OPEN_EXISTING  attributes 0x0
trace:dosfs:DOSFS_GetFullName L"C:\\CCS\\dos4gw.exe" (last=1)
trace:dosfs:DOSFS_FindUnixName /home/windows,L"CCS\\dos4gw.exe"
trace:dosfs:DOSFS_ToDosFCBFormat (L"CCS\\dos4gw.exe", 0x416d19bc)
trace:dosfs:DOSFS_OpenDir "/home/windows"
trace:dosfs:DOSFS_ReadDir Read: long_name: L".", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"..", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"windows", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"Program Files", short_name: 
(null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"Temp", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"Angel", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"Buffy", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SFV32w.GID", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SFV32w.hlp", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"dcm95cfg.exe", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"dcom98.exe", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"quicksfv.exe", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"quicksfv.ini", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"sfv32w.exe", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"Spiele", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"wingtk-0.2.exe", short_name: 
(null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"dxdiag.exe", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"CCS", short_name: (null)
trace:dosfs:DOSFS_FindUnixName (/home/windows,L"CCS\\dos4gw.exe") -> L"CCS" 
(L"CCS")
trace:dosfs:DOSFS_FindUnixName /home/windows/CCS,L"dos4gw.exe"
trace:dosfs:DOSFS_ToDosFCBFormat (L"dos4gw.exe", 0x416d19bc)
trace:dosfs:DOSFS_OpenDir "/home/windows/CCS"
trace:dosfs:DOSFS_ReadDir Read: long_name: L".", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"..", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SAMPLE.AD", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"OBJECT.DAT", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"CCSSTR.DAT", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"ADRV688.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"JAMMER.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"PROAUDIO.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"RAP10.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SB16.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SBLASTER.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SBPRO.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SNDSCAPE.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"SNDSYS.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"ULTRA.DIG", short_name: (null)
trace:dosfs:DOSFS_ReadDir Read: long_name: L"DOS4GW.EXE", short_name: (null)
trace:dosfs:DOSFS_FindUnixName (/home/windows/CCS,L"dos4gw.exe") -> 
L"DOS4GW.EXE" (L"DOS4GW.EXE")
trace:dosfs:DOSFS_GetFullName returning /home/windows/CCS/DOS4GW.EXE = 
L"C:\\CCS\\DOS4GW.EXE"
trace:dosfs:GetDriveTypeW (L"C:\\CCS\\DOS4GW.EXE")
trace:file:CreateFileW returning 0x68
trace:file:Win32HandleToDosFileHandle Got 5 for h32 0x68
080eef28:Ret  kernel32.INT_Int21Handler() retval=00000005 ret=4149829e
trace:int21:DOSVM_Int21Handler returning: AX=0005 BX=09f0 CX=106a DX=0a76 
SI=0a76 DI=ffff DS=0319 ES=0319 EFL=000b0246
Ret  DOS int 0x21 ret=00b7:15d0
 eax=00000005 ebx=000009f0 ecx=0000106a edx=00000a76 esi=00000a76 edi=0000ffff
 ebp=000009ce esp=000009ca ds=0319 es=0319 fs=0000 gs=0000 flags=000b0246
Call DOS int 0x21 ret=00b7:1f9f
 eax=00004400 ebx=00000005 ecx=00000005 edx=00000005 esi=0000038a edi=00000005
 ebp=000009ce esp=000009ba ds=0319 es=0319 fs=0000 gs=0000 flags=000b0202
trace:int21:DOSVM_Int21Handler AX=4400 BX=0005 CX=0005 DX=0005 SI=038a DI=0005 
DS=0319 ES=0319 EFL=000b0202
080eef28:Call kernel32.DosFileHandleToWin32Handle(00000005) ret=414965a0
080eef28:Ret  kernel32.DosFileHandleToWin32Handle() retval=00000068 
ret=414965a0
080eef28:Call kernel32.DOSFS_GetDeviceByHandle(00000068) ret=414965a6
080eef28:Ret  kernel32.DOSFS_GetDeviceByHandle() retval=00000000 ret=414965a6
080eef28:Call kernel32.INT_Int21Handler(416d2c54) ret=41496676
trace:int21:ioctlGetDeviceInfo (5)
080eef28:Ret  kernel32.INT_Int21Handler() retval=00000942 ret=41496676
trace:int21:DOSVM_Int21Handler returning: AX=4400 BX=0005 CX=0005 DX=0942 
SI=038a DI=0005 DS=0319 ES=0319 EFL=000b0202
Ret  DOS int 0x21 ret=00b7:1f9f
 eax=00004400 ebx=00000005 ecx=00000005 edx=00000942 esi=0000038a edi=00000005
 ebp=000009ce esp=000009ba ds=0319 es=0319 fs=0000 gs=0000 flags=000b0202
Call DOS int 0x21 ret=00b7:1f9f
 eax=00004400 ebx=00000005 ecx=00000005 edx=00004000 esi=00000a76 edi=00000005
 ebp=000009ce esp=000009c2 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0246
trace:int21:DOSVM_Int21Handler AX=4400 BX=0005 CX=0005 DX=4000 SI=0a76 DI=0005 
DS=0319 ES=0319 EFL=000b0246
080eef28:Call kernel32.DosFileHandleToWin32Handle(00000005) ret=414965a0
080eef28:Ret  kernel32.DosFileHandleToWin32Handle() retval=00000068 
ret=414965a0
080eef28:Call kernel32.DOSFS_GetDeviceByHandle(00000068) ret=414965a6
080eef28:Ret  kernel32.DOSFS_GetDeviceByHandle() retval=00000000 ret=414965a6
080eef28:Call kernel32.INT_Int21Handler(416d2c54) ret=41496676
trace:int21:ioctlGetDeviceInfo (5)
080eef28:Ret  kernel32.INT_Int21Handler() retval=00000942 ret=41496676
trace:int21:DOSVM_Int21Handler returning: AX=4400 BX=0005 CX=0005 DX=0942 
SI=0a76 DI=0005 DS=0319 ES=0319 EFL=000b0246
Ret  DOS int 0x21 ret=00b7:1f9f
 eax=00004400 ebx=00000005 ecx=00000005 edx=00000942 esi=00000a76 edi=00000005
 ebp=000009ce esp=000009c2 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0246
Call DOS int 0x21 ret=00b7:17a7
 eax=00003f41 ebx=00000005 ecx=0000001c edx=00000ac6 esi=00000005 edi=0000041e
 ebp=000009e6 esp=000009d8 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0202
trace:int21:DOSVM_Int21Handler AX=3f41 BX=0005 CX=001c DX=0ac6 SI=0005 DI=041e 
DS=0319 ES=0319 EFL=000b0202
080eef28:Call kernel32.INT_Int21Handler(416d2c54) ret=4149829e
trace:int21:INT_Int21Handler READ from 5 to 0319:0AC6 for 28 byte
trace:file:ReadFile 0x68 0x3c56 28 0x416d26dc (nil)
080eef28:Ret  kernel32.INT_Int21Handler() retval=0000001c ret=4149829e
trace:int21:DOSVM_Int21Handler returning: AX=001c BX=0005 CX=001c DX=0ac6 
SI=0005 DI=041e DS=0319 ES=0319 EFL=000b0202
Ret  DOS int 0x21 ret=00b7:17a7
 eax=0000001c ebx=00000005 ecx=0000001c edx=00000ac6 esi=00000005 edi=0000041e
 ebp=000009e6 esp=000009d8 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0202
Call DOS int 0x21 ret=00b7:1849
 eax=00003e05 ebx=00000005 ecx=00000005 edx=00000f20 esi=00000005 edi=00000f0c
 ebp=00000a6c esp=000009e8 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0206
trace:int21:DOSVM_Int21Handler AX=3e05 BX=0005 CX=0005 DX=0f20 SI=0005 DI=0f0c 
DS=0319 ES=0319 EFL=000b0206
080eef28:Call kernel32.INT_Int21Handler(416d2c54) ret=4149829e
trace:int21:INT_Int21Handler CLOSE handle 5
trace:file:_lclose16 5 (handle32=0x68)
080eef28:Ret  kernel32.INT_Int21Handler() retval=00000000 ret=4149829e
trace:int21:DOSVM_Int21Handler returning: AX=0000 BX=0005 CX=0005 DX=0f20 
SI=0005 DI=0f0c DS=0319 ES=0319 EFL=000b0206
Ret  DOS int 0x21 ret=00b7:1849
 eax=00000000 ebx=00000005 ecx=00000005 edx=00000f20 esi=00000005 edi=00000f0c
 ebp=00000a6c esp=000009e8 ds=0319 es=0319 fs=0000 gs=0000 flags=000b0206




More information about the wine-devel mailing list