[ros-dev] (Free)DOS subsystem
Peter Dolding
oiaohm at bluebottle.com
Tue Aug 29 13:33:16 CEST 2006
Myria wrote:
> I've wanted to write an NTVDM for ReactOS, but I'm not sure when I'd ever
> have time.
>
> Windows NT's DOS subsystem, NTVDM, is a user-mode program that runs on top
> of Win32. It runs DOS programs as Windows processes, using v86 mode to run
> the programs. DPMI programs are supported by asking the kernel to allocate
> LDT segments and running directly. (If you write a DOS32 program and know
> the correct addresses, you can call MessageBoxW in user32.dll and it will
> work.)
>
> This differs significantly from DOSBox, which is effectively a machine
> emulator rather than an API translator. DOSEmu, in comparison, is
> essentially the same design as NTVDM but for Linux.
>
> FreeDOS in DOSBox works very well, because the FreeDOS kernel is its normal
> self and is unaware that it's inside a VM. However, this doesn't work for
> NTVDM/DOSEmu. In these, the FreeDOS kernel will need to be heavily
> modified, particularly because the NT kernel handles file I/O. Programs
> inside the virtual DOS environment use illegal opcodes to talk to NTVDM.
>
> Melissa
>
True Closest Freedos to Windows NT NTVDM is
http://freedos-32.sourceforge.net/. Its was newer version under
development. It could be stalled from 2005.
Peter Dolding
More information about the Ros-dev
mailing list