[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