VOGONS

Common searches


64bit replacement of ntvdm

Topic actions

First post, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie

there is dosbox, but i never liked it much, its an emulator which is meant to be slow, and the speed is inconsistent aswell.
what i want is some equivalent of ntvdm that can run most real mode or protected mode dos programs in 64bit windows at full speed, despite lacking of sound support.

Reply 1 of 47, by Errius

User metadata
Rank l33t
Rank
l33t

vDOS will run your text-mode DOS programs, but it can't handle anything with graphics, won't play sound (not even beeper), and won't run in 25x40 mode.

Is this too much voodoo?

Reply 2 of 47, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

vDos and vDosPlus are based on DOSBox, which the OP doesn't seem interested in using due to CPU emulation.

Though problematic in some ways, the OP may be interested to follow developments here: NTVDM on windows 10 x64

Reply 3 of 47, by JosSchaars

User metadata
Rank Newbie
Rank
Newbie

“Microsoft Windows NTVDM on 64bit Windows” is also ‘just’ an emulator. Outdated, buggy, slower than DOSBox, the limitations and troubles (though some insist it is a Holy Grail) of Windows integration. That is clicking a DOS program to start. Those programs should then be real simple, w/o any further configuration.
Be careful with installing this NTVDM64, it could well bring down your Windows system.
vDos supports only VGA 640x480 graphics and the simple DOS beep. Anything beyond that is considered not needed by ‘serious’ DOS applications.

Reply 4 of 47, by Jo22

User metadata
Rank l33t++
Rank
l33t++

There's also MS-DOS Player. It started out as a 80286 + text-mode emulator with DOS emulation,
but has grown in functionality since. Running Protected Mode programs is a challenge i guess, but so it is on NTVDM.
OS/2's VDM was much more complete, IMHO. It supported things like DOS software for EPROM writers (direct I/O to Parallel port) etc.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 47, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
noshutdown wrote:

there is dosbox, but i never liked it much, its an emulator which is meant to be slow, and the speed is inconsistent aswell.
what i want is some equivalent of ntvdm that can run most real mode or protected mode dos programs in 64bit windows at full speed, despite lacking of sound support.

Just because it is an emulator doesn't mean it is meant to be slow. What is the newest version you have tried? If you haven't used 0.74-2 or a newer SVN build yet, you might be pleasantly surprised.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 6 of 47, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote:

Just because it is an emulator doesn't mean it is meant to be slow. What is the newest version you have tried? If you haven't used 0.74-2 or a newer SVN build yet, you might be pleasantly surprised.

i tried 0.74-2 and its still equally slow, its usually between 5~30 times slower than ntvdm depending on application, which is not remotely acceptable.

Reply 8 of 47, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote:

i tried 0.74-2 and its still equally slow, its usually between 5~30 times slower than ntvdm depending on application, which is not remotely acceptable.

I wonder what type of non-game DOS application that you would consider it slow running on DOSBox with modern machines. On today Core i3/5/7 with over 3GHz, especially the desktop-class CPUs, DOSBox is extremely fast. And, on which version of Windows NTVDM that you run the same stuffs which is faster than DOSBox.

I would look from the user experience perspective of "fast" vs "slow", so please don't quote benchmark figures as comparison. For eg. if a game running on emulation would sustain 60FPS while getting 600FPS on native machine, then the extra 10x FPS is not really making any difference on user experience. DOS is a long dead platform commercially, so no new DOS games/application are being published with CPU/GPU heavy contents to make them relevant for modern machines. Hence, DOSBox is really good enough, with just a few exception of DOS games. I run the last version of AutoCAD DOS R13 on DOSBox and it was the fastest experience I ever had using AutoCAD.

No 64-bit version of Windows has ever shipped with NTVDM. It is obvious that 64-bit runtime is not suitable for legacy 16-bit real-mode, and if Microsoft were to support this they would have to do this in pure emulation similar to DOSBox. Both Intel/Microsoft has been keen on killing off DOS/16-bit real-mode for the last 20 years. The era of 64-bit computing has just made it even more compelling. Intel will put the final nails on the coffin by year 2020 when every new system will be at least UEFI class 3. And as I looked into the crystal ball, it painted the vision that Intel/AMD would completely remove 16-bit real-mode from CPU by 2030.

Reply 9 of 47, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
kjliew wrote:

I would look from the user experience perspective of "fast" vs "slow", so please don't quote benchmark figures as comparison. For eg. if a game running on emulation would sustain 60FPS while getting 600FPS on native machine, then the extra 10x FPS is not really making any difference on user experience. DOS is a long dead platform commercially, so no new DOS games/application are being published with CPU/GPU heavy contents to make them relevant for modern machines. Hence, DOSBox is really good enough, with just a few exception of DOS games. I run the last version of AutoCAD DOS R13 on DOSBox and it was the fastest experience I ever had using AutoCAD.

you got one point, i do want the speed of running on native machine, or at least close to that.

Reply 10 of 47, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Have you tried increasing the cycle count in DOSBOX?

And yes, I know that DOSBOX has some very serious overhead. I am working on an optimized fork of 0.74-2 that should speed it up significantly.

Last edited by cyclone3d on 2019-03-26, 01:29. Edited 1 time in total.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 11 of 47, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote:

Have you tried increasing the cycle count in DOSBOX?

i set it to max, but its usually between 5~30 times(depending on application) slower than native machine.

Reply 12 of 47, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote:

you got one point, i do want the speed of running on native machine, or at least close to that.

You didn't get my point. How would the speed of running on native machine make any difference in usability? A game at 60FPS and a game at 600FPS would feel the same. In addition, in near future there will be no native machine for 16-bit/32-bit DOS codes anymore. For instance, machine X is the last and fastest available platform to run the code natively. Machine Y is not capable of running Machine X native code, but is 100x faster than Machine X. So, Machine Y would still run Machine X native code in emulation faster then Machine Y running it natively.

And, you still don't tell the actual stuffs that you wish to run on DOSBox vs NTVDM.

Reply 13 of 47, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Usually the ones complaining about DOSBox speed are raspberry pi or mobile users attempting to run games that their processor isn't powerful enough for single threaded DOSBox or people who for some reason want to compile in DOSBox and who are very harsh on DOSBox performance whenever it's brought up when they should really be using something else. Just ignore them, it's like talking to a brick wall except less productive.

How To Ask Questions The Smart Way
Make your games work offline

Reply 14 of 47, by awgamer

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote:
cyclone3d wrote:

Have you tried increasing the cycle count in DOSBOX?

i set it to max, but its usually between 5~30 times(depending on application) slower than native machine.

Have you set cpu to dynamic? I am curious if you have some specific games in mind to run that DOSBox isn't able to run at full speed.

Reply 17 of 47, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

One example where Dosbox really suxx. I needed to recompile one of my DOS tool (really not a big project with ~8 C modules) under DJGPP (GCC 4.8.5) on a work-NTB with Win10-x64 only. So I just kicked in the Dosbox 0.74-x64 and run make there. I wonder it took ~15minutes to compile, every single file that is 30-60kB C source took more than a minute to compile. On 1st look I though it just hanged but I saw that some temporary files are produced so I left it running till the end. I cannot imagine what real PC would be slower than this, I guess even 386/20 would compile it faster. But I was not in a hurry and it was the simplest way I can do the job so mission acomplished 😀 On a real machine it would take no more than 1-2s under DOS and even less under NTVDM. My experience on home PC (signature) with still WinXP-32 the DJGPP compiles significantly faster under NTVDM than under real DOS. So yes, there are use cases for some NTVDM64 that would support at least console apps with better speed. Of course I could use VirtualBox that I normally use every day but I didn't have any DOS image/VM prepared at work...
I don't want blame Dosbox, it has the best sound emulation compared to other emu/VMs and is well suited for old games but there are still some late '90 games and demos that in SVGA hi-res are still slow in dosbox even on current fastest CPU. So I'm glad that thanks to YMF724 I can run some of them native under DOS with sound at full speed 😀

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 19 of 47, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

You could have use a VM for compiling codes with DOS-based compilers or use cross-compliers that support DOS. I have MS C/C++ 8.x, MASM and TASM on QEMU for legacy DOS codes. Watcom C compiler has a WIN32 version and runs fine on Win10-x64 for cross-compiling. Same applies for DJGPP, I built a version for cross-compiling.