leecher1337 / ntvdmx64

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

Can't run Quake. #83

Closed Neubulae closed 3 years ago

Neubulae commented 4 years ago

Well this is not quite a technical question isn't it, as it may turn out to be a spam, but anyway I even got an error report! Invalid keyboard code specified Quake v1.06 Locked 1 Mb image Exiting due to signal SIGSEGV General Protection Fault at eip=0000228f eax=764f12a8 ebx=00000000 ecx=00117ffc edx=0009118c esi=00127ffc edi=00117ffc ebp=0011b34c esp=0011b2ba cs=00c7 ds=01cf es=01cf fs=01f7 gs=01f7 ss=01cf Call frame traceback EIPs: 0x0000228f Just hanging around... Sorry if this question seems irrevelant.

leecher1337 commented 4 years ago

It would have surprised me if NTVDM would have been able to run a protected mode DOS game. I also can't run protected mode games on the original NTVDM on my Windows XP machine, NTVDM protected mode support has always been lousy so I think this will never be supported. You wouldn't be very happy with the NTVDM x64 graphics performance of it anyway, as it uses a slow emulated CPU with a slow VGA emulation. Enough for business textmode applications, but not good for games.

If you want to run games, I recommend using Dosbox which is designed for this type of task.

Neubulae commented 4 years ago

It would have surprised me if NTVDM would have been able to run a protected mode DOS game. I also can't run protected mode games on the original NTVDM on my Windows XP machine, NTVDM protected mode support has always been lousy so I think this will never be supported. You wouldn't be very happy with the NTVDM x64 graphics performance of it anyway, as it uses a slow emulated CPU with a slow VGA emulation. Enough for business textmode applications, but not good for games.

If you want to run games, I recommend using Dosbox which is designed for this type of task.

Oh wow thought it was a Real mode app, fair enough anyway XD, great project tbh, had some fun with it, thx for the support!

leecher1337 commented 4 years ago

The version of Quake that I have is using CWSDPMI DOS protected mode extender. So if you have CWSDPMI, DOS4GW or other DPMI stuff, you have a strong indicator that it's running in protected mode. Btw., when launching it on Windows XP (with the original NTVDM), I get:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

F:\DOSPROG\QUAKE>quake
Quake v1.01
Locked 1 Mb image
Locked 11 Mb data
malloc'd: 11771904
Exiting due to signal SIGSEGV
General Protection Fault at eip=00043a47
eax=fce4046c ebx=0011d2c0 ecx=0000ffff edx=fce40000 esi=00000054 edi=000d92d4
ebp=001192cc esp=00119228 cs=01a7 ds=01af es=01af fs=01cf gs=01cf ss=01af
Call frame traceback EIPs:
  0x00043a47

You can play around with more simple games like Winter Games, Commander Keen, Giana sisters for DOS. Even Lemmings should work (though it has some graphic glitches, maybe there are still some little bugs in the VGA emulation or something like that).

I still hope that Microsoft would revive NTVDM some day, even though I don't believe it. As I'm the only developer of this project, developement is still slow, of course, but I'm always happy to hear from users who are actually using it.

Neubulae commented 4 years ago

The version of Quake that I have is using CWSDPMI DOS protected mode extender. So if you have CWSDPMI, DOS4GW or other DPMI stuff, you have a strong indicator that it's running in protected mode. Btw., when launching it on Windows XP (with the original NTVDM), I get:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

F:\DOSPROG\QUAKE>quake
Quake v1.01
Locked 1 Mb image
Locked 11 Mb data
malloc'd: 11771904
Exiting due to signal SIGSEGV
General Protection Fault at eip=00043a47
eax=fce4046c ebx=0011d2c0 ecx=0000ffff edx=fce40000 esi=00000054 edi=000d92d4
ebp=001192cc esp=00119228 cs=01a7 ds=01af es=01af fs=01cf gs=01cf ss=01af
Call frame traceback EIPs:
  0x00043a47

You can play around with more simple games like Winter Games, Commander Keen, Giana sisters for DOS. Even Lemmings should work (though it has some graphic glitches, maybe there are still some little bugs in the VGA emulation or something like that).

I still hope that Microsoft would revive NTVDM some day, even though I don't believe it. As I'm the only developer of this project, developement is still slow, of course, but I'm always happy to hear from users who are actually using it.

Ah I got a recommendation from users stating that this brings native support for DOS programs, which is something I'd love to see. Also I have Googled and I saw Microsoft having patches for this on Windows 7 but I have no idea what have they done.

leecher1337 commented 4 years ago

In case you are interested why Quake doesn't run with NTVDM, here is an explanation of the tricks it uses which currently aren't compatible with NTVDM's DPMI:

http://www.delorie.com/djgpp/v2faq/faq18_6.html

Neubulae commented 4 years ago

In case you are interested why Quake doesn't run with NTVDM, here is an explanation of the tricks it uses which currently aren't compatible with NTVDM's DPMI:

http://www.delorie.com/djgpp/v2faq/faq18_6.html

Ah Lemme check, that's nice to hear, thx

Neubulae commented 3 years ago

I guess this issue should be silly enough to be closed. It's been a year after all.