    =

    AST RESEARCH, INC.          TECHNICAL BULLETIN # 1256               7-19-95

    =

    UNABLE TO LOAD GAMES IN SYSTEMS EQUIPPED WITH CD-ROM DRIVERS

    PROBLEM

    When attempting to load games on systems which are shipped with drivers
    such as MSCDEX.EXE, some of the following failure symptoms may occur:

    	The system may hang.
    	The game may not play.
    	Memory errors may be generated by EMM386.

    CAUSE

    The systems are not failing and are operating as designed.  However, the
    systems may be experiencing a lack of memory environment to load the
    games or other programs, with drivers in their current configuration.

    SYSTEMS AFFECTED
    AST PART NUMBER AND DESCRIPTION

    All systems equipped with CD-ROMs or other memory intensive devices.

    SOLUTION

    The memory condition can be handled in one of two methods:

    1) Bypassing the startup files.
    2) Using the MEMMAKER command or other third-party memory manager.

    If the system is experiencing problems that can be related to commands in the
    CONFIG.SYS or AUTOEXEC.BAT files, you may want to temporarily
    bypass both files.

    To bypass the CONFIG.SYS and AUTOEXEC.BAT files do the following:

    1. Start or restart the system.  After the system starts, MS-DOS displays the
    following text:

    Starting MS-DOS...

    2. While the above text is on the screen, press and release the  key or
    press and hold down the  key.  MS-DOS will display the following
    text:

    MS-DOS is bypassing your CONFIG.SYS and AUTOEXEC.BAT files.

    The computer will then start with a basic configuration instead of the usual
    configuration.
    Note: Some parts of the system may not work as they usually do.

    Confirming each CONFIG.SYS and AUTOEXEC.BAT file.

    1. Start or restart the system.  After the system starts, MS-DOS displays the
    following text:

    Starting MS-DOS...

    2. While the above text is on the screen, press and release the key.
    MS-DOS will display the following text:

    MS-DOS will prompt you to confirm each CONFIG.SYS and
    AUTOEXEC.BAT command

    One at a time, MS-DOS displays each command in your CONFIG.SYS and
    AUTOEXEC.BAT file followed by the prompt.  For example, when
    MS-DOS reaches the DOS=HIGH command, it displays the following
    prompt: DOS=HIGH [Y,N]?

    To carry out the current command, press "Y" for yes.
    To bypass that command, press "N" for no.
    To carry out all remaining startup commands, press .
    To bypass all remaining startup commands, press .

    3. When MS-DOS finishes processing the CONFIG.SYS file, the following
    prompt appears:

    Process AUTOEXEC.BAT [Y,N]?

    To carry out all the commands in your AUTOEXEC.BAT file, press "Y" for
    yes.
    To bypass your AUTOEXEC.BAT file completely, press "N" for no.

    Using the MEMMAKER command or other third-party memory managers.

    The MS-DOS User's Manual chapter named "Making More Memory
    Available" documents how to use the MEMMAKER utility.

    Below are some tips to follow (from Microsoft TechNet) when using third-
    party memory managers and optimizing memory with the MSCDEX.EXE
    driver for your CD-ROM.

    For complete compatibility, Windows 3.2 and MS-DOS 5.0 both provide
    HIMEM.SYS and EMM386.EXE as memory management drivers.
    The overriding objective Microsoft has for these drivers is to avoid hanging
    any computer during or after memory configuration.  Optimization, while
    important, is secondary.

    To allocate upper memory blocks (UMBs) through a third-party memory manager,
    you need both a UMB provider and a UMB loader:

    A UMB provider is the memory manager that makes UMBs available.
    For MS-DOS 5.0, the UMB provider is the combination of EMM386.EXE plus
    HIMEM.SYS.  In QEMM386 and 386MAX, for example, the UMB providers are
    QEMM386.SYS and 386MAX.SYS, respectively.

    A UMB loader loads a program into the proper UMB.  The UMB loader in
    MS-DOS 5.0 is in the MS-DOS kernel, accessed through the "devicehigh" and
    "loadhigh" commands.  The equivalents in 386LOAD.SYS and 386LOAD.COM; in
    QEMM386, they are LOADHI.SYS and LOADHI.COM.

    The arguments "for" using third-party memory managers include:

    Most third-party memory managers have a wider range of options for loading
    into the UMBs.  For example, you can specify a particular UMB for loading a
    program.

    Third-party memory managers typically require 3K to 5K of conventional
    memory, while HIMEM.SYS with EMM386.EXE may take up to 10K.
    However, some memory managers also require overhead in the UMBs, but
    neither HIMEM.SYS nor EMM386.EXE require any.

    The arguments "against" using third-party memory managers include:

    Third-party memory managers can be more difficult to configure properly
    than EMM386.EXE, and they are often geared toward more sophisticated
    users.

    Third-party memory managers are supplemental to HIMEM.SYS and
    EMM386.EXE, so they require additional costs and resources to support.
    Unless you absolutely require 100 percent optimization, a third-party
    manager may be superfluous.

    If you decide to use a third-party memory manager, follow these guidelines:

    Don't use either HIMEM.SYS or EMM386.EXE.

    Use dos=high to load MS-DOS 5.0 into the HMA.

    Don't use the dos=umb, devicehigh, or loadhigh commands.

    Don't use the third-party commands that relocate the MS-DOS buffers into
    the UMBs.  MS-DOS 5.0 automatically puts its buffers into the HMA, saving
    the UMBs for other programs.

    Use both the third-party UMB provider (such as 386MAX.SYS) and the
    third-party UMB loader (such as 386LOAD.SYS and 386LOAD.COM).

    Use the third-party commands to relocate MS-DOS file handles and drive space
    (from the files and lastdrive commands in your CONFIG.SYS) into the UMBs.

    You can also use third-party memory drivers as alternatives to HIMEM.SYS,
    SMARTDRV.EXE, and RAMDRIVE.SYS.  However, the memory drivers provided with
    Windows 3.1 have been specifically designed and tested to provide maximum
    compatibility between MS-DOS 5.0 and Windows.

    Optimizing memory with MSCDEX.EXE

    When combined with a CD-ROM device driver, Microsoft CD-ROM Extensions
    (MSCDEX.EXE) allows you to connect a CD-ROM drive to an MS-DOS-based personal
    computer (PC).  Outlined below are the various parameters available for the
    Microsoft CD-ROM Extensions and their usage:

    Usage:      MSCDEX.EXE /D: /M: /L: /E /S /V /K
    Example:    MSCDEX.EXE /D:MSCD001 /M:12 /L:D /E /S /V /K

    /M: and /E are the two parameters that can be modified to change the amount
    of memory that MSCDEX.EXE uses.

    /M: Parameter

    The /M: parameter defines how many memory buffers MSCDEX.EXE uses.
    Each buffer occupies 2K of memory.  Decreasing this value decreases the amount
    of conventional memory that MSCDEX.EXE uses (and will decrease the performance
    when running software that accesses the CD-ROM drive).

    /E: Parameter

    The /E: parameter instructs MSCDEX.EXE to load a portion of the MSCDEX.EXE
    memory buffers into expanded memory, if it exists.

    /D: Parameter

    The /D: parameter is used to locate the device driver.

    /L: Parameter

    The /L: parameter allows the user to specify a particular drive letter for the
    CD-ROM unit.  If this is not specified, MSCDEX.EXE assigns the next
    available drive letter on the system.

    /S: Parameter

    The /S: parameter specifies that MSCDEX.EXE should modify MS-DOS to allow
    the CD-ROM drive to be shared on MS-NET based servers.

    /V: Parameter

    The /V: parameter instructs MSCDEX.EXE to display additional information
    about memory usage during initialization.

    /K: Parameter

    The /K: parameter tells MSCDEX to use Kanji (Japanese) file structures, if
    present, rather than the default alphanumeric file structures.