NTVDM (NT Virtual Dos Machine) is a technology that allows running legacy DOS and 16-bit Windows programs on Intel 80386 or higher computers when there is already another operating system running and controlling the hardware.NTVDM is a component of all IA-32 editions of Windows NT family( not included with 64-bit versions).
Questions tagged [ntvdm]
20 questions
7
votes
3 answers
16-Bit Apps running under NTVDM
I am trapping for the execution of some old 16-bit applications that our internal folks should no longer be using. They are 1985 DOS apps, so trapping for them was easy... capture any process that launches under NTVDM.exe
Now, the problem is finding…

Jerry
- 4,507
- 9
- 50
- 79
5
votes
5 answers
What command could I use to enable NTVDM?
I try to enable windows NTVDM feature to run 16-bit application on my windows 8 virtual machine .
I know how to enable NTVDM by windows control panel .
But I have no idea how to use command (wmic ? vb script ? ) to enable it in my batch file.
I…

user2740605
- 61
- 1
- 1
- 5
3
votes
2 answers
Create a 16bit application?
I want to create a 16 bit Dos application and want it to run using the NTVDM.exe on my 32bit windows 7 machine. How do I do it?
I basically want my application to do the file operations through the NTVDM and for that I think I'll need a 16 bit…

WIN_SOM_LIV
- 160
- 2
- 9
3
votes
3 answers
How do you print a smiley-face in assembly?
I wrote a program in assembler and compiled it. It is meant to print a blue smiley face and then wait for the user to press a key before it terminates. It does do that last bit but it doesn't print the smiley face. Can someone explain what have I…

Kristina
- 15,859
- 29
- 111
- 181
2
votes
1 answer
Unable to launch GCC, it crashes
I am using GCC 3.4.4 through Cygwin on Windows 7 x64. It has work flawlessly for a long time. Now GCC has recently stopped working with an error everytime it's launched:
gcc.exe
The NTVDM CPU has encountered a illegal instruction
CS:0000 IP0075…

KaiserJohaan
- 9,028
- 20
- 112
- 199
2
votes
2 answers
NTVDM System Error 4001h when running a 32-bit DOS app
I have cross-compiled a 32-bit analog clock made in ArithmeticExpressionCompiler from Linux to DOS using the GNU Assembler. When run under FreeDOS in QEMU or VirtualBox (which are far better emulators than NTVDM is, right?), it creates this…

FlatAssembler
- 667
- 7
- 30
2
votes
2 answers
Best way to use a VB.NET class library from a C++ DLL?
I need to use one of my VB.NET projects in a C++ project. The interface between the two will be for the C++ code to instantiate and call methods on one of the .NET assembly objects.
Both compile to DLLs (and then the C++ DLL is loaded from the NTVDM…
Don Reimann
1
vote
1 answer
Wait for Key Press from DOS driver under NTVDM During Initialization
Is it possible to get keyboard input from a driver being loaded by c:\windows\system32\config.nt during the driver's initialization, when being run on 32-bit Windows 10 21H2 (OS Build 19044.1466) under NTVDM.exe? At this point I am just trying to…

Malcolm McCaffery
- 2,468
- 1
- 22
- 43
1
vote
2 answers
.NET assembly not loading from NTVDM
I have a VDD dll that's loaded by a DOS program running inside the NTVDM. This dll uses C++/CLI and references a .NET assembly.
All in all, the loading process is something like this:
NTVDM runs:
prntsr.com which uses VDD RegisterModule to…
John Reid
1
vote
2 answers
QBasic crashes immediately after selecting the "open" menu item
Not sure if this is even an acceptable question, but I figured it's an IDE so...
I'm trying to write a small program in qb4.5, which has happily worked on my computer (XP SP3) for a while now. For some reason though it is now sluggish and…

Timballisto
- 33
- 2
1
vote
0 answers
Sound Blaster emulation in NTVDM: direct mode and MPU don’t work as expected
I’ve been trying to write a small program producing some sound as an example for my students who currently learn x86 assembly programming in real mode. It succeeds playing sound when run from DOSBox but fails when run in NTVDM (I use Windows XP’s…

Dmitry Vasiliev
- 11
- 2
0
votes
0 answers
Powershell - Start NTVDM.exe process doesn't detect mapped drives
I'm trying to create a script to execute a 16-bit application through NTVDM in a x86 Operating System.
This application uses network mapped drives to work, so these drives must be connected to function.
The problem comes when I try to execute this…

Franco Canciani
- 37
- 6
0
votes
1 answer
"Cannot load VDM IPX/SPX support" when running assembly program
When I try to run an x86 assembly language (built using MASM) program on Windows XP, I get the following error in the command prompt:
Cannot load VDM IPX/SPX support
However, the output of the program is displayed correctly afterwards, and this…

bwDraco
- 2,514
- 2
- 33
- 38
0
votes
1 answer
No Mouse Support in NTVDM in Windows 10 32 bit
I am trying to run QBasic in my 32 bit installation of windows 10. Qbasic runs just fine, but there is no mouse support. In Windows 7 32 bit , there was mouse support for QBasic, it is not present in windows 10 32bit.
Can it be somehow enabled?
P.S:…

overkill
- 135
- 5
0
votes
1 answer
Failed run (hang) 16-bit setup.exe (InstallShiled) on Windows XP
Old 16-bit setup.exe in Windows XP can not run. In Task Manager you can see ntvdm.exe, wowexec.exe and setup.exe. But it nothing do, only stay in process list.
For me it happens for InstallShield installer of 1С:7.7. But it can be for any 16-bit…

Enyby
- 4,162
- 2
- 33
- 42