Xref: news2.mv.net comp.os.msdos.djgpp:8051 From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: why rhide... Date: Thu, 29 Aug 1996 19:14:12 -0700 Organization: Three pounds of chaos and a pinch of salt Lines: 63 Message-ID: <32264E74.7275@cs.com> References: <9608292032 DOT AA20684 AT pdv DOT com> NNTP-Posting-Host: ppp225.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: CSSPT AT lgvop2 DOT pdv DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp CSSPT AT lgvop2 DOT pdv DOT com wrote: > > cant't exsists at it's own like many other program, or many program under > dos request for a dpmi port to exsist, i don't understand what a dpmi is... > please help me, i'm new about this... > > regards, Franklin Castillo I have two observations to make here before answering your question. First, you obviously haven't bothered to read any of the documentation that comes with rhide. Second, since AFAIK rhide is designed only to compile DJGPP programs, I don't see how you've used DJGPP previously without running into this problem before. DPMI stands for DOS Protected Mode Interface, and is a method for CPU/memory management which allows 32-bit (and some 16-bit) programs to run without the limitations of realmode programming (640k memory limit, 64k segments, etc.). Protected mode considers all memory to be one large pool, comprised of low memory, EMS/XMS, and virtual memory. Under DPMI, allocating large chunks of memory is as simple as 'malloc( 16 * 1024 * 1024 );' There are a number of other advantages as well. This said, because DJGPP (and rhide) are 32-bit protected-mode programs, they *require* some form of DPMI to be available when they try to run. Although DPMI services are provided by Windows 3.1/NT/95, Linux dosemu, OS/2, QDPMI, and other programs, standard DOS does *not* provide them. Thus, in order to run any protected-mode program in plain DOS, you must have a program available which can act as a DPMI host. For DJGPP, a free host named 'cwsdpmi.exe' has been provided. All you have to do to make it work is to put it either in the same directory as the program you are running OR to put it somewhere in your PATH. You may have observed that many commercial programs, particularly games, come with a program called DOS4GW.EXE. This program is used to provide DPMI to these games, although it does so in a cumbersome and memory- intensive fashion. BTW, DOS4GW is a commercial product and licenses to use it are very expensive. You should be glad that DJGPP provides a host which is every bit as good and is free to boot. Last, but not least, you really should read the documentation before complaining to us. The 'v2/readme.1st' file that can be found with the djgpp distribution explicitly states not only the full procedure for installing DJGPP, but also that you must have a DPMI host to run DJGPP programs. It even points you to cwsdpmi.exe. Also, please download the DJGPP Frequently Asked Questions list (v2/faq201b.zip) and peruse at least the first 4-6 sections. It answers 99% of the questions that beginners have when starting to use DJGPP. The FAQ comes in three formats: info format suitable for viewing with the 'info.exe' program that comes with DJGPP, html format suitable for viewing with any web browser, and text format suitable for loading into any editor. All are in the faq201b.zip file. HTH, John -- Anything that happens, happens. Anything that, in happening, causes something else to happen, causes something else to happen. Anything that, in happening, causes itself to happen again, happens again. It doesn't necessarily do it in chronological order, though. --- Douglas Adams