www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/08/29/23:36:47

Xref: news2.mv.net comp.os.msdos.djgpp:8051
From: "John M. Aldrich" <fighteer AT cs DOT com>
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
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019