leecher1337 / ntvdmx64

Run Microsoft Windows NTVDM (DOS) on 64bit Editions
818 stars 81 forks source link

Doom not running on NTVDMx64 #230

Open Lucas-mother3 opened 1 year ago

Lucas-mother3 commented 1 year ago

So I use the February 2023 build and I tried to play Doom as a gag experiment but it only outputted the console text before quitting. Is this a bug from the port or is this a bug in NTVDM itself?

leecher1337 commented 1 year ago

Works normally here, maybe a problem with your version?

image

Wouldn't be very enjoyable anyway due to the performance, but generally, it works. There is a problem when launching it after doom was executed on the same shell before, but when you start out with a fresh ntvdm instance it works normally (tested on Win 7 and Win 11 using NTVDMx64 February 2023 build).

Duy-Thanh commented 1 year ago

@leecher1337 Same problem here!

I got stuck at this window when opening the game, however, opening other EXE applications located in the same game folder is normal.

I'm stuck here:

image

But opening other EXE applications located in the game folder is normal:

image image image

I'm running on Windows 11 Pro x64, Version 22H2 with Windows Feature Experience Pack 1000.22642.1000.0, I also turned off Windows Security and the error still repeats

EDIT: I have also run it manually using cmd, however still can't run

image

Here is the log I extracted from DebugView, hope it can be helpful:

LOG.LOG

leecher1337 commented 1 year ago

Are other applications that are doing graphics also affected, or just DOOM? You can try to upload your DOOM version here for comparison.

Lucas-mother3 commented 1 year ago

Works normally here, maybe a problem with your version?

image

Wouldn't be very enjoyable anyway due to the performance, but generally, it works. There is a problem when launching it after doom was executed on the same shell before, but when you start out with a fresh ntvdm instance it works normally (tested on Win 7 and Win 11 using NTVDMx64 February 2023 build).

I'm playing the orig, what version do you use?

Anyhow, i'll upload my ver: DOOM.zip

leecher1337 commented 1 year ago

Just wanted to be sure, tried with the version you uploaded, works fine here:

image

Are you using the CCPU build or the HAXM build? HAXM build won't work with graphic modes as stated in the docs.

leecher1337 commented 1 year ago

I still have Windows 11 21H2, as my CPU doesn't meet 22H2 criteria, maybe Microsoft messed up something in 22H2, wouldn't be the frist time, they also ruined WOW32 in 22H2.

leecher1337 commented 1 year ago

Hm, nope, also works on 22H2. So you are using CCPU-Build?

image

Duy-Thanh commented 1 year ago

@leecher1337 I'm using the CCPU build. HAXM can install but it keeps complaining that Microsoft Hyper-V needs to be turned off however I have disabled Hyper-V, Hypervisor, Virtual Machine platfrom and disabled Virtualization Based Security in gpedit but they still complain about Hyper-V . So I gave up and didn't try to install HAXM anymore.

Yes, other graphical applications are still running, I have Borland Turbo C++ 3.0 running and they work fine, I can even compile and run my own test program written on it with no problem . By the way, this same result also happens for OTVDM. However, when I retry the game using DOSBox to check if the game file is corrupted, it works fine.

By the way, even though I have disabled Hyper-V virtualization technologies, HWINFO still reports HVCI is enabled in my machine, and I suspect it may be causing the problem. But I immediately dismissed that suspicion, because other 16-bit applications still run, but DOOM doesn't and it alone fails.

Here is the game file: DOOMS.zip

leecher1337 commented 1 year ago

@Duy-Thanh Hm, I just saw that your configuration is to use soundblaster sound FX and Soundmlaster MIDI. May cause some lockups, you can disable SoundFX and switch Music to General MIDI, because it may randomly lock up when having SB-sound enabled. However I always get past DOS4GW initialization also with the .zip you uploaded.

Duy-Thanh commented 1 year ago

@leecher1337 I'm out at the moment and don't have a computer nearby, I'll try your suggestions as soon as I get home

leecher1337 commented 1 year ago

Different behaviour of an emulated CPU on 2 systems is a complete mystery, it should behave the same on all systems.

Lucas-mother3 commented 1 year ago

Just wanted to be sure, tried with the version you uploaded, works fine here:

image

Are you using the CCPU build or the HAXM build? HAXM build won't work with graphic modes as stated in the docs.

CCPU from feb. 2023, I tried compiling the one from apr, quite unsure about the results of that one

IrisWasTaken1 commented 3 months ago

Try replacing DOS/4GW with DOS32/A

Lucas-mother3 commented 1 month ago

This however worked on a laptop where I built NTVDMx64 from master and downloaded the old Feb 2023 build to supplement the missing wow32 dlls. I'm testing this on a desktop when I have the time. image

Lucas-mother3 commented 1 month ago

This however worked on a laptop where I built NTVDMx64 from master and downloaded the old Feb 2023 build to supplement the missing wow32 dlls. I'm testing this on a desktop when I have the time. image

This, however doesn't work under my desktop. image

I'm at a loss for words, but is this related to OTVDM?

Lucas-mother3 commented 1 month ago

This however worked on a laptop where I built NTVDMx64 from master and downloaded the old Feb 2023 build to supplement the missing wow32 dlls. I'm testing this on a desktop when I have the time. image

This, however doesn't work under my desktop. image

I'm at a loss for words, but is this related to OTVDM?

Addendum: One suggested DOS/32A should be used and it works. More debugging on DOS/4GW itself should be done, to determine if it's just in the Windows configs.

image

Lucas-mother3 commented 4 weeks ago

I tested and it's not related to otvdm at all, tried installing it after ntvdmx64, but a potential check to do is:

image