leecher1337 / ntvdmx64

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

About HAXM #62

Closed peter8777555 closed 4 years ago

peter8777555 commented 4 years ago

I have finish to compile two versions.

Q1. The ntvdm.exe file size is more small ??

3,252,496 ntvdm.exe (Old version)

1,515,280 ntvdm.exe (New version) 1,283,344 ntvdm.exe (New version with HAXM)

Q2. Can not support Intel Core 2 Quad Q8400 for HAXM ??

OS : Windows 7 X64 CPU : Intel Core 2 Quad Q8400 RAM : 12 GB

HAXM_Check.exe VT support -- yes NX support -- yes

It seem has NO support EPT.

CPU-Z

z1

leecher1337 commented 4 years ago

Ad 1) It also depends on the directory where you pull the executable from (builds with debug symbols are bigger, for instance). But the new CVIDC that doesn't use the bloated generated code slims down the NTVDM a lot. As there is no emulated CCPU in the HAXM build, this also is benificial in terms of executable size

Ad 2) That's a pity, but it seems to be correct that your CPU unfortunately doesn't support EPT and therefore cannot be used for HAXM: https://community.spiceworks.com/topic/455835-virtualized-intel-vt-x-ept-is-not-supported-on-this-platform

EPT feature is required for HAXM and Unrestricted Guest (UG) feature is a requrement for NTVDMx64. Too bad, it would have been interesting for me the hear about usecases where VT-x would be beinificial (I only found data sorting in a DOS database application to be a good usecase for high accelleration copared to emulated CPU).

peter8777555 commented 4 years ago

Thank you for detail info.

1. How many percent speed up with HAXM ?

2. My CPU can not support HAXM, Maybe NTVDMX64 can speed up for FPU/Video.

NTVDMX64 1

MS-DOS Player 2

leecher1337 commented 4 years ago

Ad 1)

Ad 2) I once had a look at the FPU code and the MSDOSplayer FPU implementation seems to be incomplete according to sourcecode comments (x87ops.c has a lot of FIXME and TODO in header). The CCPU FPU implementation seems to be nearly complete, but may be slower due to this (fpu.c). This it too complicated for me to optimize, but if someone with enough knowledge can take a look, it would be benificial of course. Regarding Video performance, I think rewriting the CVIDC was the maximum that I could do for it.

Here are my Landmark results for CCPU: landmark-1

For HAXM, the results are quite odd, but I knew that already, it may be related to some timing issue or whatever. Well, it's just experimental anyway:

landmark-2

peter8777555 commented 4 years ago

Wow ! The HAXM/CCPU over 6 times operation. My PC has use for 10 years and PC is too old.

Thank you for creating NTVDMX64 project. It is very nice for me.

I use NTVDMX64/MS-DOS Player/QEMU/DosBox/WineVDM/VMWare/......