home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
unix
/
emx
/
doc
/
user.doc
< prev
Wrap
Text File
|
1993-01-03
|
13KB
|
389 lines
===============================================================================
user.doc emx 0.8f USER'S GUIDE 03-Jan-1993
===============================================================================
Copyright (c) 1990-1993 by Eberhard Mattes
Hardware Requirements
---------------------
- emx requires an 80386 CPU (80386DX, 80386SX, i486)
- emx requires an 80387 coprocessor (or i486 processor) if floating point
math is to be used under DOS
DOS Notes
---------
- emx requires DOS 3.0 or later
- emx does not support DPMI
- emx does not support DESQview without VCPI (use QEMM-386 with DESQview)
- If emx doesn't work under DESQview (especially if it displays the
message `Nonmaskable interrupt (NMI)', either set the protection
level to 0 or use the WATCHDOG=0 option of QEMM-386.
- emx supports VCPI
- emx supports XMS. Do not use emx with himem.sys 2.06 or earlier.
- emx checks for XMS version number 2.00 or later and for
XMS driver revision 2.06 or later, as older himem.sys drivers
don't work correctly. You can override this check by giving
the -O command line option (for drivers using a different
revision numbering scheme), but emx may not work with your
XMS driver, anyway. Actually, emx has not been tested with
himem.sys 2.05; 2.04 fails, 2.06 works.
- emx supports VDISK.SYS 3.3 and later and most other RAM disk drivers
- emx uses (or tries to use) all available memory, whether
conventional, extended, or expanded memory. But it does not use
extended memory AND expanded memory at the same time. If there
isn't enough memory, emx will swap to disk. The swap file will be
created in the directory given by the EMXTMP environment variable.
If EMXTMP is not set, TMP will be used. If both variables are not
set, the swap file will be created in the root directory of the
current drive.
- Do not put BREAK=ON in your config.sys file. BREAK=ON causes
problems with lots of other programs as well.
OS/2 Notes
----------
- emx requires OS/2 2.0
- emx does not run in DOS mode of OS/2
DOS Programs
------------
emx.exe DOS extender
OS/2 dynamic link libraries
---------------------------
emx.dll emx run-time support for OS/2 2.0
emxio.dll access to hardware ports for emx programs under OS/2 2.0
emxlibc.dll emx C library
These dynamic link libraries must be in a directory listed by the
LIBPATH statement of config.sys. Either copy these files to such a
directory or add to the LIBPATH statement the directory where these
files have been installed. Note that LIBPATH is not an environment
variable.
You can't replace a dynamic link library while it is used by any
program. If you can't install emx.dll, use `pstat /c' to find out
about programs that use emx.dll.
Usage (DOS)
-----------
Run a bound program by typing its name.
Run an a.out file by typing
emx [options] program [arguments]
emx options (can also be used in EMXOPT):
-c Disable core dumps caused by signals other than SIGKILL
-d Don't use extended memory
-e Don't check for 387 coprocessor. Assume no coprocessor is
present
-h# Set DOS file handle limit to #. The number # must be between
10 and 255. This option is ignored for DOS versions earlier
than 3.30. This option does not change the emx limit for the
number of files per process -- that limit is always 40
-m1 Running on Fujitsu FMR70 (not implemented yet)
-m2 Running on NEC PC-98 (not implemented yet)
-m3 Running on Inboard 386/PC
-o Send register dump (of exception) to stdout (instead of CON,
for redirecting register dump)
-r* Prepend drive letter * to absolute path names. If a path
name starts with / but does not start with //, /dev/ or
/pipe/, * followed by a colon will be prepended. If -rd has
been given, the file name \mydir\abc will be translated to
d:\mydir\abc. Note: this option can cause unexpected effects
-t Truncate file names to 8.3
-O Override XMS version check
-V Display emx version
Options can also be stored in the environment variable EMXOPT. emx
first examines the options given in EMXOPT, then the options given on
the command line.
Usage (OS/2)
------------
Run a bound program by typing its name. If you've got different
versions of emx.dll, use the latest one. To get the revision number
of an emx dynamic link library, use emxrev.cmd.
You can use the following options in the EMXOPT environment variable:
-c Disable core dumps caused by signals other than SIGKILL
-h# Set OS/2 file handle limit to #. The number # must be
between 10 and 255
-r* Prepend drive letter * to absolute path names. If a path
name starts with / but does not start with //, /dev/ or
/pipe/, * followed by a colon will be prepended. If -rd has
been given, the file name \mydir\abc will be translated to
d:\mydir\abc. Note: this option can cause unexpected effects
-t Truncate file names to 8.3
-E Run debuggee in same session (window) as debugger
If OS/2 says
SYS1804: The system cannot find the file EMX.
when running a program compiled for emx, you haven't correctly set the
LIBPATH statement of config.sys. See above for details.
Environment variables
---------------------
INIT used by termcap
TERM used by termcap
EMXETC used by termcap
EMXOPT emx options
EMXPATH search path for programs
PATH search path for program (used if EMXPATH fails)
TERMCAP used by termcap
Environment variables (DOS)
---------------------------
EMX path name of emx.exe, used by programs which are bound
with emxl.exe (the emx loader) instead of emx.exe.
Set EMX to speed up loading of emx.exe or to load a
specific version of emx.exe
EMXTMP directory for swap file
TMP used if EMXTMP is not set
If the program name doesn't contain a drive and directory name, the
current directory will be searched first, then all directories listed
in EMXPATH and PATH.
If the program name contains a drive or directory name, no search
will be done, only the given path name is tried.
Messages (DOS)
--------------
Abnormal program termination
The program received the SIGABRT signal. The abort() function was
called or SIGABRT was raised.
Cannot create swap file
The swap file could not be created. Remedy: make sure the swap
file can be created in the directory given by the EMXTMP (or TMP)
environment variable. If EMXTMP and TMP are not set, emx will
create the swap file in the root directory of the current drive.
Cannot enable A20
emx tried to enable address line A20 and failed. Remedy: contact
the author.
Cannot enable A20 via XMS
emx tried to enable address line A20 by calling the XMS driver.
Unfortunately, A20 couldn't be enabled. Remedy: unknown.
Cannot open program file
The program file given on the emx command line could not be found
or opened. Remedy: type the correct file name. (This should not
happen with bound programs.)
Cannot read program file
An error occured while reading the program file. Remedy: make
sure the program file given on the emx command line is valid (this
does not apply to bound programs). Maybe some other program
accesses that file.
DPMI not supported
The current version of emx cannot use DPMI. Maybe some future
version will do. Remedy: end the DPMI server (Windows 3.0).
Exception ...
The program run by emx did something illegal. Remedy: report to
the supplier of the program.
Illegal syscall function
Illegal viocall function
The program run by emx has called an invalid system function.
Remedy: report to the supplier of the program.
Invalid arguments for DOS function xx
The program run by emx has used invalid arguments for a system
function. Remedy: report to the supplier of the program.
Invalid program file
The program file given on the emx command line (or bound to emx)
is corrupt. Remedy: reload the program from diskette. If this
doesn't help you should contact the supplier of the program.
Invalid special function code: xx
The program run by emx has called an invalid system function.
Remedy: report to the supplier of the program.
Linear address space exhausted
The program run by emx uses far too much memory. remedy: complain
to the author.
Nonmaskable interrupt (NMI) at xxxx:yyyyyyyy
A nonmaskable interrupt occured. Maybe this is due to a memory
error. Remedy: if you're using DESQview, either set the
protection level to 0 or use the WATCHDOG=0 option of QEMM-386.
Otherwise, run a program for testing memory.
Out of memory
Out of memory (RM)
There isn't enough memory for running emx. Remedy: remove some
drivers and/or resident programs. Or add memory to your machine.
Out of stacks
emx run out of local stacks. Remedy: complain to the author.
Out of memory or swap space
Out of swap space
emx cannot write to the swap file because the disk is full.
Remedy: make sure there is enough space on the drive used for the
swap file. Use the EMXTMP (or TMP) environment variable to tell
emx where to create the swap file. If neither EMXTMP nor TMP is
set, emx will create the swap file in the root directory of the
current drive.
Process terminated by SIGINT
Process terminated by SIGBREAK
You've stopped the program by hitting Ctrl-C or Ctrl-Break.
Program aborted
You've aborted the program by answering `Abort' after a critical
error had occured.
Swap file I/O error
emx couldn't read or write the swap file.
This program does not run in DOS mode of OS/2
DOS emulation of OS/2 doesn't support emx. Remedy: boot DOS or
use OS/2 2.0.
This program requires an 80386 CPU
You need an 80386DX, 80386SX, or i486 CPU for running emx.
Remedy: get another computer.
This program requires DOS 3.0 or later
If emx is bound with an application program into one executable,
DOS 3.0 or later is required for execution.
Too many processes
emx supports up to 4 processes. You've tried to start 5 or more
processes.
Unexpected interrupt
This cannot happen. Remedy: report to the author.
Unsupported VDISK.SYS version
emx doesn't support the VDISK.SYS device driver you're using.
Remedy: remove VDISK.SYS or use a different version. emx should
work with VDISK.SYS 3.3 or later.
Unsupported XMS version
emx requires himem.sys 2.06 or later (older versions are too
buggy). Remedy: get a newer himem.sys. If you're not using
himem.sys, use the -O option of emx and tell the author whether
this works or not.
Unusable interrupt vector mappings set by VCPI server
The configuration of the VCPI server (EMS driver) is illegal.
Remedy: read the manual of the EMS driver.
Virtual mode not supported without VCPI
A VCPI server is required to run emx if the CPU is in virtual
mode. You'll get this message if you're using an EMS driver (EMS
emulator) which doesn't support VCPI or if you've disabled EMS.
Remedy: remove the EMS driver, use an EMS driver which supports
VCPI or enable EMS if it has been disabled (for instance, remove
the NOEMS keyword from the command line of the EMS driver).
Wrong emx version
The version of emx.exe does not match the version the program was
compiled for. Remedy: use the copy of emx.exe that comes with the
program. If you're using different programs which need different
versions of emx.exe, use the EMX environment variable to set the
path name of the correct version of emx.exe before running a
program which requires a version different from the default
emx.exe. You can also use the emxbind utility of the emx package
to put the correct version of emx.exe into the executable files.
Obtaining the complete emx package
----------------------------------
emx is available for anonymous ftp on ftp.uni-stuttgart.de
[129.69.1.12] in the directory soft/os2/emx-0.8f. It is also
available from ftp-os2.nmsu.edu. In the UK, try src.doc.ic.ac.uk,
which is a mirror of ftp-os2.nmsu.edu.
--------------------------- END OF USER.DOC ---------------------------------