Click to See Complete Forum and Search --> : How to run winxp or winme program under pure DOS


bruceleung2000
May 20th, 2005, 11:32 PM
Hello,
Can anyone help to have a solution for the following scenario :

1) After I bootup MS-DOS, some of windows xp/me commands (32 bit programs e.g.

ipconfig.exe, attrib.exe)
2) When I run these programs, it give errors : the programs cannot be in DOS mode
3) I know DOS is 16-bit and these programs are 32-bit, but What kind of software or

system I can load and muse be run under pure DOS and then to run these 32-bit programs.

Regards,
Bruce

Arjay
May 21st, 2005, 12:42 AM
You can't run a 32-bit (Windows/Console) program under 16-bit DOS. On the other hand, many 16-bit DOS (Windows or Console) programs will run under Win9x or XP. On XP, they run under a thunking layer called ntvdm.exe (NT Virtual Dos Machine). This thunking takes the 16-bit commands and converts them to 32-bit, makes the 32-bit system calls, and then converts the returns back to 16-bit. When running under Win9x or XP, the DOS programs think they are running under DOS.

For you to run 32-bit programs under DOS, you would have to have a similar thunking layer (except in reverse). It is highly unlikely that anyone has created such a program.

Arjay

SuperKoko
May 21st, 2005, 01:54 AM
For you to run 32-bit programs under DOS, you would have to have a similar thunking layer (except in reverse). It is highly unlikely that anyone has created such a program.
Arjay

It is impossible to do a fast tunking, because 32bits applications uses all the Win32 API and all the drivers.
Windows absolutely need to start to allow 32bits applications to be launched (explorer.exe does not need to be launched, but corresponds to a few percents of the boot time).

Arjay
May 21st, 2005, 02:10 AM
It is impossible to do a fast tunking, because 32bits applications uses all the Win32 API and all the drivers.
Windows absolutely need to start to allow 32bits applications to be launched (explorer.exe does not need to be launched, but corresponds to a few percents of the boot time).It's theoretically possible, but highly unlikely that anyone has or ever will do it. Just like there is a good deal of code fixups that happen to make 16-bit apps run on Win32 under ntvdm, there could be the same in reverse, of course there would need to be driver fixups as well which makes the problem a bit more difficult. Actually it's really already done - it's called Win9x (which still uses a 16-bit kernel to run 32-bit apps).

Arjay