home *** CD-ROM | disk | FTP | other *** search
- ===============================================================================
- emx.doc emx 0.8h 29-Dec-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 (emTeX386 doesn't use floating
- point math)
-
-
- Installing emx under OS/2 2.x
- =============================
-
- Summary for impatient OS/2 users
- --------------------------------
-
- 1. Add \emtex\dll to LIBPATH (always use the latest copy of the .dll
- files!)
-
- 2. Reboot
-
-
- Detailed instructions for OS/2 users
- ------------------------------------
-
- emx requires OS/2 2.x and does not run in DOS mode of OS/2.
-
- Before changing config.sys, make a backup copy of that file!
-
- OS/2 looks for dynamic link libraries in the directories listed in the
- LIBPATH statement of your config.sys file. Note that LIBPATH is not
- an environment variable!
-
- At any time, at most one version of a dynamic link library is loaded.
- If there are different versions of a dynamic link library in the
- directories listed in the LIBPATH statement, the first one listed is
- loaded. If you already have installed emx.dll, you should be careful
- to use the latest revision of emx.dll. A newer emx.dll works with
- older programs, but newer programs don't work with older emx.dll.
-
- Either copy the latest revisions of emx.dll to a directory directory
- listed in the LIBPATH statement of config.sys or modify the LIBPATH
- statement to include the directory where the latest revisions of
- emx.dll can be found.
-
- The directories of the LIBPATH statement are separated by semicolons.
- To add c:\emtex\dll to the LIBPATH statement, append a semicolon -- if
- there is not yet a semicolon -- to the end of the line of config.sys
- that starts with
-
- LIBPATH=
-
- Then, type the absolute name of the directory. Example:
-
- LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;D:\EMTEX\DLL
-
- Optionally, you can append a semicolon at the end.
-
- Now, you should reboot to activate the change to config.sys.
-
- If OS/2 says
-
- SYS1804: The system cannot find the file EMX.
-
- when running tex386.exe, you haven't correctly set the LIBPATH
- statement of config.sys. See above for details.
-
-
- Installing emx under DOS
- ========================
-
- Summary for impatient DOS users
- -------------------------------
-
- 1. If you're using a memory manager which implements DPMI, enable
- VCPI
-
- 2. Remove BREAK=ON from config.sys
-
- 3. Reboot
-
-
- Detailed instructions for DOS users
- -----------------------------------
-
- If you're using a memory manager (such as QEMM or EMM386 or 386max)
- which implements DPMI (DOS Protected Mode Interface), you have to
- change the invokation of that memory manager to enable VCPI as emx
- does not support DPMI. See the documentation of your memory for
- details. If your memory manager supports DPMI only (without VCPI),
- you have to remove or disable the memory manager. emx supports XMS
- and VCPI.
-
- Examine your config.sys file: If there's a line
-
- BREAK=ON
-
- in it, you should remove it as it causes trouble with emx and lots of
- other programs.
-
- If you're using an Intel Inboard 386/PC, add the following line to
- autoexec.bat:
-
- set emxopt=-m3
-
- If the swap file (used to swap memory pages to disk when running out
- of physical memory) should be in a specific directory or on a specific
- disk drive, set the EMXTMP environment variable in autoexec.bat.
- Example:
-
- set emxtmp=c:\tmp
-
- Now, you should reboot to activate the changes to config.sys and
- autoexec.bat.
-
-
- Environment variables
- =====================
-
- Environment variables (DOS)
- ---------------------------
-
- EMX path name of emx.exe. Set EMX to speed up loading of emx.exe
- or to load a specific version of emx.exe
-
- EMXTMP directory for the swap file
-
- TMP used if EMXTMP is not set
-
-
- 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 using the -O emx 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.
-
-
- Using rsx instead of emx
- ========================
-
- rsx is a DPMI-compliant DOS extender which is more or less compatible
- to emx. Moreover, rsx contains a floating point emulator. rsx is
- free software and has been written by Rainer Schnittker. As of this
- writing, rsx is available for anonymous ftp as
-
- ftp.uni-bielefeld.de: /pub/systems/os2/msdos/dpmigc2a.zip
-
- If the emx loader emxl.exe finds a DPMI server but no VCPI server, it
- tries to run rsx.exe instead of emx.exe. The RSX environment variable
- will be used instead of the EMX environment variable for locating
- rsx.exe.
-
- To load rsx.exe instead of emx.exe even if there is a DPMI server and
- a VCPI server (for instance if you need the floating point emulation
- of rsx), set the EMX environment variable to point to rsx.exe. Note
- that rsx needs a DPMI server.
-
- NOTE: The version of rsx found in dpmigc2a.zip implements the system
- calls of emx 0.8g. However, emTeX386 uses emx 0.8h which may result
- in problems. You should wait for a version of rsx which is compatible
- to emx 0.8h.
-
-
- emx options
- ===========
-
- You can customize emx by setting the EMXOPT environment variable.
- This environment variable contains a list of options, similar to
- command line options. The options must be separated by at least one
- blank. Example:
-
- set emxopt=-c -h40
-
-
- emx options (OS/2)
- ------------------
-
- -c Disable core dumps caused by signals and exceptions
-
- -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
-
-
- emx options (DOS)
- -----------------
-
- -c Disable core dumps caused by signals and exceptions
-
- -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 Intel Inboard 386/PC
-
- -o Send the register dump of an exception to stdout. Without -o,
- the register dump is sent to the CON device. You need -o for
- redirecting the register dump to a file.
-
- emx now creates a core dump file (named `core') instead of a
- register dump. Please keep that file in case the author of
- the program needs it for debugging.
-
- -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 format. Each part of a pathname is
- truncated to 8.3 format by taking the first 8 characters
- before the dot and the first 3 characters after the dot. This
- is useful to compile programs on a FAT filesystem with minimal
- changes
-
- -O Override XMS version check. By default, 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 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
-
- -V Display emx version. On program start, the emx version will
- be displayed
-
-
- emx 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.
-
- core dumped
-
- The program cannot continue due to a fatal error (exception). An
- image of the program's memory has been written to a file named
- `core'. Please keep that file in case the author of the program
- needs it for debugging.
-
- DPMI not supported
-
- The current version of emx cannot use DPMI. Maybe some future
- version will do. Remedy: end the DPMI server (MS Windows).
-
- Exception ...
-
- The program run by emx did something illegal. Remedy: report to
- the supplier of the program.
-
- Illegal moucall function
-
- The program run by emx has called an invalid system function.
- Remedy: report to the supplier of the program.
-
- Illegal syscall function
-
- The program run by emx has called an invalid system function.
- Remedy: report to the supplier of the program.
-
- 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 emx option
-
- An option in EMXOPT or set by emxbind is not understood by emx.
- Remedy: check EMXOPT. Use emxbind -i to display the options set
- by emxbind.
-
- 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
-
- 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
-
- 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.
-
- 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
-
- You've stopped the program by hitting Ctrl-C or Ctrl-Break.
-
- Process terminated by SIG...
-
- The program has been stopped due to a signal or exception.
- Usually, this indicates a fatal error in the program.
-
- 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.x.
-
- 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 emxbind -u 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.8.13]: /pub/systems/os2/emx-0.8h
- ftp-os2.nmsu.edu [128.123.35.151]: /os2/2_x/unix/gnu/emx08h
- src.doc.ic.ac.uk [146.169.2.1]: /pub/packages/os2/2_x/unix/gnu/emx08h
- ftp.informatik.tu-muenchen.de [131.159.0.198]:
- /pub/comp/os/os2/devtools/emx+gcc
-
-
- The author of emx
- =================
-
- The author of emx is
-
- Eberhard Mattes
- Teckstrasse 81 (TeX: Teckstra\ss e)
- D-71696 Moeglingen (TeX: M\"oglingen)
- Germany
-
- Internet: mattes@azu.informatik.uni-stuttgart.de (subject to change)
-
- No telephone calls please! It must be stressed that the author does
- not reply to letters if you don't include return postage
- (international postal reply coupon if you're outside Germany) and a
- self-addressed envelope.
-
- --------------------------- END OF EMX.DOC --------------------------------
-