home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
psrt_14.zip
/
rsxinst.doc
< prev
next >
Wrap
Text File
|
1994-02-17
|
7KB
|
247 lines
--------------------------------------------------------------------------------
INSTALL.TXT DPMI-RSX (c) Rainer Schnitker Feb 1994
--------------------------------------------------------------------------------
This file contains information about:
* Hardware Requirements
* Software Requirements
* Create more DPMI memory
* INSTALL for EMX/GCC
* INSTALL for DJGPP
* Major bugs in tested DPMI-Hosts
* Patch for next EMX-Update
* Error messages from RSX
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
--------------------------------------------------------------------------------
Hardware Requirements:
----------------------
- RSX requires a 386SX-CPU (or higher)
(A 387 coprocessor is not necessary, because RSX emulates it)
Software Requirements:
----------------------
- A DPMI 0.9/1.0 - Server like:
MS-Windows 3.1 enhanced mode
QEMM386 + QDPMI 1.01
386MAX 6.x, 7.x
OS/2 2.x
To use the 387-emulator the DPMI-server must provide DPMI 1.0 floating-point
extensions (most 0.9 server support this).
- DOS 3.3+ or DOS box emulation
- A GNU-C port for DOS like EMX/GCC 0.8e-h or DJGPP 1.06-1.11
or any EMX program that should run under DPMI (like TeX386).
Create more DPMI memory: (needed for older DJGPP)
------------------------
MS-Windows 3.1:
You can set the value PageOverCommit in the system.ini [386Enh] section
PageOverCommit=8 (default=4)
Specifies the multiplier for determining the amount of linear address space.
The amount of linear address space is computed by rounding up the amount of
available physical memory to the nearest 4 megabytes and then by multiplying
that value to the value specified for this setting.
After that, increase the permanent Swapfile (Control Panel / 386).
Also you can create a smaller DOS-Box. PIF-settings:
- 400 KB DOS memory maximum [200 KB without rsx387]
(if you only want to run small DOS programs in RSX)
- EMS=0 ; XMS=0 ; no High-Memory-Area
386MAX 7.0:
To increase memory you must have a SWAPFILE line in your 386MAX.PRO file
SWAPFILE=C:\386MAX\386MAX.swp /S=10240
This creates a 10MB swapfile. The size of the virtual swapfile is the
amount of virtual memory available to your applications.
QEMM + QDPMI:
Set the environment QDPMI to something like
QDPMI=SWAPFILE c:\tmp\qdpmi.swp 8192
This creates a 8 MB swapfile. The sum of the value of availble memory and
the size of the virtual swapfile is the amount of virtual memory available
to your applications.
OS/2:
DPMI_DOS_API must have the value AUTO or ON
DPMI_MEMORY_LIMIT default value is 64 MB, you don't need to change it
EMS,XMS is not needed.
INSTALL for EMX/GCC:
--------------------
1) Set the environment RSX387, if a 387-emulation is required
RSX387=C:\RSX\FPU-EMU\RSX387
You can disable the FPU-EMU with the '-e' command-line switch.
2) There are two ways to run RSX from bound exe-files:
a) Use emxl.exe from EMX-0.8H.
If the emxl.exe detects only DPMI it runs RSX.EXE, otherwise EMX.EXE.
emxl.exe must found RSX.EXE in the current directory or in the PATH.
Also you can use the Environment RSX=<path>\RSX.EXE (like EMX).
See also \emx\doc\EMXRT.DOC in EMXRT.ZIP.
b) Set the environment variable EMX to RSX.EXE like
EMX = C:\RSX\BIN\RSX.EXE .
Now, bound EXE-files run the RSX-extender instead of EMX. A special PATH
statement is not necessary.
If you have no coprocessor and you want run the gcc compiler this method
is recommend. Also you can use the stub emxldpmi.exe. This stub runs
always RSX, if there is a DPMI-server.
Notes:
(a) Note that the default stack is 60 KB. If you need more space, use
the -s option to grow the stack, or set a environment-var RSXOPT.
Example: RSXOPT=-s256 sets the stack to 256 Kbytes.
(see rsxcmds.txt).
INSTALL for DJGPP:
------------------
1) Set environment RSX387, if 387-emulation is required.
RSX387=C:\RSX\FPU-EMU\RSX387
2) Bound executable must find RSX.EXE in the PATH or current directory.
Copy the binary files from \rsx\bin to your \djgpp\bin directory.
Or change the PATH to \rsx\bin.
3) Creating bound executable:
a) For go32 version 1.11 you can use the tools coff2exe, stubedit.
To create a gcc compiler for RSX.EXE do this:
C:\GCC\BIN> xcopy gcc.exe gccdpmi.exe
C:\GCC\BIN> stubedit gccdpmi.exe extender=rsx
b) for older versions:
You must use the new stub STUBDJ.EXE to create bound executable. The
program BINDDJ puts a stub and the a.out program together:
> BINDDJ stubdj.exe myfile myfile.exe
Stubdj executes RSX if a DPMI-server is there, and go32.exe if there is no
DPMI-server. To change the gcc compiler exe-stub, use EXE2AOUT from djgpp
to get the a.out file and use the BINDDJ command to create the new stub.
Example:
C:\GCC\BIN> exe2aout gcc.exe
C:\GCC\BIN> binddj stubdj.exe gcc gccd.exe (copy stubdj+gcc gccd.exe)
[4] Building library LIBRSX.A
If you want to use signals(), ptrace(), wait(), etc you must build
the library 'librsx.a'.
Read the file 'readme' in the \rsx\source\djlibrsx to install
this futures.
Major BUGS in tested Hosts :
----------------------------
running MS-Windows 3.1
(exception 3 is not used, int3 handler must installed)
running QEMM + QDPMI 1.01
- page faults terminate program
- QDPMI virtuel memory error after memory resize fails (page fault)
(can happen in GDB.EXE)
running 386MAX 6.00 (the new version 7.00 is ok)
- control-c handler will never called
Patch for next EMX-Update:
--------------------------
If you upgrade a new EMX version (maybe emx0.8i ?), you always get a warning
message, if you run the rsx.exe file.
Now you can patch the RSX.EXE file:
Take a good Hexdump-editor
Load RSX.EXE
Search for reversed version number "h8.0"
Change this value
Save RSX.EXE
Error messages from RSX:
------------------------
"No DPMI-host found!"
There is no DPMI-server. Use EMX instead.
"32bit programs not supported"
The DPMI-server supports only 16-bit programs. You can't use RSX.
"Can't alloc memory for the DPMI-host-stack"
The DPMI-server needs some DOS memory for RSX.
Do you have enough DOS memory?
"can't switch to Protected Mode"
DPMI-server can't switch RSX in Protected Mode.
Do you have enough extended memory?
"No DPMI-server 387 support", "use -e option"
DPMI-server doesn't support a coprocessor. Use 'RSX -e prog' or set
the environment 'RSXOPT=-e'.
"error:can't get int21", "error:can't set int21"
RSX can't change the interrupt vector 0x21.
"error: not a valid PSP option -/xxxx/\n"
EMXBIND error in bound executable.
"Can't find RSX387"
Set the environment RSX387 like RSX387=c:\rsx\fpu-emu\rsx387
"Can't load emu: "
Not enough memory for 387 emulator. Try -p option or increase DOS
memory.