My experience with ntvdm

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

roytam
Posts: 61
Joined: Sat Dec 04, 2004 2:02 pm

Re: My experience with ntvdm

Post by roytam »

roytam wrote:Embedding bitmap to other font isn't appropriate for open source manner IMO, so I used bdf2hex(bdfimplode) and hex2sfd from Unifoundry Unicode Utilities and have some manual editing in Fontforge and generated a TTF font.

sfd+ttf (12/6/2013 updated 2: removed overlaps and merged adjacent lines for reducing file size)
http://roy.dnsd.me/u_vga_ttf.7z
update 3(same download address) for U+0001-U+002F unmapped IBM graphics.

FreeDOS EDIT (Win32 Port) looks normal now.
[ external image ]

ntvdm (2013-11-27) running PEDIT.EXE (Goldshell Digital Media Program Editor)
[ external image ]

BTW I opened an issue for the font: http://jira.reactos.org/browse/CORE-7706

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: My experience with ntvdm

Post by SomeGuy »

Impressive, nice to see this getting in to ReactOS.

Does this use a native CPU VDM, or is this using a CPU emulator?

Is it intended to be portable to x64 if/when ReactOS goes in that direction?

Note that 64 bit OSes are technically capable of using VDMs, for example that is how Wine runs 16-bit Windows applications under 64-bit Linux, but Microsoft simply chose not to port their DOS/Win3.x support to 64-bit XP/Vista/7/8.

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »

SomeGuy wrote: Does this use a native CPU VDM, or is this using a CPU emulator?
Is it intended to be portable to x64 if/when ReactOS goes in that direction?
It uses an emulated CPU (not of avant-garde conception, but still... :) ) so it can be run on x64 (it's how I test it on my Win x64 machine), but one can think about improving it by using a dynarec, or using vm86 mode when being run on a x86 CPU.
SomeGuy wrote: Note that 64 bit OSes are technically capable of using VDMs, for example that is how Wine runs 16-bit Windows applications under 64-bit Linux, but Microsoft simply chose not to port their DOS/Win3.x support to 64-bit XP/Vista/7/8.
I'm not sure it is going to use vm86 monitor when running on 64-bit OS because the CPU won't support it directly (you've to run a 32-bit OS -- on a x86-64 CPU -- to be able to use the vm86 mode of the CPU). Indeed MS didn't choose to port their emulator to 64-bit windows, and it's shame because in NT <= 4 they had a multi-platform emulator (the NTVDM on MIPS architecture for example).

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »


oldman
Posts: 1119
Joined: Sun Dec 20, 2009 1:23 pm

Re: My experience with ntvdm

Post by oldman »

hbelusca wrote:New version of NTVDM: see http://www.reactos.org/comment/108#comment-108
I have tested with this updated version in revision 61281 and when trying to run programmes I get the following error messages:

[ external image ]

and after clicking the ok button, I then get this:

[ external image ]

I have had one programme start to run, but not succeed.

I have just noticed a forward slash in the last image, which should be a dot.

I have just checked and cannot reproduce it, so must have been a typo!
Please keep the Windows classic (9x/2000) look and feel.
The layman's guides to - debugging - bug reporting - compiling - ISO remaster.
They may help you with a problem, so do have a look at them.

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »

@ oldman:
If the first message is an artifact (that I will remove later on), the second message saying that it cannot run rayman/exe is normal since there's a typo in the name of the program: you meant rayman.exe with a point for the extension (instead of the slash :) ).

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »

Ok, the spurious error is fixed in revision 61459. Updated version here: http://jira.reactos.org/secure/attachme ... /ntvdm.exe

oldman
Posts: 1119
Joined: Sun Dec 20, 2009 1:23 pm

Re: My experience with ntvdm

Post by oldman »

hbelusca wrote:Ok, the spurious error is fixed in revision 61459. Updated version here: http://jira.reactos.org/secure/attachme ... /ntvdm.exe
I have down-loaded the above updated version and the error windows have gone, but the programme still does not run. I have tried another dos game, and that cannot find a file in it's own directory (see image below):

[ external image ]

If you press enter, it repeats the message.

Is this something to do with paths not being found? Which is a problem with Ros and not ntvdm.

Another strange thing I have found, is, that a copy of the mouse pointer is situated in the far top right of the explorer window (see image below). After I had taken a screenshot of it, it had disappeared. I have also seen this yesterday while I was testing with ntvdm.

[ external image ]

There is a real mouse pointer, which can be moved around and used as normal.

I have put a copy of this version of Ros ntvdm in WinXP, having re-named the MS one. The results are; I cannot get the programme to even start to work (nothing showed in the command prompt window). Also WindonsXP has a dll file called ntvdmd.dll.

Is any of this helpful?
Please keep the Windows classic (9x/2000) look and feel.
The layman's guides to - debugging - bug reporting - compiling - ISO remaster.
They may help you with a problem, so do have a look at them.

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »

oldman wrote: I have down-loaded the above updated version and the error windows have gone, but the programme still does not run. I have tried another dos game, and that cannot find a file in it's own directory (see image below): [...]
If you press enter, it repeats the message.
Is this something to do with paths not being found? Which is a problem with Ros and not ntvdm.
Hi oldman !
This problem sometimes appear because the ntvdm / dos / whatever doesn't set the current path as it should be (and in fact it also happens on windows as well).
You should (for your program) go to the "C:\atlantis-dos" directory, then run C:\reactos\system32\ntvdm.exe fate.exe
By the way, notice that at the current state of our ntvdm, you are not obliged to put it into c:\reactos\system32 :)
oldman wrote: Another strange thing I have found, is, that a copy of the mouse pointer is situated in the far top right of the explorer window (see image below). After I had taken a screenshot of it, it had disappeared. I have also seen this yesterday while I was testing with ntvdm.
There is a real mouse pointer, which can be moved around and used as normal.
This is a Win32k GUI problem, please open a bug-report on Jira.
oldman wrote: I have put a copy of this version of Ros ntvdm in WinXP, having re-named the MS one. The results are; I cannot get the programme to even start to work (nothing showed in the command prompt window). Also WindonsXP has a dll file called ntvdmd.dll.
If you've used our ntvdm with the same syntax on WinXP, it must behave the same (and since our ntvdm is still not integrated into the OS as the Windows' one, you cannot run the DOS program directly). Also notice that ntvdmd.dll is a debugging-helper dll, if I recall correctly (and we don't use an equivalent one at the moment).

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: My experience with ntvdm

Post by DOSGuy »

DOSGuy wrote:I was able to get NTVDM to load GWBASIC and Turbo Pascal 5.5, but they both froze while I was writing some code to test. From what I've been told, there are too many bugs, and NTVDM is changing too fast for it to be worth creating bug reports right now.
I tried the new version in Windows 7 32-bit, and GWBASIC and Turbo Pascal 5.5 still crash, but I've figured out what makes them crash: pressing the Shift key. As soon as I press the left or right Shift key while running either program -- even if I let it go without pressing a second key -- the program freezes. I've added a note to CORE-7250.
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

hbelusca
Developer
Posts: 1169
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: My experience with ntvdm

Post by hbelusca »

New NTVDM.EXE build r61875, with GCC v4.7.2 RosBE 2.1 : http://jira.reactos.org/secure/attachme ... /ntvdm.exe

oldman
Posts: 1119
Joined: Sun Dec 20, 2009 1:23 pm

Re: My experience with ntvdm

Post by oldman »

I have down-loaded the latest ntvdm from the above link and I have been trying some dos progs with ReatOS revision 61848.
I started with AEASY (I don't know now what it is). I ran the setup.exe and got this screen:

[ external image ]

There was another screen which I did not capture and this screen below, which you can see, is complaining about not enough room on the drive; but there is lots of free space. And that is as far has I got.

[ external image ]

Note, that I was running a screen capture programme at the same time, which was slowed down vastly whilst testing these progs.

Next I tried to run the game charlie.exe from "C:\Dos-progs\Games\charlie\". All displayed previous history was wiped, which left, what you can see in the screenshot below. Yet another no goer for me!

[ external image ]

What is this all about in the screenshot below?

[ external image ]

You can read in the image what I was trying to run.
Last edited by oldman on Wed Jan 29, 2014 5:52 pm, edited 1 time in total.
Please keep the Windows classic (9x/2000) look and feel.
The layman's guides to - debugging - bug reporting - compiling - ISO remaster.
They may help you with a problem, so do have a look at them.

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: My experience with ntvdm

Post by DOSGuy »

The bottom screenshot is what you get when you run the NTVDM that comes with ReactOS trunk. Are you sure you were using the new NTVDM for that one?
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

oldman
Posts: 1119
Joined: Sun Dec 20, 2009 1:23 pm

Re: My experience with ntvdm

Post by oldman »

DOSGuy wrote:The bottom screenshot is what you get when you run the NTVDM that comes with ReactOS trunk. Are you sure you were using the new NTVDM for that one?
I used the latest down-load link from above. ntvdm now comes with an icon, which is the fist time I remember seeing it with an icon. So, I would say yes to your question.

I have now re-tested and this is what I get (see image below).

[ external image ]

And this next image shows the path.

[ external image ]

ntvdm.exe is in "C:\Dos-progs and the setup.exe is in C:\Dos-progs\tombraid". And there is a dos4g.exe in the same folder.

So am I doing something wrong?
Please keep the Windows classic (9x/2000) look and feel.
The layman's guides to - debugging - bug reporting - compiling - ISO remaster.
They may help you with a problem, so do have a look at them.

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: My experience with ntvdm

Post by DOSGuy »

I would go to C:\Dos-progs\tombraid and type "..\ntvdm setup.exe". I suspect that dos4g.exe isn't found because it's not in the folder that you're invoking NTVDM from. Or NTVDM might not be capable of dealing with an executable that calls another executable, but try my suggestion and see what happens.
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests