Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

95/98/ME SETUP + MANAGERS

Windows 95/98/ME in all their "incarnations", especially during installation


(Setup), are very "allergic" to most 3rd party (proprietary), also called "386
enhanced" memory managers, used in the good old MS-DOS days to generate extra
conventional (low) RAM by "cramming" as many devices/drivers/TSRs into upper memory
(UMA) as possible, and provide at the same time extended (XMS) and expanded (EMS)
memory, necessary for running various DOS based apps/games.
If you are still using DOS programs/games that require expanded memory and/or
oodles of conventional RAM +/- direct access to hardware resources (video, audio,
network etc), then you need the DOSBox tool (free GPL), or if you care, your ol'
3rd party memory manager loaded from customized CONFIG.SYS/AUTOEXEC.BAT lines.
Though I recommend using the Microsoft HIMEM.SYS + EMM386.EXE "combo" instead
(bundled with all MS-DOS 5.xx/6.xx and Windows 9x/ME releases), to ensure 100%
compatibility with ALL your programs and MS OSes (dual-boot users).
Suggested EMM386.EXE 4.95 CONFIG.SYS line (applies to ALL EMM386.EXE releases
beginning with 4.45), which provides maximum free conventional DOS memory and
optimal compatibility with Windows 9x/ME (EMS enabled by the RAM switch):

DEVICE=drive:\directory\EMM386.EXE I=B000-B7FF RAM A=64 H=120 D=256 AUTO NOTR

or with EMS disabled by the NOEMS switch:

DEVICE=drive:\directory\EMM386.EXE I=B000-B7FF NOEMS A=64 H=120 D=256 AUTO NOTR

Replace "drive:" with your drive letter and "directory" with the directory name
where your file resides [and don't type the quotes :)].

Note however that Windows ME loads HIMEM.SYS from IO.SYS, therefore before
CONFIG.SYS is processed, and a HIMEM.SYS line in CONFIG.SYS will generate an error
message at bootup, like:

"ERROR: An Extended Memory Manager is already installed."

This also prevents most 3rd party memory managers (except UMBPCI.SYS) that rely on
their own memory mapping routines from working properly with WinME. Also, some
newer programs written specifically for WinME will NOT work with EMM386.EXE loaded
from CONFIG.SYS, especially with expanded memory (EMS) enabled by the EMM386.EXE
RAM switch. In such cases try to add the NOEMS parameter to your EMM386.EXE line in
CONFIG.SYS (see example above), and then reboot. If that doesn't work, remove the
EMM386.EXE line completely. :(

See REGIONS.TXT, MEMORY.TXT + EMM386.TXT (all part of W95-11D.EXE), for complete


memory management details.

The purpose of this article is actually to tell you that you need to DISABLE ALL
your CONFIG.SYS/AUTOEXEC.BAT lines that load/enable such memory managers/emulators
and/or upper memory loaders, in order to install Windows 9x/ME smoothly WITHOUT
lockups, over a previous OS: MS-DOS 6.xx or an earlier version of Windows
3.xx/95/OSR2/98.
And you can always reenable them after Setup has successfully completed if using
Windows 95, OSR2 or 98, but NOT Windows ME, because Microsoft REMOVED COMPLETELY
the access to native/real/true/pure MS-DOS mode from Windows Millennium Edition
(ME), a.k.a MS-DOS 8.00. :(
But you CAN get it back by applying the Unofficial DOS Patch, which modifies
COMMAND.COM + IO.SYS (from C:\Windows\Command\EBD) + REGENV32.EXE (from
C:\Windows\System) to allow Windows ME to boot to native MS-DOS and use DOS mode
startup files (AUTOEXEC.BAT + CONFIG.SYS), Windows 95/98 style, to be able to use
your (old) MS-DOS based apps/games that do NOT work from within a Windows DOS
session/box, and tweak your CUSTOM AUTOEXEC.BAT + CONFIG.SYS files to free MAXimum
conventional DOS memory. :)

To REMark (disable) a command line: add a semicolon (;) in CONFIG.SYS or a double


colon (::) in AUTOEXEC.BAT in the front of the respective line.
To reactivate (reenable) a REMarked command line: remove the semicolon (;) in
CONFIG.SYS or the double colon (::) in AUTOEXEC.BAT from the front of the
respective line.
Create/edit the startup files (AUTOEXEC.BAT + CONFIG.SYS = plain text/ASCII),
located in C:\ root, with EDIT.COM in DOS or Notepad/Sysedit in Windows.

To be able to Setup Windows 9x/ME without a "hitch" on your computer you also need
to add a line for HIMEM.SYS (the basic high and extended memory manager included
with all Windows 9x/ME releases and MS-DOS 5.xx/6.xx) at the beginning of your
CONFIG.SYS file (example):

DEVICE=drive:\directory\HIMEM.SYS /TESTMEM:OFF

HIMEM.SYS 3.10 is included with MS-DOS 6.xx: 6.00 up to 6.22.


HIMEM.SYS 3.95 is included with Windows 95 RTM/95a OSR1 [4.00.0950], a.k.a. MS-DOS
7.00.
HIMEM.SYS 3.96 is included with Windows 95B/95C OSR2 [4.00.1111], a.k.a. MS-DOS
7.00.
HIMEM.SYS 3.98 is included with Windows 98 RTM/98 SP1/98 SE [4.10.1998/4.10.2222],
a.k.a. MS-DOS 7.10.
HIMEM.SYS 3.99 is included with Windows ME [4.90.3000], a.k.a. MS-DOS 8.00, and is
loaded automatically from IO.SYS, rendering the CONFIG.SYS HIMEM.SYS line obsolete.
More info.

To install Windows 9x/ME from the plain MS-DOS command prompt you need to:

Enable your CD (Compact Disc): CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-R, DVD-RW
etc... drive in native/real/true/pure MS-DOS mode (presuming you have only 1 CD
drive installed):

Add a line into CONFIG.SYS for your CD DOS mode driver if not already present
(examples):

IDE/ATAPI CD/DVD drive (universal IDE CD/DVD driver):

DEVICEHIGH=drive:\directory\UIDE.SYS /D:MYCDROM

Get UIDE.SYS [free].


See "CD-ROM DRIVERS 4 DOS", also in MYTIPS95.TXT (part of W95-11D.EXE), for
details.

SCSI CD/DVD drive (typical SCSI CD/DVD drivers):

DEVICEHIGH=drive:\directory\ASPIDOS.SYS

and/or:

DEVICEHIGH=drive:\directory\ASPIHLP.SYS

and:

DEVICEHIGH=drive:\directory\ASPICD.SYS /D:MYCDROM
Note that all Windows 98/ME releases can create bootable floppy diskettes with CD
support.

Add a line into AUTOEXEC.BAT for MSCDEX (native MS-DOS mode MicroSoft Compact Disc
eXtensions) driver if not already present (example):

LH drive:\directory\MSCDEX /D:MYCDROM

Note that the CD drive name on the CONFIG.SYS driver line (MYCDROM above) MUST
MATCH EXACTLY the CD drive name on the AUTOEXEC.BAT MSCDEX line: maximum 11
characters allowed, case insensitive, special/punctuation symbols or spaces NOT
allowed!
Reboot when done.

Eventually (to decrease considerably installation time) copy all files from
D:\WIN9*\*.* (where D is your CD drive letter; replace if different) to your fixed
hard drive/partition if you have enough unused disk space (~ 200-300 MB) to hold
them: run CHKDSK or DIR from any DOS prompt, and look at the number of
available/free bytes. Then run Windows SETUP from there.
Typical installation files directory names on Setup CDs:
Windows 95/OSR2 ? \WIN95
Windows 98/98 SE ? \WIN98
Windows ME ? \WIN9X

Microsoft has determined that the following 3rd party memory managers are
incompatible and/or cause problems/lockups with Windows 95/98/ME Setup, when a
previous command line based OS (like MS-DOS, DR-DOS, PC-DOS, FreeDOS etc) is
already installed:

All Charge memory manager 3.xx: ALLEMM4.SYS.

Compaq memory managers: CEMM386.SYS.

Hewlett Packard (HP) memory managers: HPEMM386.SYS, HPEMM486.SYS, HPMM.SYS.

Intel memory managers/expanded memory emulators: IEMM.SYS, ILIM386.SYS.

Maximizer memory manager: MAXIMIZE.EXE.

McAfee (formerly Helix) NetRoom memory manager 2.xx: RM386.SYS.


RM386.EXE 3.04 (current release) is compatible with Windows 9x/ME.
If using Helix NetRoom 3.xx memory manager (RM386.EXE) you MUST disable
CACHECLK.EXE, STACKS.EXE + SETCFG.EXE from your CONFIG.SYS/AUTOEXEC.BAT.
Remove ALL SysCloak/VidCloak switches from your CONFIG.SYS RM386.EXE line.
You MUST disable ALL SYSCLOAK.EXE, SYSCLOAK.SYS, VIDCLOAK.SYS + XLOAD.SYS lines
from your CONFIG.SYS/AUTOEXEC.BAT.
Refer to your NetRoom tech manuals (usually residing in the NetRoom directory) for
further details.
Suggested RM386.EXE 3.04 CONFIG.SYS line (applies to ALL NetRoom releases beginning
with 3.00), which provides maximum free conventional DOS memory and optimal
compatibility with Windows 9x/ME (SysCloak/VidCloak disabled!):

DEVICE=drive:\directory\RM386.EXE X=F000-FFFF I=B000-B7FF AUTO H=128 NMION NOT NOTR

Tweak your startup files manually by "shuffling" devices/drivers/TSRs loading order


until you reach the best memory configuration for your system/needs, and avoid
using the limited NetRoom Customiz tool, which may produce errors under certain
circumstances.
You also need to add/modify these SYSTEM.INI (found in your Windows directory)
lines under the [386enh] section to allow Windows to load properly with NetRoom:

[386enh]
EMMExclude=A000-FFFF
DualDisplay=ON

Edit SYSTEM.INI with Notepad or Sysedit, and make your changes ONLY AFTER BACKING
IT UP! Restart Windows so your changes can take effect.
Owners of older versions can upgrade (usually for a fee) to the current release by
contacting McAfee.

Symantec (formerly Quarterdeck) QEMM 5.xx/6.xx/7.xx/8.xx: QEMM386.SYS.


QEMM386.SYS 9.00 (current release) is compatible with Windows 9x/ME.
These drivers/loaders are automatically removed by Windows Setup from CONFIG.SYS:
DOSDATA.SYS, DOS-UP.SYS, ST-DBL.SYS, ST-DSPC.SYS.
Remove ALL Stealth switches, turn off QuickBoot and QSetup from your CONFIG.SYS
QEMM386.SYS line.
Beware that DOSDATA.SYS and DOS-UP.SYS interfere with Windows 9x/ME proper
operation and with the dual boot feature, forcing a Windows reboot even if the
"Previous version of MS-DOS" option is selected from the Windows 95/98 Startup
Menu.
Therefore you need to remove these 2 QEMM drivers from your CONFIG.DOS and/or
CONFIG.SYS files if using dual boot.
Refer to your QEMM tech manuals (usually residing in the Technotes QEMM
subdirectory) for further details.
Suggested QEMM386.SYS 9.00 CONFIG.SYS line (applies to ALL QEMM releases beginning
with 7.00), which provides maximum free conventional DOS memory and optimal
compatibility with Windows 9x/ME (Stealth disabled!):

DEVICE=drive:\directory\QEMM386.SYS X=F000-FFFF I=B000-B7FF RAM AU BE:N DM=128


HA=240 MA=128 TA=32

More info.
Tweak your startup files manually by "shuffling" devices/drivers/TSRs loading order
until you reach the best memory configuration for your system/needs, and avoid
using the limited QEMM Optimize tool, which may produce errors under certain
circumstances.
You also need to add/modify these SYSTEM.INI (found in your Windows directory)
lines under the [386enh] section to allow Windows to load properly with QEMM:

[386enh]
EMMExclude=A000-FFFF
DualDisplay=ON

Edit SYSTEM.INI with Notepad or Sysedit, and make your changes ONLY AFTER BACKING
IT UP! Restart Windows so your changes can take effect.
Owners of older versions can upgrade (usually for a fee) to the current release by
contacting Symantec.

QMAX memory manager 5.xx: QMAX386.SYS.

Qualitas/IBM 386Max/BlueMax memory managers 5.xx/6.xx/7.xx: 386MAX.SYS or


BLUEMAX.SYS.
These drivers/loaders are automatically removed by Windows Setup from CONFIG.SYS:
EXTRADOS.MAX, EXTRADOS.PRO.
Edit your 386MAX.PRO file (residing in your 386MAX/BLUEMAX directory) and delete
ALL lines starting with PRGREG, HPDAREG, STACKREG.
You need to set the EXT parameter on your 386MAX CONFIG.SYS line to 64 because
Windows 9x/ME Setup fails with any other EXT values.
Refer to your 386MAX/BLUEMAX tech manuals for further details.
I have no experience with 386MAX/BLUEMAX, therefore I have no suggested CONFIG.SYS
line. :(
386MAX and BLUEMAX 7.02 and newer are compatible with Windows 9x/ME.
Owners of older versions can upgrade (usually free of charge) to the current
releases by contacting Qualitas.
Qualitas 386MAX Updates + Patches (free for owners).

UMB PRO 1.xx: UMBPRO.SYS.

FYI: Open PROGRAMS.TXT (found in your Win9x/ME folder) with Notepad and read the
"THIRD-PARTY MEMORY MANAGERS" section for more info.

... And now for the good news: ;)

I [and many others :)] have determined that the following 3rd party memory manager
is COMPATIBLE with most Windows 95/98/ME configurations, even during Setup! This is
true if you have another OS already installed, but ONLY IF using MS-DOS 6.xx or
Windows 3.xx/95/OSR1/OSR2/98 as previous OS!

BTW: MS-DOS 6.xx can be kept "alive" after installing Windows 9x/ME for dual
booting purposes. See "DUAL BOOT" in MYTIPS95.TXT (part of W95-11D.EXE), for
details.

Just make sure to BACKUP your startup files BEFORE "unleashing" the Win9x/ME Setup
on your computer, because some lines will be erased/disabled during installation,
or even worse: your AUTOEXEC.BAT + CONFIG.SYS files will be DELETED ENTIRELY when
setting up WinME! :( In this case just apply the Unofficial DOS Patch afterwards,
to regain control of native MS-DOS mode, and be able to use startup files.

... And the "winner" is:

Uwe Sieber's UMBPCI.SYS upper memory extender (freeware, the BEST in my opinion),
using Microsoft HIMEM.SYS high/extended memory manager to provide Upper Memory
Blocks (UMBs), enabled by this CONFIG.SYS line:

DOS=UMB

which needs to appear BEFORE the UMBPCI.SYS line.


UMBPCI.SYS can be used safely with ANY Windows 9x/ME release, ALL Intel
Pentium/Pro/II/III/IV/Celeron/Xeon CPUs and most AMD/Cyrix CPUs to load everything
in the UMBs, but ONLY IF your motherboard chipset is supported. See the list of
CPUs + chipsets supported by UMBPCI.
UMBPCI.SYS allows a maximum of 629 KB free low RAM, with everything loaded "high",
proving also to be the FASTEST memory manager by leaving the X86 CPU
(Intel/AMD/Cyrix) in "real mode". All other "enhanced" memory managers (including
Microsoft EMM386.EXE, Quarterdeck QEMM386.SYS, Helix RM386.EXE, Qualitas 386MAX.SYS
etc...) place the CPU into "protected mode", which is much slower.
Suggested UMBPCI.SYS CONFIG.SYS line, presuming the C800-EFFF upper memory region
is NOT occupied by IDE/ROM/SCSI/Video BIOS on your system (even if supported, in
most situations UMBPCI doesn't need command line parameters):

DEVICE=drive:\directory\UMBPCI.SYS

IMPORTANT: If using Microsoft SmartDrive (SMARTDRV.EXE) to cache your drives in


native MS-DOS, and if your motherboard chipset doesn't allow ISA DMA shadowing in
the UMBs, make sure to disable floppy cache for ALL your floppy drives on your
SMARTDRV AUTOEXEC.BAT line (example with 2 floppy drives and 1 hard disk in single
partition):
SMARTDRV 4096 16 A- B- C+

See this UMBPCI guide for more details.

Consider also loading LOWDMA.SYS in conventional RAM (canNOT load in upper memory!)
from CONFIG.SYS:

DEVICE=drive:\directory\LOWDMA.SYS

to avoid ISA DMA errors/lockups with SMARTDRV in native MS-DOS mode.


LOWDMA.SYS is part of the free DOSLFN package.

Moreover, if using Windows 95, OSR1, OSR2 or 98 you can take advantage of HIRAM.EXE
v1.9 (freeware), which allows UMBPCI.SYS to load HIMEM.SYS in upper memory, thus
freeing the last byte of conventional DOS RAM. :)

LIMITATION: HIRAM does NOT work with Windows ME because HIMEM.SYS loads
automatically in conventional memory from IO.SYS at boot time BEFORE CONFIG.SYS is
processed. :(

To successfully load HIMEM.SYS in UMA, you need these CONFIG.SYS lines in this
EXACT order:

DOS=HIGH,UMB
DEVICE=drive:\directory\UMBPCI.SYS
DEVICE=drive:\directory\HIRAM.EXE
DEVICEHIGH=drive:\directory\HIMEM.SYS

The ONLY disadvantage is that UMBPCI.SYS does NOT provide expanded memory (EMS).
But according to Uwe Sieber's guidelines, you can enable EMS in a DOS session/box
under the Windows GUI (IF ANY of your native/real/true/pure MS-DOS mode apps/games
need EMS), by adding/changing this SYSTEM.INI (found in your Windows directory)
line under the [386enh] section (edit SYSTEM.INI with Notepad or Sysedit):

[386enh]
EMMPageFrame=C800

provided the C800-D7FF upper memory area is CONTIGUOUS AND FREE when Windows loads.
Also make sure NO OTHER expanded/extended manager loads from your CONFIG.SYS EXCEPT
HIMEM.SYS, because UMBPCI.SYS is an extension to HIMEM.SYS.

Want more proof? Take a look at my Windows 98 SE memory configuration + startup


files, I also use for Windows ME. The only difference is HIRAM canNOT be used with
WinME, thus forcing HIMEM.SYS to load in conventional RAM. :(

Have fun!

You might also like