home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 8 / CDACTUAL8.iso / share / os2 / graficos / gle / emxrt.doc < prev    next >
Encoding:
Text File  |  1994-06-20  |  30.7 KB  |  914 lines

  1. ===============================================================================
  2. emxrt.doc    emx 0.8h (FIX 08)   USER'S GUIDE TO THE EMX RUNTIME    20-Jun-1994
  3. ===============================================================================
  4.                                      Copyright (c) 1990-1994 by Eberhard Mattes
  5.  
  6.  
  7. 1 Table of Contents
  8. ===================
  9.  
  10. 1     Table of Contents
  11. 2     Introduction to the User's Guide to the emx Runtime
  12. 2.1     Hardware requirements
  13. 2.2     Files included in the emx runtime package
  14. 3     Copyright
  15. 4     Installing the emx runtime package under OS/2
  16. 4.1     Summary for impatient OS/2 users
  17. 4.2     Detailed instructions for OS/2 users
  18. 5     Installing the emx runtime package under DOS
  19. 5.1     Summary for impatient DOS users
  20. 5.2     Detailed instructions for DOS users
  21. 6     Environment variables (OS/2 and DOS)
  22. 6.1     Environment variables (DOS)
  23. 7     DOS Notes
  24. 7.1     General notes
  25. 7.2     Using rsx instead of emx
  26. 8     emx options
  27. 8.1     emx options (OS/2)
  28. 8.2     emx options (DOS)
  29. 9     Troubleshooting
  30. 9.1     Warning message `WARNING: emx 0.8h or later required'
  31. 9.2     unzip.exe says `cannot create emx/dll/emx.dll'
  32. 9.3     emx.dll cannot be deleted, renamed or overwritten
  33. 9.4     Error message `SYS1804: The system cannot find the file EMX.'
  34. 9.5     Error message `rsx not found, DPMI not supported by emx'
  35. 10    emx messages
  36. 10.1    emx messages (OS/2)
  37. 10.2    emx messages (DOS)
  38. 11    Obtaining the complete emx package
  39. 12    The author of emx
  40.  
  41.  
  42. 2 Introduction to the User's Guide to the emx Runtime
  43. =====================================================
  44.  
  45. This is the documentation for the emx runtime package.  The emx
  46. runtime is an environment for 32-bit programs under OS/2 2.0, OS/2 2.1
  47. (OS/2, in short), MS-DOS and PC-DOS (DOS, in short).
  48.  
  49. Under OS/2, you can view the .inf version of this document by typing
  50.  
  51.     view \emx\book\emxrt
  52.  
  53. If you add \emx\book to the BOOKSHELF environment variable, you can
  54. type
  55.  
  56.     view emxrt
  57.  
  58. to view that on-line book.
  59.  
  60.  
  61. 2.1 Hardware requirements
  62. -------------------------
  63.  
  64. - emx requires an 80386 CPU (80386DX, 80386SX, i486, or later)
  65.  
  66. - emx requires an 80387 coprocessor (or i486 processor) if floating
  67.   point math is to be used under DOS
  68.  
  69.  
  70. 2.2 Files included in the emx runtime package
  71. ---------------------------------------------
  72.  
  73. The emx runtime package includes the following files:
  74.  
  75.   \emx\bin\emx.exe              emx runtime for DOS
  76.   \emx\bin\emxbind.exe          Tool for modifying emx programs (DOS and OS/2)
  77.   \emx\bin\emxl.exe             emx loader (used by emxbind)
  78.   \emx\bin\emxload.exe          Server for keeping OS/2 programs in memory
  79.   \emx\bin\emxrev.cmd           Tool for displaying emx revisions (OS/2)
  80.   \emx\book\emxrt.inf           The text you are looking at (VIEW version)
  81.   \emx\dll\emx.dll              emx runtime for OS/2
  82.   \emx\dll\emxio.dll            Hardware port I/O under OS/2
  83.   \emx\dll\emxlibc.dll          C library for emx programs (OS/2)
  84.   \emx\dll\emxwrap.dll          Interface to 16-bit OS/2 functions (OS/2)
  85.   \emx\doc\emxrt.doc            The text you are looking at (text version)
  86.   \emx\etc\termcap.dat          Terminal data base for termcap-based programs
  87.  
  88.  
  89. 3 Copyright
  90. ===========
  91.  
  92. emx.exe, emxbind.exe, emxl.exe, emxload.exe emx.dll, emxio.dll,
  93. emxwrap.dll and emxrt.doc are
  94.  
  95.     Copyright (c) 1990-1994 by Eberhard Mattes.
  96.  
  97.     Everybody is allowed to use the emx runtime package.  You are
  98.     allowed to copy the unmodified emx runtime package if you do not
  99.     charge for the distribution.
  100.  
  101.     emxload.exe is under the GNU General Public License; however, as
  102.     special exception, emxload.exe can be distributed in binary form
  103.     without source code (unless it has been modified or recompiled) in
  104.     the emxrt.zip package.  The source for emxload.exe is available in
  105.     emxsrc1.zip on the ftp servers listed below.
  106.  
  107. THERE IS NO WARRANTY!
  108.  
  109.     No guarantee is made as to the proper functioning of the software.
  110.     No liability will be admitted for damage resulting from using the
  111.     software.
  112.  
  113.  
  114. 4 Installing the emx runtime package under OS/2
  115. ===============================================
  116.  
  117.  
  118. 4.1 Summary for impatient OS/2 users
  119. ------------------------------------
  120.  
  121. 1.  Add \emx\dll to LIBPATH (always use the latest copy of the .dll
  122.     files!)
  123.  
  124. 2.  Add \emx\bin to PATH
  125.  
  126. 3.  Reboot
  127.  
  128.  
  129. 4.2 Detailed instructions for OS/2 users
  130. ----------------------------------------
  131.  
  132. emx requires OS/2 2.x and does not run in DOS mode of OS/2.
  133.  
  134. Before changing config.sys, make a backup copy of that file!
  135.  
  136. The emx runtime is implemented as a set of dynamic link libraries
  137. under OS/2:
  138.  
  139. emx.dll
  140.         emx run-time support for OS/2
  141.  
  142. emxio.dll
  143.         access to hardware ports for emx programs under OS/2
  144.  
  145. emxlibc.dll
  146.         emx C library
  147.  
  148. emxwrap.dll
  149.         32-bit wrappers for 16-bit OS/2 API functions
  150.  
  151. OS/2 looks for dynamic link libraries in the directories listed in the
  152. LIBPATH statement of your config.sys file.  Note that LIBPATH is not
  153. an environment variable!
  154.  
  155. At any time, at most one version of a dynamic link library is loaded.
  156. If there are different versions of a dynamic link library in the
  157. directories listed in the LIBPATH statement, the first one listed is
  158. loaded.  If you already have installed the emx dynamic link libraries,
  159. you should be careful to use the latest revision of those dynamic link
  160. libraries.  Newer emx dynamic link libraries work with older emx
  161. programs, but newer emx programs don't work with older emx dynamic
  162. link libraries.  To find out about already installed emx dynamic link
  163. libraries, type
  164.  
  165.     cd \emx\bin
  166.     emxrev
  167.  
  168. If no emx dynamic link libraries are installed, no output is produced.
  169. If there are emx dynamic link libraries installed, the names and
  170. revision numbers are displayed, for instance
  171.  
  172.     EMX : revision = 12
  173.     EMXIO : revision = 12
  174.     EMXLIBC : revision = 12
  175.     EMXWRAP : revision = 12
  176.  
  177. Only directories listed in the LIBPATH statement are searched.  To
  178. find out the revision numbers of the dynamic link libraries of this
  179. package, type
  180.  
  181.     emxrev -d c:\emx\dll
  182.  
  183. if you have put the emx runtime package on drive C.  After running
  184. emxrev, you should quit the command processor by typing
  185.  
  186.     exit
  187.  
  188. to release the dynamic link libraries (they have been loaded by
  189. cmd.exe as emxrev is a REXX procedure).  Otherwise, you cannot rename,
  190. overwrite or delete those files.  This also happens if one of the emx
  191. dynamic link libraries is currently used by a program.  If you get
  192. error message SYS0032, use
  193.  
  194.     pstat /L
  195.  
  196. to find out about the dynamic link libraries used by the programs
  197. currently running.  Terminate all the programs using emx.dll,
  198. emxio.dll, emxlibc.dll or emxwrap.dll.
  199.  
  200. Either copy the latest revisions of the emx dynamic link libraries
  201. (that is, those with the highest revision numbers) to a directory
  202. directory listed in the LIBPATH statement of config.sys or modify the
  203. LIBPATH statement to include the directory where the latest revisions
  204. of the emx dynamic link libraries can be found.
  205.  
  206. The directories of the LIBPATH statement are separated by semicolons.
  207. To add c:\emx\dll to the LIBPATH statement, append a semicolon -- if
  208. there is not yet a semicolon -- to the end of the line of config.sys
  209. that starts with
  210.  
  211.     LIBPATH=
  212.  
  213. Then, type the absolute name of the directory.  Example:
  214.  
  215.     LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;D:\EMX\DLL
  216.  
  217. Optionally, you can append a semicolon at the end.
  218.  
  219. Next, modify the line of config.sys starting with
  220.  
  221.     SET PATH=
  222.  
  223. to include the \emx\bin directory.  For instance, change
  224.  
  225.     SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;
  226.     C:\;C:\OS2\MDOS;C:\OS2\APPS
  227.  
  228. to
  229.  
  230.     SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;
  231.     C:\;C:\OS2\MDOS;C:\OS2\APPS;D:\EMX\BIN
  232.  
  233. As with LIBPATH, you have to put a semicolon between the path names
  234. and a trailing semicolon is optional.  Note that the last two examples
  235. are shown in two lines; in config.sys, however, the complete SET
  236. statement must be put into one line.
  237.  
  238. You might want to add \emx\book to the BOOKSHELF environment variable
  239. to simplify viewing the on-line documentation.  For instance, change
  240. the line
  241.  
  242.     SET BOOKSHELF=C:\OS2\BOOK;
  243.  
  244. of your config.sys file to
  245.  
  246.     SET BOOKSHELF=C:\OS2\BOOK;C:\EMX\BOOK
  247.  
  248. as with PATH, you have to put a semicolon between the path names and a
  249. trailing semicolon is optional.
  250.  
  251. Now, you should reboot to activate the changes to config.sys.  After
  252. booting, run
  253.  
  254.     emxrev
  255.  
  256. to verify that the latest revision of emx is now active.
  257.  
  258. If OS/2 says
  259.  
  260.     SYS1804: The system cannot find the file EMX.
  261.  
  262. when running an emx program, you have not correctly set the LIBPATH
  263. statement of config.sys.  See above for details.
  264.  
  265.  
  266. 5 Installing the emx runtime package under DOS
  267. ==============================================
  268.  
  269.  
  270. 5.1 Summary for impatient DOS users
  271. -----------------------------------
  272.  
  273. 1.  Add \emx\bin to PATH or set EMX to point to \emx\bin\emx.exe
  274.  
  275. 2.  If you are using a memory manager which implements DPMI, enable
  276.     VCPI
  277.  
  278. 3.  Remove BREAK=ON from config.sys
  279.  
  280. 4.  Reboot
  281.  
  282.  
  283. 5.2 Detailed instructions for DOS users
  284. ---------------------------------------
  285.  
  286. emx programs for DOS come in two flavours: those which load emx.exe
  287. from a separate file and those which have the emx runtime emx.exe
  288. integrated in the executable file of the application program.
  289.  
  290. Before changing autoexec.bat and config.sys, make a backup copy of
  291. these files!
  292.  
  293. If you want to use a program which loads emx.exe, you have to put
  294. emx.exe into a directory which is listed in your PATH environment
  295. variable or you have to change the PATH environment variable (in
  296. autoexec.bat) to include the directory in which emx.exe can be found.
  297. For instance, if your autoexec.bat file contains the line
  298.  
  299.     path c:\dos;d:\bin
  300.  
  301. you have installed the emx runtime on drive D, you should modify that
  302. line to read
  303.  
  304.     path c:\dos;d:\bin;d:\emx\bin
  305.  
  306. You have to put a semicolon between the path names.
  307.  
  308. Alternatively, you can set an environment variable which directly
  309. points to the emx.exe executable.  If you use this method, your
  310. program can locate emx.exe more quickly.  If you have installed the
  311. emx runtime on drive D:, you should add the following line to your
  312. autoexec.bat file:
  313.  
  314.     set emx=d:\emx\bin\emx.exe
  315.  
  316. Note that a directory name is not sufficient -- you have to type the
  317. complete path name of the emx.exe file.
  318.  
  319. Programs of the second flavour, having emx.exe integrated, don't
  320. require \emx\bin added to the PATH environment variable or the EMX
  321. environment variable being set.  The program itself, however, may need
  322. changes to your autoexec.bat file.  See the documentation accompanying
  323. the program.  The following steps are required for both flavours of
  324. emx programs.
  325.  
  326. If you are using a memory manager (such as QEMM or EMM386 or 386max)
  327. which implements DPMI (DOS Protected Mode Interface), you have to
  328. change the invokation of that memory manager to enable VCPI as emx
  329. does not support DPMI.  See the documentation of your memory for
  330. details.  If your memory manager supports DPMI only (without VCPI),
  331. you have to remove or disable the memory manager.  emx supports XMS
  332. and VCPI.
  333.  
  334. Examine your config.sys file: If there is a line
  335.  
  336.     BREAK=ON
  337.  
  338. in it, you should remove it as it causes trouble with emx and lots of
  339. other programs.
  340.  
  341. If you are using an Intel Inboard 386/PC, add the following line to
  342. autoexec.bat:
  343.  
  344.     set emxopt=-m3
  345.  
  346. If the swap file (used to swap memory pages to disk when running out
  347. of physical memory) should be in a specific directory or on a specific
  348. disk drive, set the EMXTMP environment variable in autoexec.bat.
  349. Example:
  350.  
  351.     set emxtmp=c:\tmp
  352.  
  353. Now, you should reboot to activate the changes to config.sys and
  354. autoexec.bat.
  355.  
  356.  
  357. 6 Environment variables (OS/2 and DOS)
  358. ======================================
  359.  
  360. The operation of emx and emx programs is controlled by several
  361. environment variables.  You might have to set one or more of the
  362. following environment variables:
  363.  
  364. INIT    used by termcap to find termcap.dat
  365.  
  366. TERM    used by termcap to define the terminal type
  367.  
  368. EMXETC  used by termcap to find termcap.dat
  369.  
  370. EMXOPT  emx options (see below)
  371.  
  372. EMXSHELL
  373.         overrides the COMSPEC environment variable.  You can use this
  374.         to run an alternate command processor (shell) from emx
  375.         programs
  376.  
  377. EMXPATH
  378.         search path for programs (usually not relevant)
  379.  
  380. PATH    search path for program (used if EMXPATH fails)
  381.  
  382. TERMCAP
  383.         used by termcap to find termcap.dat
  384.  
  385.  
  386. 6.1 Environment variables (DOS)
  387. -------------------------------
  388.  
  389. EMX     path name of emx.exe, used by programs which are bound with
  390.         emxl.exe (the emx loader) instead of emx.exe.  Set EMX to
  391.         speed up loading of emx.exe or to load a specific version of
  392.         emx.exe
  393.  
  394. EMXTMP  directory for the swap file
  395.  
  396. TMP     used if EMXTMP is not set
  397.  
  398.  
  399. 7 DOS Notes
  400. ===========
  401.  
  402.  
  403. 7.1 General notes
  404. -----------------
  405.  
  406. - emx requires DOS 3.0 or later
  407.  
  408. - emx does not support DPMI
  409.  
  410. - emx does not support DESQview without VCPI (use QEMM-386 with
  411.   DESQview)
  412.  
  413. - If emx doesn't work under DESQview (especially if it displays the
  414.   message
  415.  
  416.       Nonmaskable interrupt (NMI)
  417.  
  418.   either set the protection level to 0 or use the WATCHDOG=0 option of
  419.   QEMM-386.
  420.  
  421. - emx supports VCPI
  422.  
  423. - emx supports XMS.  Do not use emx with himem.sys 2.06 or earlier.
  424.  
  425. - emx checks for XMS version number 2.00 or later and for XMS driver
  426.   revision 2.06 or later, as older himem.sys drivers don't work
  427.   correctly.  You can override this check by using the -O emx option
  428.   (for drivers using a different revision numbering scheme), but emx
  429.   may not work with your XMS driver, anyway.  Actually, emx has not
  430.   been tested with himem.sys 2.05; 2.04 fails, 2.06 works.
  431.  
  432. - emx supports vdisk.sys 3.3 and later and most other RAM disk drivers
  433.  
  434. - emx uses (or tries to use) all available memory, whether
  435.   conventional, extended, or expanded memory.  But it does not use
  436.   extended memory AND expanded memory at the same time.  If there
  437.   isn't enough memory, emx will swap to disk.  The swap file will be
  438.   created in the directory given by the EMXTMP environment variable.
  439.   If EMXTMP is not set, TMP will be used.  If both variables are not
  440.   set, the swap file will be created in the root directory of the
  441.   current drive.
  442.  
  443.  
  444. 7.2 Using rsx instead of emx
  445. ----------------------------
  446.  
  447. rsx is a DPMI-compliant DOS extender which is more or less compatible
  448. to emx.  Moreover, rsx contains a floating point emulator.  rsx is
  449. free software and has been written by Rainer Schnittker.  As of this
  450. writing, rsx is available for anonymous ftp as
  451.  
  452.     ftp.uni-bielefeld.de: /pub/systems/msdos/misc/dpmigcc4.zip
  453.     ftp.uni-stuttgart.de: /pub/systems/os2/emx-0.8h/contrib/dpmigcc4.zip
  454.     ftp.informatik.tu-muenchen.de [131.159.0.198]:
  455.                           /pub/comp/os/os2/gnu/emx+gcc/contrib/dpmigcc4.zip
  456.  
  457. If the emx loader emxl.exe finds a DPMI server but no VCPI server, it
  458. tries to run rsx.exe instead of emx.exe.  The RSX environment variable
  459. will be used instead of the EMX environment variable for locating
  460. rsx.exe.
  461.  
  462. To load rsx.exe instead of emx.exe even if there is a DPMI server and
  463. a VCPI server (for instance if you need the floating point emulation
  464. of rsx), set the EMX environment variable to point to rsx.exe.  Note
  465. that rsx needs a DPMI server.
  466.  
  467.  
  468. 8 emx options
  469. =============
  470.  
  471. You can customize emx by setting the EMXOPT environment variable.
  472. This environment variable contains a list of options, similar to
  473. command line options.  The options must be separated by at least one
  474. blank.  Example:
  475.  
  476.     set emxopt=-c -h40
  477.  
  478.  
  479. 8.1 emx options (OS/2)
  480. ----------------------
  481.  
  482. -c      Disable core dumps caused by signals and exceptions
  483.  
  484. -h#     Set OS/2 file handle limit to #.  The number # must be between
  485.         10 and 255
  486.  
  487. -r*     Prepend drive letter * to absolute path names.  If a path name
  488.         starts with / but does not start with //, /dev/ or /pipe/, *
  489.         followed by a colon will be prepended.  If -rd has been given,
  490.         the file name \mydir\abc will be translated to d:\mydir\abc.
  491.         Note: this option can cause unexpected effects
  492.  
  493. -t      Truncate file names to 8.3
  494.  
  495. -E      Run debuggee in same session (window) as debugger
  496.  
  497.  
  498. 8.2 emx options (DOS)
  499. ---------------------
  500.  
  501. -c      Disable core dumps caused by signals and exceptions
  502.  
  503. -d      Don't use extended memory
  504.  
  505. -e      Don't check for 387 coprocessor.  Assume no coprocessor is
  506.         present
  507.  
  508. -h#     Set DOS file handle limit to #.  The number # must be between
  509.         10 and 255.  This option is ignored for DOS versions earlier
  510.         than 3.30.  This option does not change the emx limit for the
  511.         number of files per process -- that limit is always 40
  512.  
  513. -m1     Running on Fujitsu FMR70 (not implemented yet)
  514.  
  515. -m2     Running on NEC PC-98 (not implemented yet)
  516.  
  517. -m3     Running on Intel Inboard 386/PC
  518.  
  519. -o      Send the register dump of an exception to stdout.  Without -o,
  520.         the register dump is sent to the CON device.  You need -o for
  521.         redirecting the register dump to a file.
  522.  
  523.         emx now creates a core dump file (named `core') instead of a
  524.         register dump.  Please keep that file in case the author of
  525.         the program needs it for debugging.
  526.  
  527. -r*     Prepend drive letter * to absolute path names.  If a path name
  528.         starts with / but does not start with //, /dev/ or /pipe/, *
  529.         followed by a colon will be prepended.  If -rd has been given,
  530.         the file name \mydir\abc will be translated to d:\mydir\abc.
  531.         Note: this option can cause unexpected effects
  532.  
  533. -t      Truncate file names to 8.3 format.  Each part of a pathname is
  534.         truncated to 8.3 format by taking the first 8 characters
  535.         before the dot and the first 3 characters after the dot.  This
  536.         is useful to compile programs on a FAT filesystem with minimal
  537.         changes
  538.  
  539. -O      Override XMS version check.  By default, emx checks for XMS
  540.         version number 2.00 or later and for XMS driver revision 2.06
  541.         or later, as older himem.sys drivers don't work correctly.
  542.         You can override this check by giving the -O option (for
  543.         drivers using a different revision numbering scheme), but emx
  544.         may not work with your XMS driver, anyway.  Actually, emx has
  545.         not been tested with himem.sys 2.05; 2.04 fails, 2.06 works
  546.  
  547. -V      Display emx version.  On program start, the emx version will
  548.         be displayed
  549.  
  550.  
  551. 9 Troubleshooting
  552. =================
  553.  
  554. This section shows how to solve common problems involving the emx
  555. runtime.
  556.  
  557.  
  558. 9.1 Warning message `WARNING: emx 0.8h or later required'
  559. ---------------------------------------------------------
  560.  
  561. If this message appears, an out-of-date version of emx.dll is active.
  562. Make sure that the latest version of emx.dll is in a directory pointed
  563. to by the LIBPATH statement in your config.sys file.  Use
  564.  
  565.     emxrev -p c:\config.sys
  566.  
  567. to list all emx dynamic link libraries reachable by the LIBPATH
  568. statement of c:\config.sys (use the drive letter of your boot drive
  569. instead of c:).  To simplify things, you should keep only one version
  570. of each DLL.  Older programs work with newer emx DLLs, but not vice
  571. versa.
  572.  
  573.  
  574. 9.2 unzip.exe says `cannot create emx/dll/emx.dll'
  575. --------------------------------------------------
  576.  
  577. This happens when you try to unpack emxrt.zip while a program is
  578. active which uses emx.dll.  Terminate all programs which use emx.dll
  579. and try again.  If you run emxrev, the command interpreter keeps
  580. emx.dll loaded until terminated.  Therefore, you should close all OS/2
  581. windows and full-screen sessions in which you have run emxrev.  All
  582. this also applies to emxlibc.dll etc.
  583.  
  584.  
  585. 9.3 emx.dll cannot be deleted, renamed or overwritten
  586. -----------------------------------------------------
  587.  
  588. See the previous problem.
  589.  
  590.  
  591. 9.4 Error message `SYS1804: The system cannot find the file EMX.'
  592. -----------------------------------------------------------------
  593.  
  594. You have not correctly set the LIBPATH statement of config.sys,
  595. therefore emx.dll could not be found.
  596.  
  597.  
  598. 9.5 Error message `rsx not found, DPMI not supported by emx'
  599. ------------------------------------------------------------
  600.  
  601. The current version of emx cannot use DPMI.  Therefore, the loader
  602. tried to use rsx instead, but couldn't find rsx.  Remedy: install rsx
  603. or end the DPMI server (MS Windows).
  604.  
  605.  
  606. 10 emx messages
  607. ===============
  608.  
  609.  
  610. 10.1 emx messages (OS/2)
  611. ------------------------
  612.  
  613. core dumped
  614.  
  615.     The program cannot continue due to a fatal error (exception).  An
  616.     image of the program's memory has been written to a file named
  617.     `core'.  Please keep that file in case the author of the program
  618.     needs it for debugging.
  619.  
  620. Invalid option in EMXOPT
  621.  
  622.     An option in the EMXOPT environement variable is not understood by
  623.     emx.
  624.  
  625. Invalid syscall function code
  626.  
  627.     The program run by emx has called an invalid system function.
  628.     Most likely, you're using an emx.dll which is out of date.
  629.  
  630. WARNING: emx 0.8h or later required
  631.  
  632.     The program requires emx.dll 0.8h or later.  However, an older
  633.     version of emx.dll is active.  Make sure that the latest version
  634.     of emx.dll is in a directory pointed to by the LIBPATH statement
  635.     in your config.sys file.  Use
  636.  
  637.         emxrev -p c:\config.sys
  638.  
  639.     to list all emx dynamic link libraries reachable by the LIBPATH
  640.     statement of c:\config.sys (use the drive letter of your boot
  641.     drive instead of c:).  To simplify things, you should keep only
  642.     one version of each DLL.  Older programs work with newer emx DLLs,
  643.     but not vice versa.
  644.  
  645.  
  646. 10.2 emx messages (DOS)
  647. -----------------------
  648.  
  649. Abnormal program termination
  650.  
  651.     The program received the SIGABRT signal.  The abort() function was
  652.     called or SIGABRT was raised.
  653.  
  654. Bad environment
  655.  
  656.     The program name could not be found in the environment segment or
  657.     the environment segment is longer than 32768 bytes.  This should
  658.     not happen in practice.
  659.  
  660. Cannot create swap file
  661.  
  662.     The swap file could not be created.  Remedy: make sure the swap
  663.     file can be created in the directory given by the EMXTMP (or TMP)
  664.     environment variable.  If EMXTMP and TMP are not set, emx will
  665.     create the swap file in the root directory of the current drive.
  666.  
  667. Cannot enable A20
  668.  
  669.     emx tried to enable address line A20 and failed.  Remedy: contact
  670.     the author.
  671.  
  672. Cannot enable A20 via XMS
  673.  
  674.     emx tried to enable address line A20 by calling the XMS driver.
  675.     Unfortunately, A20 couldn't be enabled.  Remedy: unknown.
  676.  
  677. Cannot open program file
  678.  
  679.     The program file given on the emx command line could not be found
  680.     or opened.  Remedy: type the correct file name.  (This should not
  681.     happen with bound programs.)
  682.  
  683. Cannot read program file
  684.  
  685.     An error occured while reading the program file.  Remedy: make
  686.     sure the program file given on the emx command line is valid (this
  687.     does not apply to bound programs).  Maybe some other program
  688.     accesses that file.
  689.  
  690. core dumped
  691.  
  692.     The program cannot continue due to a fatal error (exception).  An
  693.     image of the program's memory has been written to a file named
  694.     `core'.  Please keep that file in case the author of the program
  695.     needs it for debugging.
  696.  
  697. DPMI not supported
  698.  
  699.     The current version of emx cannot use DPMI.  Maybe some future
  700.     version will do.  Remedy: end the DPMI server (MS Windows) or use
  701.     rsx.
  702.  
  703. emx not found
  704.  
  705.     The emx loader (emxl.exe) failed to find emx.exe.  Make sure that
  706.     emx.exe is in a directory listed in the PATH environment variable.
  707.     Alternatively, you can set the EMX environment variable to the
  708.     complete path name of emx.exe.
  709.  
  710. Exception ...
  711.  
  712.     The program run by emx tried to do something which is considered
  713.     illegal by the processor or by emx.  Remedy: report to the
  714.     supplier of the program.
  715.  
  716. Illegal moucall function
  717.  
  718.     The program run by emx has called an invalid system function.
  719.     Remedy: report to the supplier of the program.
  720.  
  721. Illegal syscall function
  722.  
  723.     The program run by emx has called an invalid system function.
  724.     Remedy: report to the supplier of the program.
  725.  
  726. Illegal viocall function
  727.  
  728.     The program run by emx has called an invalid system function.
  729.     Remedy: report to the supplier of the program.
  730.  
  731. Invalid arguments for DOS function xx
  732.  
  733.     The program run by emx has used invalid arguments for a system
  734.     function.  Remedy: report to the supplier of the program.
  735.  
  736. Invalid emx option
  737.  
  738.     An option in EMXOPT or set by emxbind is not understood by emx.
  739.     Remedy: check EMXOPT.  Use emxbind -i to display the options set
  740.     by emxbind.
  741.  
  742. Invalid program file
  743.  
  744.     The program file given on the emx command line (or bound to emx)
  745.     is corrupt.  Remedy: reload the program from diskette.  If this
  746.     doesn't help you should contact the supplier of the program.
  747.  
  748. Invalid special function code: xx
  749.  
  750.     The program run by emx has called an invalid system function.
  751.     Remedy: report to the supplier of the program.
  752.  
  753. Linear address space exhausted
  754.  
  755.     The program run by emx uses far too much memory.  Remedy: complain
  756.     to the author.
  757.  
  758. Nonmaskable interrupt (NMI) at xxxx:yyyyyyyy
  759.  
  760.     A nonmaskable interrupt occured.  Maybe this is due to a memory
  761.     error.  Remedy: if you are using DESQview, either set the
  762.     protection level to 0 or use the WATCHDOG=0 option of QEMM-386.
  763.     Otherwise, run a program for testing memory.
  764.  
  765. Out of memory
  766.  
  767.     There isn't enough memory for running emx.  Remedy: remove some
  768.     drivers and/or resident programs.  Or add memory to your machine.
  769.  
  770. Out of stacks
  771.  
  772.     emx ran out of local stacks.  Remedy: complain to the author.
  773.  
  774. Out of memory or swap space
  775.  
  776.     emx cannot write to the swap file because the disk is full.
  777.     Remedy: make sure there is enough space on the drive used for the
  778.     swap file.  Use the EMXTMP (or TMP) environment variable to tell
  779.     emx where to create the swap file.  If neither EMXTMP nor TMP is
  780.     set, emx will create the swap file in the root directory of the
  781.     current drive.
  782.  
  783. Out of swap space
  784.  
  785.     emx cannot write to the swap file because the disk is full.
  786.     Remedy: make sure there is enough space on the drive used for the
  787.     swap file.  Use the EMXTMP (or TMP) environment variable to tell
  788.     emx where to create the swap file.  If neither EMXTMP nor TMP is
  789.     set, emx will create the swap file in the root directory of the
  790.     current drive.
  791.  
  792. Process terminated by SIGINT
  793.  
  794.     You have stopped the program by hitting Ctrl-C or Ctrl-Break.
  795.  
  796. Process terminated by SIG...
  797.  
  798.     The program has been stopped due to a signal or exception.
  799.     Usually, this indicates a fatal error in the program.
  800.  
  801. Program aborted
  802.  
  803.     You have aborted the program by answering `Abort' after a critical
  804.     error had occured.
  805.  
  806. rsx not found, DPMI not supported by emx
  807.  
  808.     The current version of emx cannot use DPMI.  Therefore, the loader
  809.     tried to use rsx instead, but couldn't find rsx.  Remedy: install
  810.     rsx or end the DPMI server (MS Windows).
  811.  
  812. Swap file I/O error
  813.  
  814.     emx couldn't read or write the swap file.
  815.  
  816. This program does not run in DOS mode of OS/2
  817.  
  818.     DOS emulation of OS/2 doesn't support emx.  Remedy: boot DOS or
  819.     run the program in a OS/2 window
  820.  
  821. This program requires an 80386 CPU
  822.  
  823.     You need an 80386DX, 80386SX, i486 or later CPU for running emx.
  824.     Remedy: get another computer.
  825.  
  826. This program requires DOS 3.0 or later
  827.  
  828.     If emx is bound with an application program into one executable,
  829.     DOS 3.0 or later is required for execution.
  830.  
  831. Too many processes
  832.  
  833.     emx supports up to 4 processes.  You tried to start 5 or more
  834.     processes.
  835.  
  836. Unexpected interrupt
  837.  
  838.     This cannot happen.  Remedy: report to the author.
  839.  
  840. Unsupported VDISK.SYS version
  841.  
  842.     emx doesn't support the vdisk.sys device driver you are using.
  843.     Remedy: remove VDISK.SYS or use a different version.  emx should
  844.     work with vdisk.sys 3.3 or later.
  845.  
  846. Unsupported XMS version
  847.  
  848.     emx requires himem.sys 2.06 or later (older versions are too
  849.     buggy).  Remedy: get a newer himem.sys.  If you are not using
  850.     himem.sys, use the -O option of emx and tell the author whether
  851.     this works or not.
  852.  
  853. Unusable interrupt vector mappings set by VCPI server
  854.  
  855.     The configuration of the VCPI server (EMS driver) is illegal.
  856.     Remedy: read the manual of the EMS driver.
  857.  
  858. Use emxbind
  859.  
  860.     You tried to run emxl.exe, which doesn't make sense.  emxl.exe is
  861.     designed to be bound into an executable file by emxbind.
  862.  
  863. Virtual mode not supported without VCPI
  864.  
  865.     A VCPI server is required to run emx if the CPU is in virtual
  866.     mode.  You will get this message if you're using an EMS driver
  867.     (EMS emulator) which doesn't support VCPI or if you have disabled
  868.     EMS.  Remedy: remove the EMS driver, use an EMS driver which
  869.     supports VCPI or enable EMS if it has been disabled (for instance,
  870.     remove the NOEMS keyword from the command line of the EMS driver).
  871.  
  872. Wrong emx version
  873.  
  874.     The version of emx.exe does not match the version the program was
  875.     compiled for.  Remedy: use the copy of emx.exe that comes with the
  876.     program.  If you are using different programs which need different
  877.     versions of emx.exe, use the EMX environment variable to set the
  878.     path name of the correct version of emx.exe before running a
  879.     program which requires a version different from the default
  880.     emx.exe.  You can also use emxbind -u to put the correct version
  881.     of emx.exe into the executable files.
  882.  
  883.  
  884. 11 Obtaining the complete emx package
  885. =====================================
  886.  
  887. emx is available for anonymous ftp on
  888.  
  889.     ftp.uni-stuttgart.de [129.69.8.13]: /pub/systems/os2/emx-0.8h
  890.     ftp-os2.cdrom.com:  [192.153.46.2]: /os2/2_x/unix/emx08h
  891.     src.doc.ic.ac.uk     [146.169.2.1]: /pub/packages/os2/2_x/unix/emx08h
  892.     ftp.informatik.tu-muenchen.de [131.159.0.198]:
  893.                                         /pub/comp/os/os2/gnu/emx+gcc
  894.  
  895.  
  896. 12 The author of emx
  897. ====================
  898.  
  899. The author of emx is
  900.  
  901.     Eberhard Mattes
  902.     Teckstrasse 81                                      (TeX: Teckstra\ss e)
  903.     D-71696 Moeglingen                                  (TeX: M\"oglingen)
  904.     Germany
  905.  
  906. Internet: mattes@azu.informatik.uni-stuttgart.de  (subject to change)
  907.  
  908. No telephone calls please!  It must be stressed that the author does
  909. not reply to letters if you don't include return postage
  910. (international postal reply coupon if you are outside Germany) and a
  911. self-addressed envelope.
  912.  
  913. --------------------------- END OF EMXRT.DOC --------------------------------
  914.