--------------------------------------------------------------------------------
INSTALL.TXT         dpmi-rsx        (c) Rainer Schnitker       2/93
--------------------------------------------------------------------------------


Hardware Requirements:

- RSX requires a 386SX-CPU (or higher)
  ( A 387 coprocessor is not neccessary, because RSX emulates it)


Software Requirements:

- A DPMI 0.9 - Server like:
	MS-Windows 3.1 enhanced mode
        QEMM386 + QDPMI
        386MAX 6.x
  To use the 387-emulator the DPMI-server must provide DPMI 1.0 floating-point
  extentions (most support this).

- DOS 3.3+ or DOS box emulation

- A GNU-C port for DOS like EMX/GCC or DJGPP.


INSTALL for EMX/GCC:
--------------------
Set environment RSX387 = C:\RSX\BIN\RSX387, if a 387emulation is required

Set old environment variable EMX = C:\EMX\BIN\EMX.EXE to something like
 EMX = C:\RSX\BIN\RSX.EXE.

Now, bound EXE-files run the RSX-extender instead of EMX.


INSTALL for DJGPP:
------------------

Set environment RSX387 = C:\RSX\BIN\RSX387 , if 387emulation is required

Change read.o in LIBC.A (buggy!). (see doc\caution.g32)

Relink obj-files with LDN.EXE to create a new a.out file.
LDN creates emx-like executables.

Run programs with : RSXDJ filename <arg1 arg2 ...>
or use STUBN.EXE to bound executable.


Major BUGS in tested Hosts :
----------------------------
running MS-Windows 3.1
	- client can't use int3 breakpoint (poor GDB)

running QEMM 6.00/QDPMI 1.01
        - page faults terminate program

running 386MAX 6.00
	- gp-fault in host handler after spawn a real-mode program
	- control-c handler will never called


COMMAND LINE SWITCHES ( a subset of EMX switches )
---------------------

-a[cmwi] enable some extra features:
	-ac makes data,stack,heap executable
	-am enable _memaccess() (for writing 0xA0000h-0xBFFFFh), but this
	    option destroy protection under RSX (see source code sysemx.c)
	-aw enables write access to all areas for EMX,
	    RSX ignore this
	-ai enables _portaccess() for EMX,
	    RSX ignore this (DPMI-Server allow this)

-c	disable core dumps (core dumps not implemented yet).

-e	Don't check 387 coprocessor. Under RSX this disables 387 emulation
	and 387 state saving after a program switch.
	Also the DPMI-server doesn't set math emulation, so doing floating
	point can cause a crash. Be careful!

-f#
-s#	set stack size in KB. default: 64 KB

-p	for EMX: don't use low DOS memory. DPMI don't use DOS memory,
	so this option is ignored.

-S	Enable RSX debugger

-I	print all int0x21 calls (only for testing RSX)
