Does ReactOS NTVDM work in Windows?

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

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

Re: Does ReactOS NTVDM work in Windows?

Post by hbelusca »

justincase wrote:[...]I guess I have one more question though: Did you develop it in the Win2K friendly way, then do the optimisations to make it better in later versions of Windows/ReactOS, or did you develop it with using _vscwprintf, then decide to add support for Win2K?

I'm curious as to whether you develop on/for Win2K, or if you don't (normally), but think it worth adding such ... I guess this is a workaround? ... to be able to support it.
I use Win-7 to develop parts of the UI stuff for NTVDM, and to perform the real tests (starting DOS apps by double-click & so on...) and be able to use the console graphics screen-buffer stuff that I mentioned in the first posts of this thread, I use Win2k3. Now, because I wanted to test an undocumented feature of console that windows ntvdm uses and that I wanted to add also in ReactOS ntvdm, I needed to test it on win2k3 and on win2k also, because I knew that this feature changed a bit between these two versions of Windows. Also, because I wrote the PC speaker emulation, I wanted to test it where I could be able to hear the result, that is, not in VBox, but in Virtual PC. As it happened that on my Virtual PC the only windows VMs I have are under Win2k, then I needed NTVDM to be able to run on Win2k.

justincase
Posts: 441
Joined: Sat Nov 15, 2008 4:13 pm

Re: Does ReactOS NTVDM work in Windows?

Post by justincase »

hbelusca wrote:on my Virtual PC the only windows VMs I have are under Win2k
And apparently it's easier to debug and rewrite part of NTVDM than it is to install Windows on a VM? :lol: You're great. Thanks for adding Win2K support, even if your reasons are a little unorthodox. :D
I reserve the right to ignore any portion of any post if I deem it not constructive or likely to cause the discussion to degenerate.

User avatar
leecher
Posts: 4
Joined: Sat Jun 11, 2016 11:00 am

Re: Does ReactOS NTVDM work in Windows?

Post by leecher »

Hi,

I wrote some loader code for Windows 10 x64 to load NTVDM there (and also work around this nasty Console screen buffer bug).
However I'm too lazy to do a standalone recompile of ReactOS NTVDM to check if it works, can someone try it out for me or supply me with such a standalone build?

Loader code is at: [removed upon gaurons request]

Precompiled loader binaries with installer: [removed upon gaurons request]
(You have to create a DOS subdirectory there and put NTVDM.EXE and possibly other DOS stuff in there)

Would be interesting if this works with ReactOS NTVDM too, or just original NTVDM :)

Edit: Seems like Standalone is not what I want, as this also seems to work around the normal Windows invocation mechanism, but I get a "failed to commit VDM memory" with normal build, so I guess I have to do a "mixed" build on my own.. :-/
Regards,
leecher
Last edited by leecher on Sun Jun 12, 2016 12:52 am, edited 1 time in total.

User avatar
gauron
Posts: 16
Joined: Thu Jan 08, 2015 5:12 pm
Location: North-Germany

Re: Does ReactOS NTVDM work in Windows?

Post by gauron »

We don't want to do anything with the stolen NT Source Code !

So f**k off and delete your crap !

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

Re: Does ReactOS NTVDM work in Windows?

Post by hbelusca »

I would suggest leecher to clearly separate his ldntvdm loader from the rest (patches for NTVDM itself)

User avatar
gonzoMD
Posts: 1053
Joined: Fri Oct 20, 2006 7:49 am
Location: Germany
Contact:

Re: Does ReactOS NTVDM work in Windows?

Post by gonzoMD »

hbelusca wrote:I would suggest leecher to clearly separate his ldntvdm loader from the rest (patches for NTVDM itself)
no. when he ever saw nt code, he is forbidden to contribute code.

User avatar
leecher
Posts: 4
Joined: Sat Jun 11, 2016 11:00 am

Re: Does ReactOS NTVDM work in Windows?

Post by leecher »

Who said I want to contribute code to ReactOS? Why would a Windows 10 loader code be interesting for ReactOS?

All I wanted to know if there is a way to build ReactOS NTVDM code to be invoked like the original NTVDM on Windows, and I thought for this a link to loader code may have been helpful as a reference (which in turn doesn't rely on code from OpenNT and I purposely DIRECTLY linked the LOADER code only and the installer for the loader, so no idea what upsets you so much about it, it just fixes Win10 bugs?).
But ok, I guess I can't expect help in this forum, instead just stupid flaming unrelated to the question itself...
Will have to try myself then. Setting STANDALONE just in memory.c at least makes the error go away, but still invocation doesn't work as expected, will need to further investigate the invocation differences.

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

Re: Does ReactOS NTVDM work in Windows?

Post by hbelusca »

leecher wrote:Who said I want to contribute code to ReactOS? Why would a Windows 10 loader code be interesting for ReactOS?
Nobody said that. To answer the second question, I was actually interested in such a loader because the same problem happens in Windows 7+ too, and I did try to make something together with another contributor ("Vampyre" on IRC).
leecher wrote: All I wanted to know if there is a way to build ReactOS NTVDM code to be invoked like the original NTVDM on Windows, and I thought for this a link to loader code may have been helpful as a reference (which in turn doesn't rely on code from OpenNT and I purposely DIRECTLY linked the LOADER code only and the installer for the loader, so no idea what upsets you so much about it, it just fixes Win10 bugs?).
Then you just take ReactOS NTVDM as is, without any further modification (alternatively you take the compiled binary from one of the ReactOS ISOs) and here you are. You can see it already works as is on Windows 2003 as a replacement to Win2k3's ntvdm. Since we don't rely on any V86 stuff your loader should be happy too. The only thing you might need to modify in our ReactOS NTVDM code is the prototype + usage of RegisterConsoleVDM...
[/quote]
leecher wrote: But ok, I guess I can't expect help in this forum, instead just stupid flaming unrelated to the question itself...
gauron was quite reactive, to say the least ^^
leecher wrote: Will have to try myself then. Setting STANDALONE just in memory.c at least makes the error go away, but still invocation doesn't work as expected, will need to further investigate the invocation differences.
See my comment above.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Does ReactOS NTVDM work in Windows?

Post by Z98 »

The project tends to take a very strong position against anything that might at all be linked to leaked proprietary code due to past accusations against the project. Anything based off or derived from such code is also tainted by association, and we go to significant lengths to keep the project as a whole as far away from such code as possible. That all said, the other poster could have been more civil in his response. Automatically assuming malicious intent does not make for a productive interaction. A strongly worded and explained warning should be sufficient for most cases.

User avatar
leecher
Posts: 4
Joined: Sat Jun 11, 2016 11:00 am

Re: Does ReactOS NTVDM work in Windows?

Post by leecher »

Ok, I understand that I shouldn't have posted a link to the loader code which can be considered tainted, even though it is no code that can be included into ReactOS, as it is for a totally different purpose (Starting up NTVDM on Win10 x64). Sorry for that, next time when asking a question I'll just reference code upon request.
My intention was to find out if ReactOS NTVDM can be used as a legal replacement for NTVDM in Win10 x64 to have a decent DOS-Emulator that supports correct interaction with the Win32 console (especially invocating Win32 programs from DOS etc.), therefore needing the loader code for testing.
From my current tests, it seems that it is currently not usable for this purpose yet, but I'll watch further progress on it, it looks promising, great work!
hbelusca wrote:To answer the second question, I was actually interested in such a loader because the same problem happens in Windows 7+ too, and I did try to make something together with another contributor ("Vampyre" on IRC).
By problem, you mean the console screenbuffer bug? Well, just use the clipboard to "free" the HDC, now you have a usermode workaround ;)
hbelusca wrote:
leecher wrote:All I wanted to know if there is a way to build ReactOS NTVDM code to be invoked like the original NTVDM on Windows
Then you just take ReactOS NTVDM as is, without any further modification (alternatively you take the compiled binary from one of the ReactOS ISOs) and here you are. You can see it already works as is on Windows 2003 as a replacement to Win2k3's ntvdm. Since we don't rely on any V86 stuff your loader should be happy too. The only thing you might need to modify in our ReactOS NTVDM code is the prototype + usage of RegisterConsoleVDM...
As written, ntvdm.exe from ISOs isn't too happy about memory allocation on address 1 on Win10, therefore it refuses to run, so setting STANDALONE in memory.c is necessary there. RegisterConsoleVDM call and size of CHAR_CELL need to be modified too to work on a WOW64 system, but with these modifications, it seems to start up so far, when not using command.com

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

Re: Does ReactOS NTVDM work in Windows?

Post by hbelusca »

If you're on IRC we may talk about these? I guess that our NTVDM needs few modifications so that you can run it with your method on Win10 x64. I can guide you where you can do these modifications.

Hale29
Posts: 1
Joined: Sun Aug 07, 2016 11:15 am

Re: Does ReactOS NTVDM work in Windows?

Post by Hale29 »

MugenFighter wrote:Kind of a stupid question, honest phenq reviews but will ReactOS's NTVDM work in Windows without messing up Window's code?
I have tried in windows 7 and it worked.
IT will be better if you try and give us an output

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests