otya128 / winevdm Goto Github PK
View Code? Open in Web Editor NEW16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
License: GNU General Public License v2.0
16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
License: GNU General Public License v2.0
The following error is displayed:
08c0:err:gdi:AddFontResource16 2149: ("civfonts.fon")
The file is then impossible to delete until Windows reboot.
As the title says, the emulator fails to work on 64-bit NT 5.2.
Even when you fix the target subsystem version from 6 to 4 via HEX editing, and it finally asks you to select the binary, it still cannot start the 16-bit application (you can see the drwtsn32.exe shortly spawning in the Task Manager, then quietly dying together with otvdm.exe).
I copy the the content of the file otvdm-v0.5.0a.zip on a Windows 10 Pro x64 1803 in the directory C:\Portable\otvdm. Starting CALC.EXE from Windows 3.1 caused the following error message.
Installing the Microsoft Visual C++ 2017 Redistributable (x64) - 14.15.26706 doesn't change the error message. Then I copied the file VCRUNTIME140.DLL from C:\WINDOWS\SYSTEM32 into the directory C:\Portable\otvdm. Starting CALC.EXE again caused this error message.
A note about required Runtime files in the readme would be helpful.
The version of dispdib that comes with Nitemare 3d calls into the vbios with interrupt 10h which appears to get handled as an coprocessor fault.
Apparently in the documentation, you're supposed to be able to run DOS apps, but for some reason I am unable to.
I wanted to fire up the ancient QuickC for Windows.. and it crashed out. Looks like missing win87em calls.
Thanks again for winevdm, it's super awesome!
9: print_stack - 0x0F488A70
8: catch_exception - 0x0F488B50
7: vm86main - 0x0F4880F0
6: wine_call_to_16_regs_vm86 - 0x0F487D10
5: K32WOWCallback16Ex - 0x0F259630
4: NE_StartTask - 0x0F241770
3: task_start - 0x0F24D070
2: BaseThreadInitThunk - 0x77038460
1: RtlValidSecurityDescriptor - 0x77252ED0
0: RtlValidSecurityDescriptor - 0x77252ED0
Access violation
address=7610DDC2
access address=0F48D56C
32bit
16bit context
AX:C23A,CX:0000,DX:0500,BX:20B2
SP:C232,BP:C248,SI:083C,DI:C265
ES:137F,SS:12DF,CS:137F,DS:137F
IP:0DCC, address:0F49CC2D
Interrupt 0D #GP (12DF:0DC7) flags 3092 err DEA8
call 0DEADh:0BEEFh
4PLAY13.exe from archive.org fails to launch help file, then crashes on exit.
Btw, I'm using the environment compiled from commit 95cb0ba
This is the version 2.1p working model. Since it can be distributed I'm attaching it. Since I saw the changes regarding version 2 compatibility I thought this may help.
the zip password is winevdm
Trying a simple 16 bit executable works without a problem, but with a more complex app with dlls and ini files I get an error like this:
address=00000000
access address=00000000
32bit
16bit context
EAX:5000000,ECX:132F,EDX:0000,EBX:0000
ESP:958E,EBP:95C0,ESI:0000,EDI:131E
ES:131F,CS:132F,SS:1267,DS:131F
IP:004C, address:00D0F3F4
EFLAGS:00003000
SEGV
What does this mean and how can I fix it?
Thanks a lot for any ideas on this!
First I think winevdm is AMAZING! It's really improved so much in the last week , where I can actually start to use MS Word 2.0 & Excel 3!
I've been trying Sim* games, and Sim Earth & Sim Life work, but the first version of Sim City just hangs with no output from the console.
I'm not sure how to get a disk image to you without everyone else trying to download it...
Well, my install did anyway. I didn't install templates and it appears to look for that directory, not find it, then crash handling the condition. When the directory exists it works correctly.
0c68:trace:int21:DOSVM_Int21Handler 4405: SET DISK TRANSFER AREA ADDRESS 15AF:4B80
0c68:trace:int21:DOSVM_Int21Handler 5377: returning: AX=1a4e BX=0080 CX=0003 DX=4b80 SI=4d62 DI=4cc0 DS=15af ES=11af EFL=00003000
0c68:trace:int21:DOSVM_Int21Handler 4157: AX=4e4e BX=0080 CX=0016 DX=4d62 SI=4d62 DI=4cc0 DS=15af ES=11af EFL=00003000
0c68:trace:int21:DOSVM_Int21Handler 5074: FINDFIRST mask 0x0016 spec c:\winevdm\MSPUB\TEMPLATE
0c68:trace:int21:DOSVM_Int21Handler 5080: FINDNEXT
0c68:trace:int21:DOSVM_Int21Handler 5375: failed, error 18
0c68:trace:int21:DOSVM_Int21Handler 5377: returning: AX=0012 BX=0080 CX=0016 DX=4d62 SI=4d62 DI=4cc0 DS=15af ES=11af EFL=00003001
0c68:trace:int21:DOSVM_Int21Handler 4157: AX=1a12 BX=0080 CX=0016 DX=0080 SI=4d62 DI=4cc0 DS=11af ES=11af EFL=00003001
0c68:trace:int21:DOSVM_Int21Handler 4405: SET DISK TRANSFER AREA ADDRESS 11AF:0080
0c68:trace:int21:DOSVM_Int21Handler 5377: returning: AX=1a12 BX=0080 CX=0016 DX=0080 SI=4d62 DI=4cc0 DS=11af ES=11af EFL=00003000
0c68:Call KERNEL.56: THROW(15af:27de,fffb) ret=13a7:0520 ds=15af
AX=fffb BX=4bc9 CX=27de DX=4cc0 SI=0000 DI=7be4 ES=15af EFL=00003003
The shortcut appears with the default icon.
Tetravex fails to load with an Out of Memory error.
I've been able to build WineVDM up until today. Now I'm getting this error:
krnl386.exe16.asm: Assembler messages:
krnl386.exe16.asm:5: Error: junk at end of line, first unrecognized character is "' krnl386.exe16.asm:72: Error: junk at end of line, first unrecognized character is
"'
In prior versions of WineVDM the assembly looked like this:
`/* File generated automatically from krnl386.exe16.spec; do not edit! /
/ This file can be copied, modified and distributed without restriction. */
.section .init,"ax"
jmp 1f
__wine_spec_pe_header:
.skip 69632
1:
`
And the newer ones is giving me this ASM
`/* File generated automatically from krnl386.exe16.spec; do not edit! /
/ This file can be copied, modified and distributed without restriction. */
.section ".init","ax"
jmp 1f
__wine_spec_pe_header:
.skip 69632
1:
`
I know that "GNU assembler 2.17.50 20060824" is no doubt too old but what should I be using?
Thanks!
Here is the archive containing Catalog.exe
You run Catalog.exe
then a dialog shows up saying this:
Director Player 4.0 error: Not enough memory to load '02main.dir'. Try turning off the memory cache in the Memory control panel.
Then if you click OK, OTVDM will crash.
This is is what the console is showing before crash:
version: 647
403c:err:gdi:AddFontResource16 2149: ("D:\\Games\\CONSOLE\\ROMDUMPS\\DOS\\GAMES\\COMMERCIAL\\ABUSE\\ISO\\CATALOG\\ASIFONT.FON")
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 15ef for 124 bytes
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 16df for 1032 bytes
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 15ef for 1596 bytes
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 16df for 1596 bytes
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 162f for 3020 bytes
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 15ef for 3020 bytes
403c:err:local:LOCAL_GetBlock 977: not enough space in local heap 16df for 3020 bytes
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:fixme:gdi:CreateDC16 1445: DIB.DRV
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
403c:fixme:hook:SetWindowsHookEx16 650: System-global hooks (2) broken in Win16
The quickc setup crashes now in free_module_hooks. It looks like when it runs LIBW to create the import libraries it runs several times for each library but the next starts before the last exits which causes NE_CallUserSignalProc to be called in NE_FreeModule only when the last library is processed. What I suspect is that when get_hook_info is called, it tries to get the hook_tls from the teb for the tasks that have already exited.
So I installed Windows 3.1 into dosbox, and access into c:\win16app\access
Then I coped the Windows into the c:\winevdm\windows directory and tried to run access ...
C:\win16app\ACCESS>\WineVDM\otvdm.exe MSACCESS.EXE
Could not load 'MSAJT200.DLL' required by 'MSACCESS', error=2
C:\win16app\ACCESS>dir \WineVDM\msajt200.dll /s
Volume in drive C is Windows
Volume Serial Number is EEC2-EAD7
Directory of C:\WineVDM\windows\SYSTEM
09/01/2018 01:44 AM 994,496 MSAJT200.DLL
1 File(s) 994,496 bytes
As you can see the file is there...
A program I recently installed complains on starting about a missing ctl3dv2.dll16.spec file. After clicking OK the program starts anyway.
The otvdm directory contains a ctl3dv2.dll16 file, but where do I get the ctl3dv2.dll.spec file and where to store it to avoid the messsage?
BTW: Is there a possibility to hide the DOS Window which starts before the 16 Bit program is starting?
Thanks a lot for your time!
The Windows 1.0 version of msdos.exe almost works it just crashes a lot when opening dialogs (about dialog included). The reason is it that it subtracts bx (stack size) from sp (top of the stack) and expects that to be the stack bottom but the stack frame and return address are placed on the stack so the top is sizeof(STACK16FRAME) + 4 lower which causes a later lstrcpy to overwrite part of the data segment.
I have an application which starts from CD and locally requires an additional font only. The font is installed in C:\Windows\Fonts, but the programs still is missing it and thus is not starting correctly. Where are font files to be stored or installed instead? I just tried to copy the font file to otvdm\Windows\ into a new Fonts folder, but that's not the trick...
Thanks, Hartmut
The game only "works" when you copy all files directly to C:<root>. Otherwise it does not find it's files regardless what folder is the true root of the game and is set up in the ini file. I tried to cd into the real root, drag+drop and moving winevdm into the game root and retry both ways before. No dice.
--
https://pastiebin.com/5b4754c0d7fd0 Debug Log of the game starting and dying
err:msg:SendMessage16 1882: SendMessage(HWND_BROADCAST,)
err:msg:SendMessage16 1882: SendMessage(HWND_BROADCAST,)
err:msg:SendMessage16 1882: SendMessage(HWND_BROADCAST,)
err:msg:SendMessage16 1882: SendMessage(HWND_BROADCAST,)
err:msg:get_dialog_info 3319: NOTIMPL:get_dialog_info(hWnd=983884, BOOL=0)
err:msg:get_dialog_info 3319: NOTIMPL:get_dialog_info(hWnd=983884, BOOL=0)
This is what happens when you run C&C red alert's installer on WineVDM Stable.
The Windows 2.11 and Windows 3.0 versions of the MSDOS Executive (The Windows 1.0 version has this problem too but also another nastier one) have an issue in Windows 10 where MoveWindow and ShowWindow behave differently. The MSDOS Executive calls MoveWindow on it's child windows with bRepaint set to FALSE while the main window is hidden. It appears to expect to get painted when ShowWindow is later called (this is how Wine behaves) but on Windows 10 the children don't get a paint message until the window is resized. If I force bRepaint to TRUE then the children are painted properly this would likely cause other problem though. Calling "RedrawWindow16( hwnd, NULL, 0, RDW_INVALIDATE | RDW_ALLCHILDREN );" in ShowWindow16 also works, I'm not sure how problematic that would be though.
The file open dialog in BRW don't populate. The problem is that the list is a child of the surrounding box and is supposed to have the same control id but the CREATESTRUCT32Ato16 tries to use the id as an HMENU instead corrupting it. I think that the HMENU conversion shouldn't happen if (from->style & WS_CHILD) is true which does fix the problem. I'm not certain if there are exceptions to that though.
Edit: BRW (Borland resource workshop) not BCW.
Out of this World (get it at https://archive.org/details/win3_OOTW3x ) hangs in the opening movie unless some input is make on the window. It seems like it's not taking it's timer callbacks because it's sitting in GetMessage. It looks like this problem was anticipated at https://github.com/otya128/winevdm/blob/master/vm86/msdos.cpp#L1240 but I'm not sure the best way to handle it.
From The Best of Microsoft Entertainment Pack ...
JEZZBALL.txt.gz
Crash message on build 4ffac02
JEZZBALL.zip
I had to hunt for this, but here it is, password is winevdm
It's worth mentioning that all the other games DO run!!! Totally awesome!
The Incredible Machine requires either 16 or 256 color mode. Setting the compatibility mode for otvdm makes the game start and it's playable (although with somewhat corrupt graphics). Since it's possible to set the compat flags on NE exes from explorer even on 64 bit windows I wonder if it would be possible to read from the registry and set the 256 color flag at runtime to make it easy to set it where necessary.
Here's a link to the demo https://archive.org/details/win3_TemIM3x
Word generated this strange message:
"There is an unrecoverable disk error on th efile rosoft Word 2.0.
[winword_2.0c_print_xps.txt.gz]
And attached is the log file.
(https://github.com/otya128/winevdm/files/2308793/winword_2.0c_print_xps.txt.gz)
Oddly enough it's not all bad, I was able to print to a physical printer!
e9ff4f6 breaks vb3 setup.
The following error occurred to me: when I want to start a 16-bit program, I get the following error message:
C:\otvdm>otvdm.exe c:\program\program.exe
version: 589
1298:err:local:LOCAL_GetBlock 986: not enough space in local heap 1587 for 2832 bytes
1298:err:task:FatalAppExit16 1676: "not enough space for environment"
(I also tried the latest debug version, unfortunately, the same error.)
Operating System: Windows 7 64bit Service Pack 1
run install.reg
Microsoft Visual Studio 2017 installed
Interestingly, I have started the same program on many machines, but only one computer has the above problem, and it starts with no problems with other computers. Maybe you have a tip, what setting do I look for?
in user.c ...
const CHAR HelpCommand[255]; sprintf(HelpCommand, "WINHELP.EXE %s", lpHelpFile); ret=WinExec16((LPCSTR)HelpCommand, SW_SHOWNORMAL);
I know it doesn't open the pages or anything all the way useful, but at least it'll open the file... I don't know if the Wine folks had reversed the WinHelp reader though, or if it'll require people to copy in the Windows 3.0/3.1 reader...
Feel free to close. sorry I didn't see any other way to contact y'all.
I am trying to use winevdm with an old engineering program. I can supply the .exe if needed as it doesn't require any installation.
It draws a grid with numbers at each vertex:
On 32-bit windows, and under Wine on Ubuntu, this display paints instantaneously. Under winevdm it fills line by line from the bottom, taking 25 seconds to render.
Resource monitor doesn't show any CPU usage from otvdm during this process (0-1%).
No logs on console.
Happy to supply additional logs if you tell me what to collect.
Thanks so much for making this amazing tool!!
wineๅดใฎใชใฝใผในๅฆ็ใใใใใใฎใไธ้จใฎใชใฝใผในใ่ชญใฟ่พผใใชใใฃใใใใใใใฃใใใใ
In the final stage of the install the Windows Explorer desktop disappears (on Win 8.1). The program group is not created in the start menu.
Tested without the game's CD in the drive and using this build:
https://ci.appveyor.com/project/otya128/winevdm/build/1.0.65/artifacts
The game works well in Windows XP's NTVDM.
The main exe (it migth take more than a minute to fully load with this debug build) has sound issues and then crashes on "load a game" with the following output:
=====dump all modules=====
Module Flags Name Flag
2d0f 8309 ICONLIB NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
1abf 8021 WING NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1a07 8309 ICONLIB NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
199f 8021 WIN87EM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1987 8021 TOOLHELP NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
196f 8021 COMMDLG NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
193f 8309 SMEDSNET NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_F
FLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
18e7 8309 MSACM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
188f 8309 AVIFILE NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
1877 8021 SHELL NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
17f7 8309 MSVIDEO NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
1167 030a CIV2 NE_FFLAGS_MULTIPLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_
CONSOLE | NE_FFLAGS_GUI
114f 8021 SOUND NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1137 8021 MMSYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
111f 8021 MOUSE NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1107 8021 KEYBOARD NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
10ef 8021 USER NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
10d7 8021 GDI NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
10a7 8021 COMM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
108f 8021 SYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1007 8021 KERNEL NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
=====dump all modules=====
20: fninit - 0x69517dfc (null)(0)
19: fninit - 0x69517dfc (null)(0)
18: RtlGetProcessHeaps - 0x776b3a21 (null)(0)
17: RtlCaptureContext - 0x776a3533 (null)(0)
16: RtlDestroyEnvironment - 0x776a2ff6 (null)(0)
15: KiUserExceptionDispatcher - 0x77650154 (null)(0)
=============================
14: mmioAdvance - 0x7006e324 (null)(0)
13: mmioAdvance - 0x7006e324 (null)(0)
12: SizeofResource16 - 0x698187fc (null)(0)
11: SizeofResource16 - 0x698187fc (null)(0)
10: SizeofResource16 - 0x698187fc (null)(0)
9: fninit - 0x69517dfc (null)(0)
8: fninit - 0x69517dfc (null)(0)
7: SizeofResource16 - 0x698187fc (null)(0)
6: SizeofResource16 - 0x698187fc (null)(0)
5: WOWGlobalLock16 - 0x714b1325 (null)(0)
4: SizeofResource16 - 0x698187fc (null)(0)
3: SizeofResource16 - 0x698187fc (null)(0)
2: BaseThreadInitThunk - 0x74f7342b (null)(0)
1: RtlInitializeExceptionChain - 0x776797cf (null)(0)
0: RtlInitializeExceptionChain - 0x776797cf (null)(0)
========================
11: fninit - 0x69517DFC
10: fninit - 0x69517DFC
9: fninit - 0x69517DFC
8: fninit - 0x69517DFC
7: SizeofResource16 - 0x698187FC
6: SizeofResource16 - 0x698187FC
5: WOWGlobalLock16 - 0x714B1325
4: SizeofResource16 - 0x698187FC
3: SizeofResource16 - 0x698187FC
2: BaseThreadInitThunk - 0x74F7342B
1: RtlInitializeExceptionChain - 0x776797CF
0: RtlInitializeExceptionChain - 0x776797CF
Access violation
address=CCCCCCCC
access address=CCCCCCCC
32bit
16bit context
AX:9FA2,CX:0000,DX:0000,BX:A04C
SP:9F56,BP:A01C,SI:0000,DI:0013
ES:17E7,SS:113F,CS:17EF,DS:17EF
IP:038C, address:028A35E4
EFLAGS:00003086
SEGV
The map editor, civ2map.exe crashes on selecting the size of the world, outputting the following:
=====dump all modules=====
Module Flags Name Flag
19f7 8309 ICONLIB NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
19a7 8021 WING NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1907 8309 ICONLIB NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
187f 8021 WIN87EM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1867 8021 TOOLHELP NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
184f 8021 COMMDLG NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
181f 8309 SMEDSNET NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_F
FLAGS_CONSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
17c7 8309 MSACM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
176f 8309 AVIFILE NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
1757 8021 SHELL NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
16d7 8309 MSVIDEO NE_FFLAGS_SINGLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CO
NSOLE | NE_FFLAGS_GUI | NE_FFLAGS_LIBMODULE
1167 030a CIV2MAP NE_FFLAGS_MULTIPLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_
CONSOLE | NE_FFLAGS_GUI
114f 8021 SOUND NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1137 8021 MMSYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
111f 8021 MOUSE NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1107 8021 KEYBOARD NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FF
LAGS_LIBMODULE
10ef 8021 USER NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
10d7 8021 GDI NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
10a7 8021 COMM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
108f 8021 SYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
1007 8021 KERNEL NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIB
MODULE
=====dump all modules=====
16: fninit - 0x69517dfc (null)(0)
15: fninit - 0x69517dfc (null)(0)
14: RtlGetProcessHeaps - 0x776b3a21 (null)(0)
13: RtlCaptureContext - 0x776a3533 (null)(0)
12: RtlDestroyEnvironment - 0x776a2ff6 (null)(0)
11: KiUserExceptionDispatcher - 0x77650154 (null)(0)
=============================
10: fninit - 0x69517dfc (null)(0)
9: fninit - 0x69517dfc (null)(0)
8: fninit - 0x69517dfc (null)(0)
7: SizeofResource16 - 0x698187fc (null)(0)
6: SizeofResource16 - 0x698187fc (null)(0)
5: WOWGlobalLock16 - 0x714b1325 (null)(0)
4: SizeofResource16 - 0x698187fc (null)(0)
3: SizeofResource16 - 0x698187fc (null)(0)
2: BaseThreadInitThunk - 0x74f7342b (null)(0)
1: RtlInitializeExceptionChain - 0x776797cf (null)(0)
0: RtlInitializeExceptionChain - 0x776797cf (null)(0)
========================
11: fninit - 0x69517DFC
10: fninit - 0x69517DFC
9: fninit - 0x69517DFC
8: fninit - 0x69517DFC
7: SizeofResource16 - 0x698187FC
6: SizeofResource16 - 0x698187FC
5: WOWGlobalLock16 - 0x714B1325
4: SizeofResource16 - 0x698187FC
3: SizeofResource16 - 0x698187FC
2: BaseThreadInitThunk - 0x74F7342B
1: RtlInitializeExceptionChain - 0x776797CF
0: RtlInitializeExceptionChain - 0x776797CF
Access violation
address=771EC54F
access address=695E0170
32bit
16bit context
AX:0000,CX:0000,DX:0000,BX:01B6
SP:831C,BP:8332,SI:0000,DI:00D7
ES:16C7,SS:13E7,CS:16CF,DS:16CF
IP:79D3, address:695E3C20
EFLAGS:00003046
Interrupt 00 #DE (13E7:79CF) flags 3046 err 0000
div word ptr [esi+0Ch]
I grabbed a detailed log (attached), and it looks to be related to FindWindow. Note that in Win32 FindWindow treats values <64k as being atoms, which I don't see as documented behavior in Win16. The app is passing in a value <64k, which may be a legitimate string pointer - I don't see any calls to GlobalAddAtom etc in the log. Perhaps these need to be double buffered?
The VB3 installer was broken by commit 9c5f8c8 . It runs several concurrent processes and frequently loads and unloads libraries. Eventually the module list get corrupted causing either a crash when ending a task or the setup errors out.
Today I tested a bunch of different 16 bit programs. Many worked without any problem, but on starting and/or searching they may behave very slowly. Is there any way to enhance the performance?
Furthermore I had a few applications that did not start at all or not correctly. Attached you'll find the debug logs of those programs:
otvdm_dbg_logs.zip
I'd be glad if you could have a look on them.
Thanks a lot!
wine/otvdm encounters a "Fatal Application Exit" when running America Online 3.0 by displaying an empty message box, and the following in the console:
acc0:fixme:toolhelp:InterruptRegister16 542: (0000, 11EF2348), stub.
I'm testing the stable version 0.6.0 which is really much more performant than the debug versions so far, but there are a few programs which still give errors on starting. In two cases the programs finally starts anyway, in one case the programs seems to work, but in the 2nd case the search (in German "Suchen") does not work, but seems to hang.
A 3rd program also gives an error on starting from CD, but this error comes from the program itself. However it works on 32 Bit OS. Investigating the executable with MDeb I can see the folling errors:
Loading module:ddeml.dll16
File:0x00000570 Base: 0x6eab0000 Unicode: 1
First chance Exception Unknown 0x80020100 at address 0x754ec54f
Creating thread:0x00000574 Id:0x000011a4 Local base:0x7efaf000 Function start:0x6ef49370
Loading module:ole32.dll
File:0x00000578 Base: 0x06d20000 Unicode: 1
Unloading module:ole32.dll
First chance Exception: Access violation at address 0x775ef5b7
I can provide ISO images for testing if required.
Thanks, Hartmut
Not quite sure where these dlls can be gotten from. I installed visual studio, but it didn't help.
@otya128 could you add English description in winevdm codes and documentation please?
Nearly all is in Japanese.
I had this crash on SimCity and Castle of the Winds 1....
=====dump all modules=====
Module Flags Name Flag
12c7 8021 COMMDLG NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
1167 0302 CASTLE NE_FFLAGS_MULTIPLEDATA | NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE | NE_FFLAGS_GUI
114f 8021 SOUND NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
1137 8021 MMSYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
111f 8021 MOUSE NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
1107 8021 KEYBOARD NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
10ef 8021 USER NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
10d7 8021 GDI NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
10a7 8021 COMM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
108f 8021 SYSTEM NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
1007 8021 KERNEL NE_FFLAGS_SINGLEDATA | NE_FFLAGS_BUILTIN | NE_FFLAGS_LIBMODULE
=====dump all modules=====
54: frstor - 0x50452160 (null)(0)
53: RtlUnwind - 0x777f2820 (null)(0)
52: KiUserExceptionDispatcher - 0x777fc690 (null)(0)
=============================
51: dasm_buffer_dump - 0x50457ea0 (null)(0)
50: dasm_buffer_dump - 0x50457ea0 (null)(0)
49: wine_call_to_16_regs_vm86 - 0x50457d10 (null)(0)
48: K32WOWCallback16Ex - 0xf419af0 (null)(0)
47: K32WOWCallback16Ex - 0xf419af0 (null)(0)
46: K32WOWCallback16Ex - 0xf419af0 (null)(0)
45: CreateIconFromResourceEx16 - 0xff846e0 (null)(0)
44: AddClipboardFormatListener - 0x73e9b9d0 (null)(0)
43: DispatchMessageW - 0x73e979c0 (null)(0)
42: DispatchMessageW - 0x73e979c0 (null)(0)
41: SystemParametersInfoW - 0x73e9a180 (null)(0)
40: KiUserCallbackDispatcher - 0x777fc620 (null)(0)
39: CopyRect - 0x73e87e10 (null)(0)
38: DefMDIChildProcA - 0x73e814d0 (null)(0)
37: DefMDIChildProcA - 0x73e814d0 (null)(0)
36: DefMDIChildProcA - 0x73e814d0 (null)(0)
35: DefMDIChildProcA - 0x73e814d0 (null)(0)
34: MapHModuleSL - 0xf403600 (null)(0)
33: vm_debug_get_entry_point - 0xf4062b0 (null)(0)
32: dasm_buffer_dump - 0x50457ea0 (null)(0)
31: wine_call_to_16_regs_vm86 - 0x50457d10 (null)(0)
30: K32WOWCallback16Ex - 0xf419af0 (null)(0)
29: K32WOWCallback16Ex - 0xf419af0 (null)(0)
28: K32WOWCallback16Ex - 0xf419af0 (null)(0)
27: CreateIconFromResourceEx16 - 0xff846e0 (null)(0)
26: AddClipboardFormatListener - 0x73e9b9d0 (null)(0)
25: DispatchMessageW - 0x73e979c0 (null)(0)
24: DispatchMessageW - 0x73e979c0 (null)(0)
23: GetScrollInfo - 0x73e78e40 (null)(0)
22: DialogBoxIndirectParamAorW - 0x73e749f0 (null)(0)
21: DialogBoxIndirectParamAorW - 0x73e749f0 (null)(0)
20: DialogBoxIndirectParamA - 0x73ebb1a0 (null)(0)
19: DialogBoxIndirectParamA - 0x73ebb1a0 (null)(0)
18: DialogBoxIndirectParamA - 0x73ebb1a0 (null)(0)
17: MapHModuleSL - 0xf403600 (null)(0)
16: vm_debug_get_entry_point - 0xf4062b0 (null)(0)
15: dasm_buffer_dump - 0x50457ea0 (null)(0)
14: wine_call_to_16_regs_vm86 - 0x50457d10 (null)(0)
13: K32WOWCallback16Ex - 0xf419af0 (null)(0)
12: K32WOWCallback16Ex - 0xf419af0 (null)(0)
11: K32WOWCallback16Ex - 0xf419af0 (null)(0)
10: K32WOWCallback16Ex - 0xf419af0 (null)(0)
9: MapHModuleSL - 0xf403600 (null)(0)
8: vm_debug_get_entry_point - 0xf4062b0 (null)(0)
7: dasm_buffer_dump - 0x50457ea0 (null)(0)
6: wine_call_to_16_regs_vm86 - 0x50457d10 (null)(0)
5: K32WOWCallback16Ex - 0xf419af0 (null)(0)
4: LoadModule16 - 0xf4017c0 (null)(0)
3: RestoreThunkLock - 0xf40ccb0 (null)(0)
2: BaseThreadInitThunk - 0x74048460 (null)(0)
1: RtlValidSecurityDescriptor - 0x777f2ed0 (null)(0)
0: RtlValidSecurityDescriptor - 0x777f2ed0 (null)(0)
========================
52: dasm_buffer_dump - 0x50457EA0
51: dasm_buffer_dump - 0x50457EA0
50: dasm_buffer_dump - 0x50457EA0
49: wine_call_to_16_regs_vm86 - 0x50457D10
48: K32WOWCallback16Ex - 0x0F419AF0
47: K32WOWCallback16Ex - 0x0F419AF0
46: K32WOWCallback16Ex - 0x0F419AF0
45: CreateIconFromResourceEx16 - 0x0FF846E0
44: AddClipboardFormatListener - 0x73E9B9D0
43: DispatchMessageW - 0x73E979C0
42: DispatchMessageW - 0x73E979C0
41: SystemParametersInfoW - 0x73E9A180
40: KiUserCallbackDispatcher - 0x777FC620
39: CopyRect - 0x73E87E10
38: DefMDIChildProcA - 0x73E814D0
37: DefMDIChildProcA - 0x73E814D0
36: DefMDIChildProcA - 0x73E814D0
35: DefMDIChildProcA - 0x73E814D0
34: MapHModuleSL - 0x0F403600
33: vm_debug_get_entry_point - 0x0F4062B0
32: dasm_buffer_dump - 0x50457EA0
31: wine_call_to_16_regs_vm86 - 0x50457D10
30: K32WOWCallback16Ex - 0x0F419AF0
29: K32WOWCallback16Ex - 0x0F419AF0
28: K32WOWCallback16Ex - 0x0F419AF0
27: CreateIconFromResourceEx16 - 0x0FF846E0
26: AddClipboardFormatListener - 0x73E9B9D0
25: DispatchMessageW - 0x73E979C0
24: DispatchMessageW - 0x73E979C0
23: GetScrollInfo - 0x73E78E40
22: DialogBoxIndirectParamAorW - 0x73E749F0
21: DialogBoxIndirectParamAorW - 0x73E749F0
20: DialogBoxIndirectParamA - 0x73EBB1A0
19: DialogBoxIndirectParamA - 0x73EBB1A0
18: DialogBoxIndirectParamA - 0x73EBB1A0
17: MapHModuleSL - 0x0F403600
16: vm_debug_get_entry_point - 0x0F4062B0
15: dasm_buffer_dump - 0x50457EA0
14: wine_call_to_16_regs_vm86 - 0x50457D10
13: K32WOWCallback16Ex - 0x0F419AF0
12: K32WOWCallback16Ex - 0x0F419AF0
11: K32WOWCallback16Ex - 0x0F419AF0
10: K32WOWCallback16Ex - 0x0F419AF0
9: MapHModuleSL - 0x0F403600
8: vm_debug_get_entry_point - 0x0F4062B0
7: dasm_buffer_dump - 0x50457EA0
6: wine_call_to_16_regs_vm86 - 0x50457D10
5: K32WOWCallback16Ex - 0x0F419AF0
4: LoadModule16 - 0x0F4017C0
3: RestoreThunkLock - 0x0F40CCB0
2: BaseThreadInitThunk - 0x74048460
1: RtlValidSecurityDescriptor - 0x777F2ED0
0: RtlValidSecurityDescriptor - 0x777F2ED0
Access violation
address=758DDDC2
access address=5045D57C
32bit
16bit context
AX:12BF,CX:0000,DX:0000,BX:0000
SP:6C92,BP:6CCA,SI:0000,DI:0000
ES:12BF,SS:73EB,CS:12BF,DS:12BF
IP:1139, address:5046CC2D
EFLAGS:00003006
Interrupt 0D #GP (73EB:1139) flags 3006 err 73E8
I had downloaded it from here:
Battle Chess (Windows 3x) launches, but shows heavy graphical glitching (see screenshot), can't be resized or scaled and the pieces seem to be unable to move
2c50:Call USER.109: PEEKMESSAGE(1207:4692,0000,0000,0000,0001) ret=11df:aca3 ds=
1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD806, 005C0B68, WM_COMMAND(011
1), 00000018, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:Ret USER.109: PEEKMESSAGE() retval=00000001 ret=11df:aca3 ds=1207
2c50:Call USER.178: TRANSLATEACCELERATOR(002c,0029,1207:4692) ret=11df:ac70 ds=1
207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0029->handle32 0x183E06DD
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:Ret USER.178: TRANSLATEACCELERATOR() retval=00000000 ret=11df:ac70 ds=1207
2c50:Call USER.113: TRANSLATEMESSAGE(1207:4692) ret=11df:ac86 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:Ret USER.113: TRANSLATEMESSAGE() retval=00000000 ret=11df:ac86 ds=1207
2c50:Call USER.114: DISPATCHMESSAGE(1207:4692) ret=11df:ac90 ds=1207
2c50:trace:message:DispatchMessage16 2538: (0x002c) [0111] wp=0018 lp=00000000
2c50:CallTo16(func=11df:a652,ds=1207,002c,0111,0018,0000,0000) ss:sp=1207:d91a a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d944 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.53: DESTROYWINDOW(002c) ret=11df:a3d3 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, (null)(0090),
00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0090,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0090,0000,00000000) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, (null)(0090), 0000
, 00000000)
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_WINDOWPOSCH
ANGING(0046), 00000000, 034CAC5C)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0046,0000,1247,2828) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0046,0000,12472828) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_WINDOWPOSCHANGI
NG(0046), 0000, 12472828)
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_WINDOWPOSCH
ANGED(0047), 00000000, 034CAC5C)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0047,0000,1247,2824) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0047,0000,12472824) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_WINDOWPOSCHANGE
D(0047), 0000, 12472824)
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_NCACTIVATE(
0086), 00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0086,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0086,0000,00000000) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_NCACTIVATE(0086
), 0000, 00000000)
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000001 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0001 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_ACTIVATE(00
06), 00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0006,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.179: GETSYSTEMMETRICS(0013) ret=11df:a785 ds=1207
2c50:Ret USER.179: GETSYSTEMMETRICS() retval=00000001 ret=11df:a785 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=000a cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_ACTIVATEAPP
(001C), 00000000, 00002CE8)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,001c,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call SOUND.2: CLOSESOUND() ret=11df:a6bd ds=1207
2c50:fixme:sound:CloseSound16 44: (void): stub
2c50:Ret SOUND.2: CLOSESOUND() retval=0000000d ret=11df:a6bd ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_KILLFOCUS(0
008), 00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0008,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=000e cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_IME_SETCONT
EXT(0281), 00000000, C000000F)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0281,0000,c000,000f) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0281,0000,c000000f) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_IME_SETCONTEXT(
0281), 0000, C000000F)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_IME_NOTIFY(
0282), 00000001, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0282,0001,0000,0000) ss:sp=1207:d838 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d862 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0282,0001,00000000) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_IME_NOTIFY(0282
), 0001, 00000000)
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d838 ax=0000 bx=0000 cx=0000 dx=0000 bp=d862 sp=d83
8
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_DESTROY(000
2), 00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0002,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call KERNEL.49: GETMODULEFILENAME(1207,1207:85a0,00f5) ret=11df:8809 ds=120
7
2c50:Ret KERNEL.49: GETMODULEFILENAME() retval=00000012 ret=11df:8809 ds=1207
2c50:Call USER.171: WINHELP(002c,120785a0 "x:\\chess\\bchess.hlp",0002,00000000)
ret=11df:a88a ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:Ret USER.171: WINHELP() retval=00000001 ret=11df:a88a ds=1207
2c50:Call USER.12: KILLTIMER(002c,0001) ret=11df:a897 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:Ret USER.12: KILLTIMER() retval=00000001 ret=11df:a897 ds=1207
2c50:Call USER.6: POSTQUITMESSAGE(0000) ret=11df:a89f ds=1207
2c50:Ret USER.6: POSTQUITMESSAGE() retval=00000001 ret=11df:a89f ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD284, 005C0B68, WM_NCDESTROY(0
082), 00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x5C0B68->handle16 0x002C
2c50:CallTo16(func=11df:a652,ds=1207,002c,0082,0000,0000,0000) ss:sp=1207:d8a6 a
x=1207 bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=d8d0 es=1207 fs=0053
2c50:Call USER.203: GETCOMMERROR(0000,1207:46b4) ret=11df:bbd4 ds=1207
2c50:fixme:comm:GetCommError16 710: no handle for cid = 0!
2c50:Ret USER.203: GETCOMMERROR() retval=ffffffff ret=11df:bbd4 ds=1207
2c50:Call USER.107: DEFWINDOWPROC(002c,0082,0000,00000000) ret=11df:a9b4 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:trace:msg:WINPROC_CallProc16To32A 1085: (02BFD170, 002C, WM_NCDESTROY(0082)
, 0000, 00000000)
2c50:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=11df:a9b4 ds=1207
2c50:RetFrom16() ss:sp=1207:d8a6 ax=0000 bx=0000 cx=0000 dx=0000 bp=d8d0 sp=d8a
6
2c50:Ret USER.53: DESTROYWINDOW() retval=00000001 ret=11df:a3d3 ds=1207
2c50:RetFrom16() ss:sp=1207:d91a ax=0000 bx=001c cx=0000 dx=0000 bp=d944 sp=d91
a
2c50:trace:message:DispatchMessage16 2540: (0x002c) [0111] wp=0018 lp=00000000 r
eturned 00000000
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x002C->handle32 0x5C0B68
2c50:Ret USER.114: DISPATCHMESSAGE() retval=00000000 ret=11df:ac90 ds=1207
2c50:Call USER.109: PEEKMESSAGE(1207:4692,0000,0000,0000,0001) ret=11df:aca3 ds=
1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x0000->handle32 0x0
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:trace:msg:WINPROC_CallProc32ATo16 1531: (02BDD806, 00000000, WM_QUIT(0012),
00000000, 00000000)
2c50:trace:thunk:K32WOWHandle16HWND 129: handle32 0x0->handle16 0x0000
2c50:Ret USER.109: PEEKMESSAGE() retval=00000001 ret=11df:aca3 ds=1207
2c50:Call KERNEL.56: THROW(1207:9ce4,0001) ret=11df:ac5b ds=1207
AX=0001 BX=fff8 CX=0003 DX=0000 SI=0ab6 DI=e4de ES=1207 EFL=00003000
2c50:Ret KERNEL.56: THROW() retval=none ret=11df:9cb5 ds=1207
AX=0001 BX=fff8 CX=0003 DX=0000 SI=0ab6 DI=e4de ES=1207 EFL=00003000
2c50:Call GDI.69: DELETEOBJECT(003e) ret=11df:9719 ds=1207
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x003E->handle32 0x8C081E87
2c50:trace:thunk:K32WOWHandle32HWND 122: handle16 0x003E->handle32 0x8C081E87
2c50:Ret GDI.69: DELETEOBJECT() retval=00000001 ret=11df:9719 ds=1207
2c50:trace:int21:DOSVM_Int21Handler 4157: AX=3e01 BX=0005 CX=0003 DX=0000 SI=0ab
6 DI=e4de DS=1207 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 4772: CLOSE handle 5
2c50:trace:file:_lclose16 482: 5 (handle32=0000013C)
2c50:trace:int21:DOSVM_Int21Handler 5377: returning: AX=3e01 BX=0005 CX=0003 DX=
0000 SI=0ab6 DI=e4de DS=1207 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 4157: AX=3e00 BX=0006 CX=0003 DX=0000 SI=0ab
6 DI=e4de DS=1207 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 4772: CLOSE handle 6
2c50:trace:file:_lclose16 482: 6 (handle32=00000140)
2c50:trace:int21:DOSVM_Int21Handler 5377: returning: AX=3e00 BX=0006 CX=0003 DX=
0000 SI=0ab6 DI=e4de DS=1207 ES=1207 EFL=00003000
2c50:Call KERNEL.112: GLOBALUNWIRE(124e) ret=11df:8d38 ds=1207
2c50:Ret KERNEL.112: GLOBALUNWIRE() retval=00190001 ret=11df:8d38 ds=1207
2c50:Call KERNEL.17: GLOBALFREE(124e) ret=11df:8d49 ds=1207
2c50:trace:selector:SELECTOR_FreeBlock 162: (124f,4)
2c50:Ret KERNEL.17: GLOBALFREE() retval=00000000 ret=11df:8d49 ds=1207
2c50:Call KERNEL.17: GLOBALFREE(1276) ret=11df:8d5c ds=1207
2c50:trace:selector:SELECTOR_FreeBlock 162: (1277,1)
2c50:Ret KERNEL.17: GLOBALFREE() retval=00000000 ret=11df:8d5c ds=1207
2c50:Call KERNEL.17: GLOBALFREE(126e) ret=11df:8d6f ds=1207
2c50:trace:selector:SELECTOR_FreeBlock 162: (126f,1)
2c50:Ret KERNEL.17: GLOBALFREE() retval=00000000 ret=11df:8d6f ds=1207
2c50:trace:int21:DOSVM_Int21Handler 4157: AX=2500 BX=0006 CX=0000 DX=0000 SI=457
0 DI=4570 DS=11a7 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 4464: SET INTERRUPT VECTOR 0x00
2c50:trace:int:DOSVM_SetPMHandler16 635: Set protected mode interrupt vector 00
<- 11a7:0000
2c50:trace:int21:DOSVM_Int21Handler 5377: returning: AX=2500 BX=0006 CX=0000 DX=
0000 SI=4570 DI=4570 DS=11a7 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 4157: AX=4c00 BX=0006 CX=0000 DX=0000 SI=457
0 DI=4570 DS=1207 ES=1207 EFL=00003000
2c50:trace:int21:DOSVM_Int21Handler 5052: EXIT with return code 0
2c50:trace:selector:SELECTOR_FreeBlock 162: (11d7,1)
2c50:trace:task:TASK_ExitTask 627: Killing task 11bf
2c50:trace:task:TASK_ExitTask 638: this is the last task, exiting
Nitemare 3d sets a cbt hook which ends up in is_scrollbar_wndproc to get_window_wndproc where another window is created which calls the cbt hook etc..
BCW 4.5 depends on the DlgProc of it's dialog editor window to be NULL while also setting a WndProc. In DlgProc_Thunk DlgProc is set to the same as WndProc which causes an infinite loop of DlgProc to DefDlgProc calls.
I wonder if this project can compile with MingW(GCC) targeting Win32, to make a working win16 support for ReactOS?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.