How MSCDEX 2.22 Loads into Memory
  
PSS ID Number: Q103975
Article last modified on 10-31-1994
 
2.22
 
MS-DOS
 

---------------------------------------------------------------------
The information in this article applies to:
 
 - Microsoft CD-ROM Extensions (MSCDEX) version 2.22
---------------------------------------------------------------------
 
SUMMARY
=======
 
This article discusses the way MSCDEX 2.22 loads into upper memory and
conventional memory, and the way the memory it uses can shrink or
grow.
 
MORE INFORMATION
================
 
The biggest factor in the MSCDEX loaded size is the /M parameter.
 
Loading MSCDEX High
-------------------
 
Loading MSCDEX high does not affect the loaded size; it just affects
which bytes are used. MSCDEX does not split itself up.
 
MSCDEX will shrink depending on the amount of memory available. If you
ask for more buffer space than there is available memory, MSCDEX will
silently allocate fewer buffers to fit into the memory space
available.
 
It is possible to specify a large /M parameter (/M:20 or larger), and
then repeatedly alter the system configuration to load more and more
things high prior to MSCDEX loading from the AUTOEXEC.BAT file. MSCDEX
will then shrink until it is 24 kilobytes (K) in size in memory. If
less then 24K is available, MSCDEX will fail to load high, and by
default, load low.
 
After MSCDEX loads high, there may be less than 2K of high memory
space available. This may not be enough memory to place any devices
into upper memory that load after MSCDEX. This can occur when you load
MSCDEX high, with a large /M parameter. For instance, you can
successfully load MSCDEX into high memory with an extremely large /M
parameter, such as /M:10000. MSCDEX will not allocate that much space,
but instead MSCDEX will quietly reduce that number as needed to take
up all remaining high-memory space, if there is more than 24K
available.
 
Loading MSCDEX into Conventional Memory
---------------------------------------
 
The same thing happens in conventional memory, but MSCDEX will ensure
that there is at least 48K available in conventional memory after
loading.
 
These sizes are consistent with the following /M parameters:
 
 - 24K: /M:4
 - 43K: /M:15
 - 56K: /M:20
 
The 24K figure is the default of four buffers. MSCDEX will not shrink
below this four-buffer level. This is the default if no /M parameter
is specified on the command line.
 
Use the following equation to estimate the number of MSCDEX buffers
from a number of kilobytes:
 
   Number of MSCDEX buffers = ((kilobytes - 24)/2) + 4
 
KBCategory: kbenv kbmm
KBSubcategory:
 
Additional reference words: 2.22 multi media multimedia multi-media
kbmm DOS MSCDEX.EXE o_cdrom mmtitles
=============================================================================
Copyright Microsoft Corporation 1994.
