[ros-dev] (Free)DOS subsystem

Imre Leber imre.leber at telenet.be
Tue Aug 29 14:57:27 CEST 2006


>-----Original Message-----
>From: Peter Dolding [mailto:oiaohm at 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 at reactos.org
>http://www.reactos.org/mailman/listinfo/ros-dev
>
>




More information about the Ros-dev mailing list