Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Warplink version 2.6 - <b>/ox:[e-var] place overlay pool in expanded memory (ems) page frame. </b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
/ox:[e-var]        Place overlay pool in expanded memory (EMS) page frame. 
---------------------------------------------------------------------------------

 Syntax:

 [e-var] is the setting of an environment variable that tells WarpLink to
 use the EMS page frame ONLY if the listed environment variable is set
 to the specified value.

 The environment variable is case sensitive. 

 That is, /ox:OVLEMS=on does not match SET OVLEMS=ON.  

 DOS will always capitalize the environment variable (but not its setting).
 Therefore, using /ox with any lowercase environment variable will always
 cause the search to fail.  In other words, /ox:ovlems=ON will not match
 SET ovlems=ON;  use SET OVLEMS=ON.  The search ends successfully when the
 target environment string is located.  If the setting contains more
 characters than the option, the extras are ignored.  For example, if you 
 SET OVLEMS=ONRIGHTNOW, and use /ox:OVLEMS=ON, it will still match the 
 OVLEMS environment variable.


 Description:

 Using the /ox option instructs the WarpLink overlay manager to
 automatically put the overlay pool into the expanded memory (EMS)
 page frame when the program runs.  All EMS memory allocated for use
 by /ox is automatically freed at program termination.

 The optional parameter [e-var] allows use of an environment variable
 to trigger EMS overlay pool area use.  For example, if you linked with
 /ox:OVLEMS=ON, the EMS page frame would be used only if you had 
 SET OVLEMS=ON.  Otherwise the overlay pool size loads in conventional or
 upper memory.

 You can use whatever environment names and settings you like. For
 example, /ox:COW=MOO is legitimate and will match SET COW=MOO.  However,
 do not use blanks in the environment variable or setting.  The environment
 variable and setting, including the equal sign (=), must not exceed 
 31 characters or you will get an invalid option error message.

 The /ox option supersedes the /op setting completely, placing a fixed
 63K overlay pool in the EMS page frame.

 If insufficient or no EMS is present when the program starts up, then the
 overlay pool will be established in normal or upper memory with the pool
 size depending upon the size specified by the /op option.  
 (If no /op option was used, the default value of -144 will be used.) 
 This will be extremely helpful for programs that are running on a variety
 of platforms -- WarpLink can optimize the program depending on the memory
 configuration of each machine.  Therefore, it is a good idea to use both
 the /ox  and /op options if the program will be running on various
 machine configurations.

 If your program requires an overlay pool larger than 63K, do not use the
 /ox option.

 Use of the EMS page frame for the overlay pool prevents EMS 3.0 overlay
 file stashing via the /ohp3 and /ohp options. The /ox option automatically
 shuts off such stashing because EMS 3.0 routines must map into the EMS page
 frame that /ox uses to hold the overlay pool that the stashed overlay is 
 being copied to. If you use /ohp and /ox, and the /ohp routines detect
 EMS 3.0 usage, then stashing an overlay file to EMS will be automatically
 shut off at runtime.  Note that it is always safe to specify both the /ox
 and /ohp options.  If the WarpLink overlay manager detects EMS 4.0 support,
 then simultaneous use of the EMS page frame for the overlay pool and 
 stashing of the overlays to EMS can occur. If it does not detect EMS 4.0
 support, then only the EMS page frame for the overlay pool will be used.

 The /ox option has priority over the /ou option if both are specified and
 enough free EMS is available to use the EMS page frame for the overlay
 pool.  If you specify both the /ox and /ou options, Upper Memory
 Blocks will only be used for the overlay pool if the /ox EMS test fails. 
 You may wish to specify both options if your program will be operating
 on a mix of machines that may have either EMS or UMB memory. 
 Whichever type of memory is available will be used for the overlay
 pool, with EMS tried first.

 Version Note:
 You do not need to use the _OVLMGR_FREE_EMS or _OM_FREE_EMS calls that 
 were required by versions of WarpLink prior to 2.0 to free the EMS memory
 allocations made by the /ox option.

 Technical Notes:

 Four EMS pages (64K) are allocated when using /ox.  If four free pages
 are not available, the WarpLink overlay manager will not use the EMS
 page frame for the overlay pool, placing it either in conventional
 memory or upper memory depending upon the /ou option setting.

 Some very early versions of EMS disk caches and memory resident
 programs are intolerant of sharing the EMS page frame because they do
 not save and restore the EMS page mapping while they operate in the
 background.  These versions will conflict with placement of the overlay
 pool in the EMS page frame.  If you have such a program, you should
 either get an updated version of the program that does not cause EMS
 page frame compatibility problems, or not use the /ox option.  You may
 wish to use the environment variable capability of the /ox option if you
 are concerned about such programs.  This will enable users to use the
 EMS page frame for the overlay pool only if they are certain that there
 will be no compatibility problems.

 Clipper 5 User Note:

 If you use the /ox option, the Clipper 5 debugger CLD.EXE will not
 function with your program.  Use WarpMod to turn this option off and
 on quickly, if necessary.  The /ox option requires using the
 BADCACHE setting with Clipper 5 programs and turning off EMS use
 (SET CLIPPER=E0) with Clipper Summer '87 programs.


Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson