home *** CD-ROM | disk | FTP | other *** search
- Pharlap Configuration Documentation This information should be used by
- users ho are aware of how there
- memory is configured, and are having
- memoryconflicts. The average user
- should not need this information.
- ----------------------------------------------------------------------------
-
- The CFIG386 Utility
- -------------------
-
- Use the CFIG386 utility to add 386|DOS-Extender switches to a bound application
- as follows:
-
- cfig386 <appl file name> <new switches>
-
- For example, to add the switch -MAXXMSMEM 100000h to the bound application
- program \rstar2\bin\render2.exe:
-
- cfig386 \rstar2\bin\render2.exe -maxxmsmem 100000h
-
- To view all currently configured-in 386|DOS-Extender switches, just run
- CFIG386 with no switches:
-
- cfig386 \rstar2\bin\render2.exe
-
- To clear out all currently configured-in switches in the application,
- enter the switch -CLEAR BEFORE the application name on the command line:
-
- cfig386 -clear \rstar2\bin\render2.exe
-
-
- 386|DOS-Extender Command Line Switches Descriptions
- ---------------------------------------------------
-
- The switches described below are 386|DOS-Extender switches that may be
- useful. Optional characters in the switch are enclosed in brackets.
- Numbers entered as switch parameters are base 10 by default; they may
- be entered in hexadecimal (base 16) by appending the character 'h' to
- the number (e.g., -MINREAL 4096 and -MINREAL 1000h are equivalent).
-
- Weitek 1167/3167/4167 Coprocessor Detection
- -------------------------------------------
- -WEITEK ON
- 386|DOS-Extender automatically detects a Weitek coprocessor by
- making a Weitek-approved BIOS detection call. Some machines have
- BIOSes that do not support this detection call, with the result
- that 386|DOS-Extender thinks there is no Weitek coprocessor when
- in fact on is installed. If the application program requires
- a Weitek coprocessor, and is refusing to run because it thinks
- one is not present, use the -WEITEK ON switch to inform
- 386|DOS-Extender that a Weitek coprocessor is actually present.
-
- Avoiding 386 B1 Stepping Paging Erratum, with 386|VMM
- -----------------------------------------------------
- -ERR[ATA17]
- There are two paging errata on the B1 stepping of the 80386 chip.
- They both cause the machine to hang when running a program that
- uses 80387 floating point instructions in protected mode. Both
- errata are dependent on timing factors and the same program may
- hang in different places or not hang at all in successive runs.
-
- If the application program is bound with 386|VMM (uses virtual
- memory, and it is possible to reboot the machine with
- CTRL-ALT-DEL after it hangs, use the -ERRATA17 switch to enable
- a software workaround to the chip erratum.
-
- The other paging erratum (known as erratum 21) has no viable
- software workaround, and can occur regardless of whether 386|VMM
- is used. The symptom of erratum 21 is that the machine cannot
- be rebooted with CTRL-ALT-DEL after it hangs. A hardware workaround
- for erratum 21, in the form of a circuit board that goes between
- the 386 chip and the socket on the motherboard, is available
- from Intel. Upgrading to a D0 step 386 chip also solves the problem.
-
- Limiting Total Program Memory Usage
- -----------------------------------
- -MAXP[GMMEM] nbytes
- The -MAXPGMMEM switch limits the maximum amount of memory allocated
- to the application program. If the program does not use 386|VMM,
- it limits the amount of physical memory consumed by the program.
- If the program does use 386|VMM, it limits the total amount of
- physical memory plus disk space for the swap file. If you limit
- a program's memory consumption too much, it may not be able to run.
-
- Leaving Conventional Memory Free
- --------------------------------
- -MINR[EAL] nparas
- -MAXR[EAL] nparas
- By default, 386|DOS-Extender allocates all conventional memory
- (memory below 640K) for use by the application program, leaving none
- available for use by other programs. The conventional memory is
- all freed again when the application program terminates. Most
- applications that allow other programs to run (e.g., with an
- "execute DOS command" option) make sure there is enough conventional
- memory available to run the other program. However, if
- insufficient conventional memory is available, the -MINREAL and
- -MAXREAL switches can be used to limit the conventional memory
- used for the application program when it is initially loaded.
-
- The -MINREAL switch requires that at least the specified number of
- 16-byte paragraphs of memory must be left free, available for
- use by other programs. For example, -MINREAL 1000h leaves
- 64 KB (4K paragraphs) of memory free.
-
- The -MAXREAL switch is a request rather than a requirement; it leaves
- as much conventional memory free as possible, up to the specified
- number of 16-byte paragraphs. However, the minimum load-time memory
- requirements of the application program override the value specified
- with -MAXREAL. Using the -MAXREAL FFFFh switch (requesting 1 MB of
- conventional memory be left free) will cause 386|DOS-Extender to
- leave as much conventional memory free as possible.
-
- Leaving Extended Memory Free
- ----------------------------
- -MAXBL[KXMS] nbytes
- XMS memory is allocated in blocks; because the total number of
- available blocks is limited, by default 386|DOS-Extender always
- allocates the largest available block when more memory is needed
- for the application program. This may result in one program
- consuming all available memory, even though it doesn't need it all.
- Under Windows 3.0, for example, this could mean one protected
- mode application takes all the XMS memory and
- no programs in other windows can get memory. The -MAXBLKXMS switch
- limits the maximum size of each allocated XMS block. The smaller
- the size of each block, the less memory will potentially be
- needlessly allocated. But if you make the block size too small,
- you risk running out of XMS handles because too many XMS blocks
- get allocated. If you need to use the -MAXBLKXMS switch to
- leave XMS memory free for other programs, use a fairly large block
- size such as 256K or 512K, and use the /numhandles=128 switch on
- the HIMEM.SYS driver when it is installed in CONFIG.SYS
-
- -MAXV[CPIMEM] nbytes
- -MAXX[MSMEM] nbytes
- -MAXE[XTMEM] nbytes
- By default, all available extended memory is allocated for the
- application program as it is needed. These switches can be used
- to limit consumption of extended memory from a specific source,
- thus leaving memory available for other programs. Of course,
- limiting memory usage too severely may result in the application
- program being unable to run.
-
- The -MAXVCPIMEM switch limits consumption of memory from an EMS
- emulator with the VCPI interface to the specified number of bytes.
-
- The -MAXXMSMEM switch limits consumption of memory from an XMS
- driver (HIMEM.SYS) to the specified number of bytes.
-
- The -MAXEXTMEM switch limits consumption of extended memory allocated
- directly by 386|DOS-Extender (rather than through the VCPI or XMS
- interfaces) to the specified number of bytes.
-
- Avoiding Programs That Incorrectly Mark Extended Memory Usage
- -------------------------------------------------------------
- -VDISK
- Older VDISK (RAM disk) programs mark their usage of extended memory
- in two locations. Some programs mark only one location and not the
- other, or occasionally a second program wipes out one of the marks.
- If 386|DOS-Extender sees two different size values in the two marker
- locations, it prints out an error message identifying the two size
- values. The -VDISK switch tells 386|DOS-Extender to use the larger
- of the two size marks and proceed normally. Alternatively, the
- -EXTLOW switch can be used to give 386|DOS-Extender the correct
- low threshold in extended memory (the VDISK marking standard always
- allocates extended memory from 1 MB up).
-
- -EXTL[OW] address
- -EXTH[IGH] address
- Some older programs use extended memory without marking their use of
- it. If you are using such a program, and you know which address
- range in extended memory it uses, you can use the -EXTLOW and
- -EXTHIGH switch to limit the address range 386|DOS-Extender uses
- in extended memory so conflicts will not occur. For example, the
- switch settings "-EXTLOW 200000h -EXTHIGH 400000h" limit
- extended memory usage by 386|DOS-Extender to the range 2 MB - 4 MB.
-
- Running on a 386 Chip with the 32-bit MULtiply Erratum
- ---*---------------------------------------------------
- -NOMUL
- Some B1 stepping 386 chips have an erratum that causes incorrect
- results from the MUL instruction when multiplying certain values.
- If 386|DOS-Extender detects this erratum, it prints an error message
- and refuses to run the program. The -NOMUL switch can be used
- to force 386|DOS-Extender to run the program. Before using the
- -NOMUL switch, you should check with the application developer
- to make sure the application does not use the 32-bit MUL instruction
- (386|DOS-Extender does not use the instruction).
-
- Obtaining Debug Information When Programs Don't Work
- ----------------------------------------------------
- -DEBUG 3
- The -DEBUG 3 switch enables debug printout by 386|DOS-Extender
- during program initialization. It is useful for helping to
- track down problems that occur before the application program
- is loaded. If you think you are encountering such a problem, use
- the -DEBUG 3 switch and redirect the output to a file, and then
- send the printout to the application developer for diagnosis.
-