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 [Link]/[Link] lines.
Though I recommend using the Microsoft [Link] + [Link] "combo" instead
(bundled with all MS-DOS [Link]/[Link] and Windows 9x/ME releases), to ensure 100%
compatibility with ALL your programs and MS OSes (dual-boot users).
Suggested [Link] 4.95 [Link] line (applies to ALL [Link] 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\[Link] I=B000-B7FF RAM A=64 H=120 D=256 AUTO NOTR
or with EMS disabled by the NOEMS switch:
DEVICE=drive:\directory\[Link] 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 [Link] from [Link], therefore before
[Link] is processed, and a [Link] line in [Link] 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 [Link]) 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 [Link] loaded
from [Link], especially with expanded memory (EMS) enabled by the [Link]
RAM switch. In such cases try to add the NOEMS parameter to your [Link] line in
[Link] (see example above), and then reboot. If that doesn't work, remove the
[Link] line completely. :(
See [Link], [Link] + [Link] (all part of [Link]), for complete
memory management details.
The purpose of this article is actually to tell you that you need to DISABLE ALL
your [Link]/[Link] 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 [Link] or an earlier version of Windows
[Link]/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
[Link] + [Link] (from C:\Windows\Command\EBD) + [Link] (from
C:\Windows\System) to allow Windows ME to boot to native MS-DOS and use DOS mode
startup files ([Link] + [Link]), 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 [Link] + [Link] files to free MAXimum
conventional DOS memory. :)
To REMark (disable) a command line: add a semicolon (;) in [Link] or a double
colon (::) in [Link] in the front of the respective line.
To reactivate (reenable) a REMarked command line: remove the semicolon (;) in
[Link] or the double colon (::) in [Link] from the front of the
respective line.
Create/edit the startup files ([Link] + [Link] = plain text/ASCII),
located in C:\ root, with [Link] 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 [Link] (the basic high and extended memory manager included
with all Windows 9x/ME releases and MS-DOS [Link]/[Link]) at the beginning of your
[Link] file (example):
DEVICE=drive:\directory\[Link] /TESTMEM:OFF
[Link] 3.10 is included with MS-DOS [Link]: 6.00 up to 6.22.
[Link] 3.95 is included with Windows 95 RTM/95a OSR1 [4.00.0950], a.k.a. MS-DOS
7.00.
[Link] 3.96 is included with Windows 95B/95C OSR2 [4.00.1111], a.k.a. MS-DOS
7.00.
[Link] 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.
[Link] 3.99 is included with Windows ME [4.90.3000], a.k.a. MS-DOS 8.00, and is
loaded automatically from [Link], rendering the [Link] [Link] 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 [Link] for your CD DOS mode driver if not already present
(examples):
IDE/ATAPI CD/DVD drive (universal IDE CD/DVD driver):
DEVICEHIGH=drive:\directory\[Link] /D:MYCDROM
Get [Link] [free].
See "CD-ROM DRIVERS 4 DOS", also in [Link] (part of [Link]), for
details.
SCSI CD/DVD drive (typical SCSI CD/DVD drivers):
DEVICEHIGH=drive:\directory\[Link]
and/or:
DEVICEHIGH=drive:\directory\[Link]
and:
DEVICEHIGH=drive:\directory\[Link] /D:MYCDROM
Note that all Windows 98/ME releases can create bootable floppy diskettes with CD
support.
Add a line into [Link] 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 [Link] driver line (MYCDROM above) MUST
MATCH EXACTLY the CD drive name on the [Link] 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 [Link]: [Link].
Compaq memory managers: [Link].
Hewlett Packard (HP) memory managers: [Link], [Link], [Link].
Intel memory managers/expanded memory emulators: [Link], [Link].
Maximizer memory manager: [Link].
McAfee (formerly Helix) NetRoom memory manager [Link]: [Link].
[Link] 3.04 (current release) is compatible with Windows 9x/ME.
If using Helix NetRoom [Link] memory manager ([Link]) you MUST disable
[Link], [Link] + [Link] from your [Link]/[Link].
Remove ALL SysCloak/VidCloak switches from your [Link] [Link] line.
You MUST disable ALL [Link], [Link], [Link] + [Link] lines
from your [Link]/[Link].
Refer to your NetRoom tech manuals (usually residing in the NetRoom directory) for
further details.
Suggested [Link] 3.04 [Link] 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\[Link] 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 [Link] (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 [Link] 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 [Link]/[Link]/[Link]/[Link]: [Link].
[Link] 9.00 (current release) is compatible with Windows 9x/ME.
These drivers/loaders are automatically removed by Windows Setup from [Link]:
[Link], [Link], [Link], [Link].
Remove ALL Stealth switches, turn off QuickBoot and QSetup from your [Link]
[Link] line.
Beware that [Link] and [Link] 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 [Link] and/or
[Link] files if using dual boot.
Refer to your QEMM tech manuals (usually residing in the Technotes QEMM
subdirectory) for further details.
Suggested [Link] 9.00 [Link] 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\[Link] 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 [Link] (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 [Link] 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 [Link]: [Link].
Qualitas/IBM 386Max/BlueMax memory managers [Link]/[Link]/[Link]: [Link] or
[Link].
These drivers/loaders are automatically removed by Windows Setup from [Link]:
[Link], [Link].
Edit your [Link] 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 [Link] 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 [Link]
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 [Link]: [Link].
FYI: Open [Link] (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 [Link] or
Windows [Link]/95/OSR1/OSR2/98 as previous OS!
BTW: MS-DOS [Link] can be kept "alive" after installing Windows 9x/ME for dual
booting purposes. See "DUAL BOOT" in [Link] (part of [Link]), 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 [Link] + [Link] 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 [Link] upper memory extender (freeware, the BEST in my opinion),
using Microsoft [Link] high/extended memory manager to provide Upper Memory
Blocks (UMBs), enabled by this [Link] line:
DOS=UMB
which needs to appear BEFORE the [Link] line.
[Link] 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.
[Link] 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 [Link], Quarterdeck [Link], Helix [Link], Qualitas [Link]
etc...) place the CPU into "protected mode", which is much slower.
Suggested [Link] [Link] 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\[Link]
IMPORTANT: If using Microsoft SmartDrive ([Link]) 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 [Link] 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 [Link] in conventional RAM (canNOT load in upper memory!)
from [Link]:
DEVICE=drive:\directory\[Link]
to avoid ISA DMA errors/lockups with SMARTDRV in native MS-DOS mode.
[Link] is part of the free DOSLFN package.
Moreover, if using Windows 95, OSR1, OSR2 or 98 you can take advantage of [Link]
v1.9 (freeware), which allows [Link] to load [Link] in upper memory, thus
freeing the last byte of conventional DOS RAM. :)
LIMITATION: HIRAM does NOT work with Windows ME because [Link] loads
automatically in conventional memory from [Link] at boot time BEFORE [Link] is
processed. :(
To successfully load [Link] in UMA, you need these [Link] lines in this
EXACT order:
DOS=HIGH,UMB
DEVICE=drive:\directory\[Link]
DEVICE=drive:\directory\[Link]
DEVICEHIGH=drive:\directory\[Link]
The ONLY disadvantage is that [Link] 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 [Link] (found in your Windows directory)
line under the [386enh] section (edit [Link] 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 [Link] EXCEPT
[Link], because [Link] is an extension to [Link].
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 [Link] to load in conventional RAM. :(
Have fun!