Author Topic: ntvdm.dll  (Read 28734 times)

pcMike

  • Member
  • **
  • Posts: 51
Re: ntvdm.dll
« Reply #30 on: September 13, 2015, 11:19:12 AM »
Hi Hutch,

Ok, I won't try to convince you otherwise, I'll just put a note in my source code reminding me that if I upgrade MASM32 (or perform a clean install on a new computer), I will need to use a different version of NTVDM.LIB :)

I agree that DOS programs that use Win32 Virtual Device Drivers in this day and age are rather obscure. It's a shame that Microsoft is not willing to extend the NTVDM environment to support Win64.

Regards,  Mike


sinsi

  • Guest
Re: ntvdm.dll
« Reply #31 on: September 13, 2015, 12:18:21 PM »
>It's a shame that Microsoft is not willing to extend the NTVDM environment to support Win64.
Once you are in 64-bit mode you no longer have access to V86 mode. Blame Intel/AMD, not MS.

pcMike

  • Member
  • **
  • Posts: 51
Re: ntvdm.dll
« Reply #32 on: September 13, 2015, 02:08:56 PM »
Hi Sinsi,

>>It's a shame that Microsoft is not willing to extend the NTVDM environment to support Win64.
>Once you are in 64-bit mode you no longer have access to V86 mode. Blame Intel/AMD, not MS.

True... but if Microsoft wanted to, they could extend the NTVDM to run fully in software emulation mode under 64-bit Windows.   They already allow some 16-bit protected mode applications to run this way, such as legacy InstallShield and Acme installer files (16-bit installers used to install 32-bit applications). The performance of DOS applications would not be as fast as in Virtual 8086 mode, but as modern CPU's become faster the difference becomes marginal.

Regards,  Mike

sinsi

  • Guest
Re: ntvdm.dll
« Reply #33 on: September 13, 2015, 02:49:21 PM »
Well, they make VirtualPC (for older Windows) or more recently Hyper-V.
You also have bochs, qemu, dosbox, VirtualBox, VMWare...

Vortex

  • Member
  • *****
  • Posts: 2716
Re: ntvdm.dll
« Reply #34 on: September 13, 2015, 05:06:47 PM »
I tested the version of NTVDM.LIB which Vortex created using his def2lib tool, and both versions he made available in this thread would not allow me to build a functional VDD DLL file, as the file could not be registered by a using a DOS BOP "register VDD" command. 

You didn't download the zip file I posted here :

http://masm32.com/board/index.php?topic=1086.msg49342#msg49342

The post count is zero so I assume you downloaded lib2def and def2lib from my website.

My ntdm.lib should work with your project. Are you sure that you specified the -e option to build the import library?

Code: [Select]
def2lib ntvdm.def -e
The -e switch will instruct def2lib to create the correct entries in the library, ntvdm.exe   Without the -e option, you will get the .dll extension instead of .exe



« Last Edit: September 13, 2015, 11:26:54 PM by Vortex »

pcMike

  • Member
  • **
  • Posts: 51
Re: ntvdm.dll
« Reply #35 on: September 13, 2015, 11:27:55 PM »
Hi Vortex,

I downloaded both the def2lib and dll2inc tools from your web site.  I tested it today and the resulting DLL works perfectly. :)

Regards,  Mike

Vortex

  • Member
  • *****
  • Posts: 2716
Re: ntvdm.dll
« Reply #36 on: September 13, 2015, 11:30:03 PM »
Hello pcMike,

Glad to learn that it worked for you. Kindly, could you please tell if you used the -e option to build the import library? Thanks.

Code: [Select]
def2lib ntvdm.def -e

pcMike

  • Member
  • **
  • Posts: 51
Re: ntvdm.dll
« Reply #37 on: September 13, 2015, 11:35:45 PM »
Hi Vortex,

Yes, the -e option is needed in order for it to work with the DOS BOP "register VDD" function.
Otherwise the BOP command fails with AX=1 (Can't find DLL).

Regards,  Mike

pcMike

  • Member
  • **
  • Posts: 51
Re: ntvdm.dll
« Reply #38 on: September 13, 2015, 11:38:27 PM »
Hi Sensi,

>Well, they make VirtualPC (for older Windows) or more recently Hyper-V.
>You also have bochs, qemu, dosbox, VirtualBox, VMWare...

Someone has started an NTVDM-alike project for 64-bit Windows, but it is still far from complete.
http://sourceforge.net/projects/nxvdm/

Regards,  Mike

TouEnMasm

  • Member
  • *****
  • Posts: 1762
    • EditMasm
Re: ntvdm.dll
« Reply #39 on: September 14, 2015, 02:03:50 AM »

https://en.wikipedia.org/wiki/Virtual_DOS_machine
dosbox is a real good alternative who allow  old dos game to run on actual machine
Fa is a musical note to play with CL