otya128 / winevdm

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
GNU General Public License v2.0
2.7k stars 154 forks source link

Colonization for Windows quits immediately with HAXM #631

Open angrylion7 opened 4 years ago

angrylion7 commented 4 years ago

Windows 7, HAXM v7.5.6, latest winevdm. The game runs fine without HAXM. Some other Win16 apps seem to run fine with HAXM. trace.txt attached.

trace.txt

revelator commented 4 years ago

heh i cant run anything with haxm enabled at all also latest version.

dcharlespyle commented 4 years ago

heh i cant run anything with haxm enabled at all also latest version.

Do you have Hyper-V running or any Hyper-V, or any other hypervisor software, installed and/or enabled? If so, the app won't run with HAXM. I'd like to see the program be able to use either Hyper-V or HAXM. Unfortunately, that may not be in the cards at present. But both cannot coexist unless you disable the hypervisor or create a boot menu that offers having the hypervisor turned off at boot time. I can't use HAXM at all because I need Hyper-V to run Linux GUI and CLI apps side-by-side with Windows apps. Got the best of both worlds that way. :-)

revelator commented 4 years ago

im on win 7 no hyper-v. Also ntvdmx64 works with haxm so its not hogged by anything else it seems. winevdm works fine without it though the speedup would be nice for some stuff.

violinisten commented 4 years ago

I'm on Windows 7 too. When trying to run any 16bit program with HAXM enabled i get an error in the console init_vm86(474) Failed to hook NtFreeVirtualMemory. Some very simple programs succeed to launch though, but still with the same error.

revelator commented 4 years ago

Hmm i did get a hint at some problem with a haxm call while compiling the source myself, i seem to remember something about the function you mention was included in that warning. If i remember correctly this function is accessed via a macro but the pointer to the function the macro accessed had two call types so the compiler warned about incompatibility.

revelator commented 4 years ago

Is going to take me some time to locate it again, there are a lot of typecasting problems and warnings in this source :/. Sadly while i had some success correcting a few of those, other attempts has had less than stellar results leading to breakage so one has to be carefull as hell.

Weirdly while i been able to build winevdm with Msys2 and MinGW32 with less warnings than msvc spews the resulting build does not work at all. Only the msvc2017 builds work to any suitable degree.