Tips for RPilot on DOS
-=-=-=-=-=-=-=-=-=-=-=

RPilot is known to compile with the following DOS compilers:

Borland Turbo C++ 3.0
Borland C++ 4.52
Microsoft QuickC 2.5
DJGPP's gcc 2.7.1 and above

It will also most likely compile with other compilers, such as later
versions of Borland C++, Microsoft C++, Watcom C++, EMX, and others.

It will *not* compile under DDS Micro-C, which is not ANSI compatible, and
lacks some features, such as the string functions.  It may be possible to
use parts of the FreeDOS C library to fill in what Micro-C is missing, but
I have not tried this yet.

Makefiles are included for:

Turbo C++ : type "make -frpilot.tcc"
QuickC    : type "nmake -f rpilot.mak"
DJGPP     : type "make" :)
EMX can use the same makefile as DJGPP can, since they use the same compiler
and make version.

In addition, project files are included for:

Turbo C++ : Load "rpilot.prj" from the Projects|Open Projects menu command


Two versions of RPilot have been included: rpilot.exe and rpilot32.exe.
The "rpilot.exe" file is a real-mode, 16 bit program which will run on
anything, including the original IBM PC.  The "rpilot32.exe" program is
a protected-mode, 32 bit executable which will run on a 386 or better.
It was compiled with DJGPP 2.01, and therfore requires DPMI memory.  A
free DPMI server, CWSDPMI, is included.  The program was also compressed
with the DJP 1.05 compressor to cut down on it's size.  For more information
on the free DJGPP 32 bit development system, check out
http://www.delorie.com/djgpp/   If either of the programs give you trouble,
try the other one, and if you encounter no problems with it, send me a me
a note.

Special note to DR-DOS/OpenDOS/NWDOS users:
The versions of EMM386.EXE which come with these systems has a DPMI server
which is notoriously buggy.  Therefore, make sure that the line in
CONFIG.SYS/DCONFIG.SYS that loades EMM386 has the /DPMI=OFF switch, or else
RPilot may crash and burn.  A solution is to use CWSDPMI instead.

If you are using OS/2:
If you wish to use rpilot32.exe under OS/2, open up it's DOS property page,
and make sure that DPMI_DOS_API is set to "ENABLED".  You may also want to
change the DPMI_MEMORY_LIMIT to something other than 4 megs.

The "rstring.*" files contain two functions which are sometimes included
in a compiler's standard library.  They are strupr() and strset().  Turbo C++,
QuickC, and other Borland and MS C compilers have these two functions.  DJGPP
has strupr(), but not strset().  They aren't listed as part of the standard
C library by either Borland or as such in the _Essential_Guide_to_ANSI_C_,
so you may or may not have to link them in. Check your compiler's
documentation if you're not sure.

About DPMI:
Many environments, such as DOSEmu, OS/2, and Windows 3.1/95/98, provide
DPMI support for applications.  If you're OS does not do so, then you
should unzip the CWSDPMI.ZIP file to extract CWSDPMI.EXE, a free DPMI
server which RPilot32 can use.  If you experience trouble, consult the
documentation for CWSDPMI which is also included.  Because CWSDPMI is
under the same license as RPilot, you are entitled to a copy of the
source code, which is available in the following directory:
ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/


Linux users: Please note that there is also a native Linux version of RPilot!
OS/2 users: Please note that there is also a native OS/2 version of RPilot!


