-----Original Message-----
From: Peter Dolding [mailto:oiaohm@bluebottle.com]
Sent: Tuesday, August 29, 2006 01:33 PM
To: 'ReactOS Development List'
Subject: Re: [ros-dev] (Free)DOS subsystem
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.
Why?
I never got it. It doesn't seem to add anything new. Nothing that can't be done in
FreeDOS.
FreeDOS is for all pratical purposes a capable 32 bit system. It can run 32 bit DOS and
(some) windows programs and it has multithreading (eRTOS), TCP/IP (watt32), etc... .
I think it would not be very difficult to write a multitasking DOS extender either (maybe
as an extension to cwsdpr0).
If it's because it is running in 32 bit, I am not all that convinced that DOS-C can
not be ported to 32 bit. It was originally intended to run on apple macintosh.
Imre
Peter Dolding
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev