home *** CD-ROM | disk | FTP | other *** search
/ Becoming a Computer Animator / COMPANIMATE.ISO / pc / language / pharlap.doc < prev    next >
Encoding:
Text File  |  1992-05-30  |  9.8 KB  |  199 lines

  1. Pharlap Configuration Documentation     This information should be used by
  2.                                         users ho are aware of how there
  3.                                         memory is configured, and are having
  4.                                         memoryconflicts. The average user
  5.                                         should not need this information.
  6. ----------------------------------------------------------------------------
  7.  
  8. The CFIG386 Utility
  9. -------------------
  10.  
  11. Use the CFIG386 utility to add 386|DOS-Extender switches to a bound application
  12. as follows:
  13.  
  14.     cfig386 <appl file name> <new switches>
  15.  
  16. For example, to add the switch -MAXXMSMEM 100000h to the bound application
  17. program \rstar2\bin\render2.exe:
  18.  
  19.     cfig386 \rstar2\bin\render2.exe -maxxmsmem 100000h
  20.  
  21. To view all currently configured-in 386|DOS-Extender switches, just run
  22. CFIG386 with no switches:
  23.  
  24.     cfig386 \rstar2\bin\render2.exe
  25.  
  26. To clear out all currently configured-in switches in the application,
  27. enter the switch -CLEAR BEFORE the application name on the command line:
  28.  
  29.     cfig386 -clear \rstar2\bin\render2.exe
  30.  
  31.  
  32. 386|DOS-Extender Command Line Switches Descriptions
  33. ---------------------------------------------------
  34.  
  35. The switches described below are 386|DOS-Extender switches that may be
  36. useful.  Optional characters in the switch are enclosed in brackets.
  37. Numbers entered as switch parameters are base 10 by default;  they may
  38. be entered in hexadecimal (base 16) by appending the character 'h' to
  39. the number (e.g., -MINREAL 4096 and -MINREAL 1000h are equivalent).
  40.  
  41. Weitek 1167/3167/4167 Coprocessor Detection
  42. -------------------------------------------
  43. -WEITEK ON
  44.    386|DOS-Extender automatically detects a Weitek coprocessor by
  45.    making a Weitek-approved BIOS detection call.  Some machines have
  46.    BIOSes that do not support this detection call, with the result
  47.    that 386|DOS-Extender thinks there is no Weitek coprocessor when
  48.    in fact on is installed.  If the application program requires
  49.    a Weitek coprocessor, and is refusing to run because it thinks
  50.    one is not present, use the -WEITEK ON switch to inform
  51.    386|DOS-Extender that a Weitek coprocessor is actually present.
  52.  
  53. Avoiding 386 B1 Stepping Paging Erratum, with 386|VMM
  54. -----------------------------------------------------
  55. -ERR[ATA17]
  56.    There are two paging errata on the B1 stepping of the 80386 chip.
  57.    They both cause the machine to hang when running a program that
  58.    uses 80387 floating point instructions in protected mode.  Both
  59.    errata are dependent on timing factors and the same program may
  60.    hang in different places or not hang at all in successive runs.
  61.  
  62.    If the application program is bound with 386|VMM (uses virtual
  63.    memory, and it is possible to reboot the machine with
  64.    CTRL-ALT-DEL after it hangs, use the -ERRATA17 switch to enable
  65.    a software workaround to the chip erratum.
  66.  
  67.    The other paging erratum (known as erratum 21) has no viable
  68.    software workaround, and can occur regardless of whether 386|VMM
  69.    is used.  The symptom of erratum 21 is that the machine cannot
  70.    be rebooted with CTRL-ALT-DEL after it hangs.  A hardware workaround
  71.    for erratum 21, in the form of a circuit board that goes between
  72.    the 386 chip and the socket on the motherboard, is available
  73.    from Intel.  Upgrading to a D0 step 386 chip also solves the problem.
  74.  
  75. Limiting Total Program Memory Usage
  76. -----------------------------------
  77. -MAXP[GMMEM] nbytes
  78.    The -MAXPGMMEM switch limits the maximum amount of memory allocated
  79.    to the application program.  If the program does not use 386|VMM,
  80.    it limits the amount of physical memory consumed by the program.
  81.    If the program does use 386|VMM, it limits the total amount of
  82.    physical memory plus disk space for the swap file.  If you limit
  83.    a program's memory consumption too much, it may not be able to run.
  84.  
  85. Leaving Conventional Memory Free
  86. --------------------------------
  87. -MINR[EAL] nparas
  88. -MAXR[EAL] nparas
  89.    By default, 386|DOS-Extender allocates all conventional memory
  90.    (memory below 640K) for use by the application program, leaving none
  91.    available for use by other programs.  The conventional memory is
  92.    all freed again when the application program terminates.  Most
  93.    applications that allow other programs to run (e.g., with an
  94.    "execute DOS command" option) make sure there is enough conventional
  95.    memory available to run the other program.  However, if
  96.    insufficient conventional memory is available, the -MINREAL and
  97.    -MAXREAL switches can be used to limit the conventional memory
  98.    used for the application program when it is initially loaded.
  99.  
  100.    The -MINREAL switch requires that at least the specified number of
  101.    16-byte paragraphs of memory must be left free, available for
  102.    use by other programs.  For example, -MINREAL 1000h leaves
  103.    64 KB (4K paragraphs) of memory free.
  104.  
  105.    The -MAXREAL switch is a request rather than a requirement;  it leaves
  106.    as much conventional memory free as possible, up to the specified
  107.    number of 16-byte paragraphs.  However, the minimum load-time memory
  108.    requirements of the application program override the value specified
  109.    with -MAXREAL.  Using the -MAXREAL FFFFh switch (requesting 1 MB of
  110.    conventional memory be left free) will cause 386|DOS-Extender to
  111.    leave as much conventional memory free as possible.
  112.  
  113. Leaving Extended Memory Free
  114. ----------------------------
  115. -MAXBL[KXMS] nbytes
  116.    XMS memory is allocated in blocks;  because the total number of
  117.    available blocks is limited, by default 386|DOS-Extender always
  118.    allocates the largest available block when more memory is needed
  119.    for the application program.  This may result in one program
  120.    consuming all available memory, even though it doesn't need it all.
  121.    Under Windows 3.0, for example, this could mean one protected
  122.    mode application takes all the XMS memory and
  123.    no programs in other windows can get memory.  The -MAXBLKXMS switch
  124.    limits the maximum size of each allocated XMS block.  The smaller
  125.    the size of each block, the less memory will potentially be
  126.    needlessly allocated.  But if you make the block size too small,
  127.    you risk running out of XMS handles because too many XMS blocks
  128.    get allocated.  If you need to use the -MAXBLKXMS switch to
  129.    leave XMS memory free for other programs, use a fairly large block
  130.    size such as 256K or 512K, and use the /numhandles=128 switch on
  131.    the HIMEM.SYS driver when it is installed in CONFIG.SYS
  132.  
  133. -MAXV[CPIMEM] nbytes
  134. -MAXX[MSMEM] nbytes
  135. -MAXE[XTMEM] nbytes
  136.    By default, all available extended memory is allocated for the
  137.    application program as it is needed.  These switches can be used
  138.    to limit consumption of extended memory from a specific source,
  139.    thus leaving memory available for other programs.  Of course,
  140.    limiting memory usage too severely may result in the application
  141.    program being unable to run.
  142.  
  143.    The -MAXVCPIMEM switch limits consumption of memory from an EMS
  144.    emulator with the VCPI interface to the specified number of bytes.
  145.  
  146.    The -MAXXMSMEM switch limits consumption of memory from an XMS
  147.    driver (HIMEM.SYS) to the specified number of bytes.
  148.  
  149.    The -MAXEXTMEM switch limits consumption of extended memory allocated
  150.    directly by 386|DOS-Extender (rather than through the VCPI or XMS
  151.    interfaces) to the specified number of bytes.
  152.  
  153. Avoiding Programs That Incorrectly Mark Extended Memory Usage
  154. -------------------------------------------------------------
  155. -VDISK
  156.    Older VDISK (RAM disk) programs mark their usage of extended memory
  157.    in two locations.  Some programs mark only one location and not the
  158.    other, or occasionally a second program wipes out one of the marks.
  159.    If 386|DOS-Extender sees two different size values in the two marker
  160.    locations, it prints out an error message identifying the two size
  161.    values.  The -VDISK switch tells 386|DOS-Extender to use the larger
  162.    of the two size marks and proceed normally.  Alternatively, the
  163.    -EXTLOW switch can be used to give 386|DOS-Extender the correct
  164.    low threshold in extended memory (the VDISK marking standard always
  165.    allocates extended memory from 1 MB up).
  166.  
  167. -EXTL[OW] address
  168. -EXTH[IGH] address
  169.    Some older programs use extended memory without marking their use of
  170.    it.  If you are using such a program, and you know which address
  171.    range in extended memory it uses, you can use the -EXTLOW and
  172.    -EXTHIGH switch to limit the address range 386|DOS-Extender uses
  173.    in extended memory so conflicts will not occur.  For example, the
  174.    switch settings "-EXTLOW 200000h -EXTHIGH 400000h" limit
  175.    extended memory usage by 386|DOS-Extender to the range 2 MB - 4 MB.
  176.  
  177. Running on a 386 Chip with the 32-bit MULtiply Erratum
  178. ---*---------------------------------------------------
  179. -NOMUL
  180.    Some B1 stepping 386 chips have an erratum that causes incorrect
  181.    results from the MUL instruction when multiplying certain values.
  182.    If 386|DOS-Extender detects this erratum, it prints an error message
  183.    and refuses to run the program.  The -NOMUL switch can be used
  184.    to force 386|DOS-Extender to run the program.  Before using the
  185.    -NOMUL switch, you should check with the application developer
  186.    to make sure the application does not use the 32-bit MUL instruction
  187.    (386|DOS-Extender does not use the instruction).
  188.  
  189. Obtaining Debug Information When Programs Don't Work
  190. ----------------------------------------------------
  191. -DEBUG 3
  192.    The -DEBUG 3 switch enables debug printout by 386|DOS-Extender
  193.    during program initialization.  It is useful for helping to
  194.    track down problems that occur before the application program
  195.    is loaded.  If you think you are encountering such a problem, use
  196.    the -DEBUG 3 switch and redirect the output to a file, and then
  197.    send the printout to the application developer for diagnosis.
  198.  
  199.