From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: About DJGPP_V204 for Win2k Date: Sat, 24 Aug 2002 13:31:27 CDT Organization: Rice University, Houston TX Lines: 38 Message-ID: <3d67d0ff.sandmann@clio.rice.edu> References: <3d659831 DOT sandmann AT clio DOT rice DOT edu> NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1030215307 26836 128.42.105.3 (24 Aug 2002 18:55:07 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: 24 Aug 2002 18:55:07 GMT X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > 1) I make a program in DOS, Win98(DOS-BOX) and W2K(DOS-BOX) using > DJGPP(V204)+GCC3.1. Eatch program are same(binary) Yes - the development tools build a single binary which should run anywhere in a DOS-like environment on a 386 or newer processor. There are some run time checks in the binary to recognize the different operating systems and use those features (such as long file names). > 2)That program can not run if the PATH not assigned to the directory, > (Load error: no DPMI) > but can run after copied "cwsdpmi.exe" program to the directory. > (this is MS-DOS, Win98_command_prompt_only) If DPMI 32-bit helper is not hooked into the interrupt chain (it is available under Windows, OS/2, and even QDPMI provider which comes with QEMM) - then the stub looks for CWSDPMI.exe . It first looks in the same directory as the image, then the path, then the current directory. If it can't find CWSDPMI in any of those locations it then prints the no DPMI message. If you move a program to a different DOS only computer, you need to take CWSDPMI with it - and put it in the path (or the same directory as the image). If you don't want to put cwsdpmi.exe on the other system, you can use the commands: exe2coff djecho.exe (creates djecho - no extension - use your image) copy /b cwsdstub.exe+djecho djecho2.exe djecho2.exe (you can use your own names) can now be moved to a different system without CWSDPMI. The DPMI provider can also be the pmode stub, if it works better for the program. > I still have a question about IO_Port Access in Win2k(DOS-BOX). In general, any ports for devices controlled by the operating system (such as the parallel port) cannot be directly manipulated under Win2K, (or Windows NT, or Windows XP). Some ports (such as the timer) are emulated and almost work, but have bugs.