Вы находитесь на странице: 1из 40

MDGx MAX Speed WinDOwS �Tricks � Secrets � Bugs � Fixes

�����������������http://www.mdgx.com/������������������
��������������������
MS-DOS 7.xx/8.00 + Windows 95/98/ME Memory Management Guidelines
����������������������������������������������������������������
Take control of your Windows 9x/ME machine at DOS level!
��������������������������������������������������������
... And Boost Your DOS Memory to the MAX!
�����������������������������������������

___________________________________________________________________
| ALWAYS BACKUP ALL YOUR OPERATING SYSTEM DRIVES TO A SAFE LOCATION |
| BEFORE ATTEMPTING TO MAKE ANY SYSTEM CHANGES ! |
| http://www.mdgx.com/secrets.htm#BKP |
�������������������������������������������������������������������
WARNING: Take EXTREME CAUTION when modifying your System/Startup settings!
Faulty changes may result in crashes/lockups/permanent data loss, or
might lead to having you REINSTALL your Operating System(s)!
YOU are the ONLY one responsible for ANY changes YOU make!
ALWAYS HAVE YOUR MOST RECENT SYSTEM BACKUP READY!

NOTES: - For memory management guide + optimization tips see REGIONS.TXT


(included).
- For DOS + Windows extended + expanded memory managers technical
details see EMM386.TXT (included).
- For abbreviations + terms explanations see GLOSSARY.TXT (included):
http://www.mdgx.com/glossary.htm
- For Microsoft EMM386.EXE + HIMEM.SYS undocumented parameters see
related topics in SECRETS.TXT (included):
http://www.mdgx.com/secrets.htm

FYI: Other web pages guidelines linked here do not necessarily reflect the
opinion of the author of these files.

Please send me feedback online:


http://www.mdgx.com/form.htm

My DOS7 MEMory specs:


http://www.mdgx.com/mem7.htm
My DOS7 CONFIG.SYS settings:
http://www.mdgx.com/bench.htm#CON
My DOS7 AUTOEXEC.BAT settings:
http://www.mdgx.com/bench.htm#AUT

MUST HAVE [99.99% FREE(ware)] from SOFTWARE.TXT (included):


- MS-DOS 5.00 - 8.00 ESSENTIALS:
http://www.mdgx.com/dos.htm
- Speed-Up + Benchmark Tools:
http://www.mdgx.com/speed.htm

MEMORY.TXT Contents:

Intro
BASIC *ESSENTIAL* MEMORY TIPS
Windows DOS Box Tips
My CONFIG.SYS + AUTOEXEC.BAT Step by Step:
I. My CONFIG.SYS Lines Explained
II. My AUTOEXEC.BAT Lines Explained
Killer Replacements
Notes + Wrap-Up
Reference: Memory Management Terms + System Files @ Wikipedia
http://www.mdgx.com/mem7.htm#WKL
______________________________________________________________________________
������������������������������������������������������������������������������

Intro

All these guidelines apply ONLY to MS-DOS 6.xx/7.xx/8.00 + Windows/WfWG


3.1x/95/98/ME OSes + environments ONLY when used in real mode (multi-boot),
NOT through virtualization software (virtual machine)!
Free(ware) tools:
- Boot managers in SOFTWARE.TXT (included):
http://www.mdgx.com/dos.htm#BTM
- Boot Tweakers in SOFTWARE.TXT (included):
http://www.mdgx.com/toy.htm#BOO
- Virtualization software in SOFTWARE.TXT (included):
http://www.mdgx.com/xptoy.htm#VPC

These are my own memory management optimization guidelines + tweaks on how to


"squeeze" the last Byte of FREE conventional memory for all your DOS
programs/games, make more RAM available to your Windows GUI, and how to modify
your CONFIG.SYS, AUTOEXEC.BAT, MSDOS.SYS + SYSTEM.INI files to make all this
happen.
I posted these tips hoping you will find useful to have plenty of free "low"
memory to run ANY "memory hungry" DOS program/game on the planet, in the same
setup in which you also start Windows 9x/ME, WITHOUT the need for separate
startup configurations that require rebooting your machine.
Enjoy.

After all Windows 95/98/ME is a MIXED (read "partially enabled") 32-bit AND
16-bit [for backward compatibility with MS-DOS (DOS16 and DOS32) and older
16-bit Windows/WfWG 3.xx (Win16) programs] Graphical User Interface (GUI)
protected mode virtual environment [... sorry, Operating System :)], which
still depends on the good ol' MS-DOS 7.xx TSR modules (IO.SYS + COMMAND.COM),
MS-DOS mode memory manager (HIMEM.SYS) and compatibility (legacy) drivers
(IFSHLP.SYS) to load on top of the plain DOS command line based layer!
The good news is Microsoft released Windows XP
(eXPerience)/2003/Vista/2008/7/8/8.1/2012, true 32-bit/64-bit multitasking,
multithreading and Symmetrical MultiProcessing (SMP) graphical OSes, which do
away once for all with the "ancient" 16-bit MS-DOS command line.
NOTE: Unfortunately Microsoft removed 16-bit application support from all
Windows 64-bit (x64) OSes. ;-(
But the bad news is these advanced OSes do NOT support native/real/true/pure
MS-DOS mode, necessary for some old DOS based programs/games that require
exclusive access to memory/video/audio/network hardware resources, and most of
which are still memory "hungry", especially the ones that canNOT run from a
DOS session/box/window inside Windows.
Therefore master your CONFIG.SYS:
http://www.mdgx.com/mem7.htm#7
+ AUTOEXEC.BAT command lines:
http://www.mdgx.com/mem7.htm#A7
and your MSDOS.SYS: see "COMPLETE MSDOS.SYS REFERENCE" in MYTIPS95.TXT
(included):
http://www.mdgx.com/msdos.htm
+ SYSTEM.INI parameters: see "SYSTEM.INI TWEAKS" in MYTIPS95.TXT (included):
http://www.mdgx.com/lastweek.htm#SYSINI
to BOOT into your system the way YOU want!
Solutions [free(ware)]:
- DOSBox:
http://www.mdgx.com/dos.htm#BOX
- ScummVM:
http://www.scummvm.org/
- "95/98/ME SETUP + MEMORY MANAGERS":
http://www.mdgx.com/newtip20.htm#9SMM
- "WINDOWS DOS BOX TIPS":
http://www.mdgx.com/newtip23.htm#WDBT
- "PLAY DOS GAMES WITH SOUND BLASTER LIVE!":
http://www.mdgx.com/newtip18.htm#DGSBL
- UMBPCI.SYS:
http://www.mdgx.com/umb.htm
- DOS Tools:
http://www.mdgx.com/dos.htm
- Virtualization Software:
http://www.mdgx.com/xptoy.htm#VPC

I included here my Windows 95/98/ME versions of AUTOEXEC.BAT + CONFIG.SYS and


my MS-DOS 6.22 startup files: AUTOEXEC.DOS + CONFIG.DOS [dual-boot users who
kept the ol' Windows/WfWG 3.1x + MS-DOS 6.xx may be interested in viewing
them :)].
The *.DOS files are the names given to MS-DOS 6.00 - 6.22 startup files by
Win9x/ME OS, when using the dual-boot feature, after you installed Win9x/ME
on your system, and it detected the presence of MS-DOS 6.xx.
Use them ONLY as EXAMPLES to customize YOURS.
IMPORTANT:
All CONFIG.SYS + AUTOEXEC.BAT command lines in these examples are CUSTOMIZED
STRICTLY to my system, and you NEED to follow the guidelines in this text
file, and then edit your OWN startup files (ONLY after making BACKUPs!) to
adapt them to YOUR PARTICULAR SYSTEM SPECS + NEEDS!
You could view/print all 4 with EDIT.COM in DOS or Notepad/Sysedit in Windows.
More info @ MSKB:
http://support.microsoft.com/kb/232558
But I strongly recommend to use my dedicated DOS style batch files: EAB.BAT
(edits/backs up AUTOEXEC.BAT) + ECS.BAT (edits/backs up CONFIG.SYS) to modify
them with minimum effort.
See "EDIT BOOT FILES" in MYTIPS95.TXT (included) for complete details:
http://www.mdgx.com/newtip22.htm#EBF

TIP: A good thing is that you can successfully use the Win9x/ME MS-DOS mode
memory managers releases (HIMEM.SYS + EMM386.EXE) in your MS-DOS 6.xx
CONFIG.SYS, ONLY IF you are using the dual-boot feature in Win9x/ME AND have
kept your old MS-DOS 6.xx + Windows/WfWG 3.1x.

IMPORTANT:
To learn how to ACTIVATE and USE the native/real/true/pure MS-DOS mode in:
* Windows 95/OSR2/98: read these topics from MYTIPS95.TXT (included):
- "2 DOS OR NOT 2 DOS":
http://www.mdgx.com/last3.htm#DOS2DOS
- "MS-DOS PROMPT":
http://www.mdgx.com/lastweek.htm#MSDOSPROMPT
- "DOS NOW!":
http://www.mdgx.com/newtip1.htm#DOS
- "RETURN TO DOS".
* Windows ME: see "A MUST for ALL Windows ME users running DOS based programs
+ games:" at the bottom of the "Windows DOS Box Tips" chapter further below:
http://www.mdgx.com/newtip23.htm#WDBT

I included here my system MEMory configurations using 5 different MS-DOS mode


memory managers in CONFIG.SYS (most recent releases):
- MicroSoft Windows 98 SE [a.k.a. MS-DOS 7.10] EMM386.EXE v4.95 + HIMEM.SYS
v3.95 "combo",
- Uwe Sieber UMBPCI.SYS v3.85 in combination with Microsoft HIMEM.SYS v3.95
+ HIRAM.EXE v1.9 (loads HIMEM.SYS in upper memory),
- McAfee (Helix) NetRoom RM386.EXE v3.04,
- Symantec (Quarterdeck) QEMM386.SYS v9.00 and
- Lineo (Caldera) DR-DOS 7.03 EMM386.EXE v3.27.
For my DOS MEMory stats using these 5 memory managers, take a look at:
- DOS9XMEM.TXT = in native MS-DOS mode (outside Windows), and
- WIN9XMEM.TXT = in a DOS session with Windows 9x GUI started.

MSD9X.TXT (included) shows a brief list of my Windows 98 SE [a.k.a. MS-DOS


7.10] system hardware specs, running MicroSoft Diagnostics tool (MSD.EXE)
v2.14 OUTSIDE Windows in native MS-DOS mode.
______________________________________________________________________________

BASIC *ESSENTIAL* MEMORY TIPS

1. Add/modify the EMM386.EXE (or your 3rd party expanded memory manager) line
in your CONFIG.SYS to provide UMBs (Upper Memory Blocks), access to UMA (Upper
Memory Area) and expanded memory (EMS) provided by the EMM386.EXE "RAM" and
"HIGHSCAN" parameters.
Contrary to what you may have read/heard, expanded memory is STILL needed by
certain (older) DOS applications and games that canNOT be executed from a DOS
box/session/window INSIDE the Windows GUI, and DOES NOT slow down your
computer's performance. What DOES slow down is the mere presence in memory of
ANY upper/extended/expanded memory manager loaded from CONFIG.SYS, EVEN IF
expanded memory is NOT enabled.
There are 2 exceptions though (see further below for details):
- Microsoft's HIMEM.SYS = provides ONLY extended RAM, NOT upper NOR expanded,
and does NOT slow down your CPU.
- Uwe Sieber's UMBPCI.SYS (HIMEM.SYS extender) = provides ONLY upper RAM, NOT
extended NOR expanded, but leaves the CPU in "real mode", which is MUCH
faster than ANY "virtual mode" memory manager.
Such programs NEED to run from native/real/true/pure MS-DOS mode, OUTSIDE
Windows.
Here is a list of DOS programs that use Expanded Memory Specifications (EMS):

* Applications:
- Autodesk CAD
- Borland: dBASE, Paradox, Quattro Pro + Turbo C
- Computer Associates Clipper
- Geoworks
- Liberation Enterprises Intellicom
- Lotus: 1-2-3 2.x/3.x, Agenda, Magellan + Symphony
- Microsoft FoxPro
- Mustang Wildcat BBS
- Novell Word Perfect
- SPC Harvard Graphics
- Symantec: DESQview + Q&A

* Games:
- id: Spear of Destiny + Wolfenstein 3D
- Lucas Arts: X-Wing, TIE Fighter + Super Star Wars
- Microprose Civilization
- Origin: Strike Commander, Ultima Underworld + Wing Commander
- Spectrum HoloByte Falcon
- Three-Sixty: Patriot + V for Victory

* Network Software:
- 3Com TCPIP 2.x
- DEC DecNet
- FTP PC/TCP 2/3
- Microsoft LanMan 2.x
- Novell: EMSNETX + VLM

* Utilities + TSRs:
- Microsoft MSCDEX.EXE CD-ROM Extensions TSR
- Lineo (Caldera) DR-DOS NWCDEX.EXE CD-ROM Extensions TSR
- Creative Labs Sound Blaster AWE32/AWE64/Live! series Audio Tools/TSRs
- HyperWare HyperDisk
- IIT XtraDrive
- Novell Btrieve
- PC-Kwik
- Stac Electronics Stacker
- Symantec: FastBack, NDOS, NCACHE, Norton PC Tools + QRAM
- Vertisoft DoubleDisk

Therefore if you are still running ANY DOS programs/games that use expanded
memory, I suggest to enable it in your CONFIG.SYS.
Some of these DOS programs/games can function even without EMS, but certain
features will be disabled and/or conventional memory usage will increase if
EMS not enabled.

See REGIONS.TXT + EMM386.TXT (both included) for detailed MS-DOS Upper Memory
Management, Upper Memory Regions Mapping + Expanded Memory Management and
Troubleshooting, TO MASTER THE WAY DEVICES, DRIVERS + TSRs LOAD FROM YOUR
CONFIG.SYS + AUTOEXEC.BAT.

FYI:
- MSKB: General Tutorial on Various Forms of Memory:
http://support.microsoft.com/kb/37242
- MSKB: Overview of Memory Management Functionality in MS-DOS:
http://support.microsoft.com/kb/95555
- MSKB: Win95: Managing Memory in MS-DOS Mode:
http://support.microsoft.com/kb/151718
- MSKB: How to Increase Conventional Memory for MS-DOS Based Programs:
http://support.microsoft.com/kb/134399
- MSKB: Running Both Extended and Expanded Memory on Your Computer:
http://support.microsoft.com/kb/96766
- MSKB: EMM386.EXE Slows Down System Performance:
http://support.microsoft.com/kb/74152
- MS TechNet: Windows 98 Startup Process:
http://www.microsoft.com/technet/archive/win98/reskit/part1/wrkc05.mspx
- MS TechNet: MS-DOS 6 Memory Management:
http://www.microsoft.com/technet/archive/msdos/05_memry.mspx
- MSKB: Requirements to Boot Previous Operating System:
http://support.microsoft.com/kb/121963
- MS TechNet: Working with Startup files:
http://www.microsoft.com/technet/archive/msdos/03_confg.mspx
- MSKB: EMM386 Troubleshooting and Technical Information:
http://support.microsoft.com/kb/78557
- MAXIMIZING DOS CONVENTIONAL MEMORY WITH DOS 5/6/7 + Win95:
http://winmac.mvps.org/doswin.html
- Optimizing Windows 95/98 startup for DOS programs:
http://winmac.mvps.org/win95dos.html
- Running MS-DOS programs under Windows 9x:
http://wb1.150m.com/DOSPgms/DOSPgms2.html
- Running MS-DOS games:
http://faqs.cs.uu.nl/na-dir/windows/win95/faq/part12.html
- DOS Tweaks + Tuneup tips:
http://web.archive.org/web/20070604053121/http://www.devedia.com/dosghost/dos/twks_
w31.htm
- FreeDOS memory management FAQ:
http://ericauer.cosmodata.virtuaserver.com.br/soft/specials/memfaq.txt
- Configuring your MS-DOS properly:
http://www.cubic.org/docs/configuring.htm
- DOS memory managment:
http://www.robvanderwoude.com/dosmem.php

I have tested + benchmarked extensively since 1992 all possible memory


configurations on 9 (nine) different PCs, covering almost all popular
"generations" of Intel CPUs [I have no experience with AMD or Cyrix CPUs]:
- 386/SX 16 MHz ISA with 4 MB RAM running MS-DOS 5.0 + Windows 3.0.
- 486/SX 25 MHz ISA with 8 MB RAM running MS-DOS 5.0 + Windows 3.10.
- 486/DX2 66 MHz ISA with 16 MB RAM running MS-DOS 6.00 + Windows 3.11.
- Pentium 90 MHz PCI with 32 MB RAM running MS-DOS 6.22 + WfWG 3.11.
- Pentium 200 MHz PCI with 48 MB RAM running Windows 95 retail + Windows 95a
OSR1 [a.k.a. MS-DOS 7.00] in dual-boot setup with MS-DOS 6.22 + WfWG 3.11.
- Pentium 233 MHz MMX PCI with 64 MB EDO DRAM running Windows 95B OSR 2.1
[a.k.a. MS-DOS 7.10] in dual-boot setup with MS-DOS 6.22 + WfWG 3.11.
- Pentium II 450 MHz MMX AGP [overclocked @ 504 MHz] with 128 MB PC100 SDRAM
running Windows 98 retail [a.k.a. MS-DOS 7.10] in dual-boot setup with MS-DOS
6.22 + WfWG 3.11.
- Pentium III 700 MHz SSE AGP [overclocked @ 805 MHz] with 256 MB PC133 SDRAM
running Windows 2000 Server in triple-boot setup with Windows 98 SE [a.k.a.
MS-DOS 7.10] and MS-DOS 6.22 + WfWG 3.11.
- Pentium III 1.3 GHz SSE AGP [overclocked @ 1.4 GHz] with 512 MB PC133 SDRAM
running Windows XP Pro in triple-boot setup with Windows ME [a.k.a. MS-DOS
8.00] (reverted later on back to Windows 98 SE + MS-DOS 7.10) and MS-DOS 6.22
+ WfWG 3.11.
Tested memory settings:
- NO upper, NO expanded, extended ONLY: NO CONFIG.SYS or AUTOEXEC.BAT files,
HIMEM.SYS loads from IO.SYS;
- NO upper, NO expanded, extended ONLY: only HIMEM.SYS in a stripped down
CONFIG.SYS + NO AUTOEXEC.BAT;
- upper, extended, NO expanded: HIMEM.SYS + EMM386.EXE with the "NOEMS" switch
in CONFIG.SYS + stripped down AUTOEXEC.BAT;
- upper, extended AND expanded: HIMEM.SYS + EMM386.EXE with the "RAM" switch
in CONFIG.SYS + full featured AUTOEXEC.BAT.
I have found the best (and most compatible!) overall memory configuration, and
in most cases the fastest (except UMBPCI.SYS shown below) to be: Microsoft
HIMEM.SYS + EMM386.EXE "combo" in CONFIG.SYS, with upper (UMB), extended (XMS)
AND expanded memory (EMS) enabled, and with ALL necessary real-mode 16-bit
MS-DOS drivers/devices/TSRs (IFSHLP.SYS, ANSI.SYS, CD-ROM driver, MSCDEX.EXE,
SMARTDRV.EXE, MOUSE.COM, DOSKEY.COM, VESA VBE 2.0/3.0 TSR etc) loaded in upper
memory (UMA), using "DEVICEHIGH" in CONFIG.SYS and respectively "LOADHIGH"
("LH" for short) in AUTOEXEC.BAT.
For detailed MEMory specs see DOS9XMEM.TXT + WIN9XMEM.TXT (both included).
This way I reached 625 KB of free conventional memory (which to my knowledge
is maximum allowed on a PC/AT equipped with a color VGA video card and using
the default memory managers provided by Microsoft: HIMEM.SYS + EMM386.EXE) and
10-40 KB of free upper memory (UMA) in native/real/true/pure MS-DOS mode,
enough to run ANY memory hungry DOS program/game.
CAUTION: In some situations you may need to leave a minimum of 16 KB of FREE
upper DOS memory for Windows proper operation!
ALL these have been tested and used successfully ONLY with my old/new systems
CUSTOM configurations: directory NAMES, CPUs (see list above), ROM BIOS, Video
BIOS, chipsets, motherboards, IDE controllers etc:
- Tyan Tomcat S1562 mobo, Intel TX Triton chipset + AMI BIOS
- Megatrends HX83 mobo, Intel HX Triton II chipset + AMI BIOS
- Abit BH6 mobo, Intel 440BX chipset + AWARD BIOS
- Abit BE6-II mobo, Intel 440BX chipset + AWARD BIOS
- Abit BE6-II v2.0 RAID mobo, Intel 440BX chipset + AWARD BIOS
- ATI Mach64 Graphics Turbo PCI 2D only video
- 3Dfx Voodoo Banshee PCI 2D+3D video
- Quantum3D Obsidian2 X-24 TV Voodoo2 SLI PCI 3D only video
- NVidia GeForce 256 DDR AGP 2D+3D video
- NVidia GeForce4 Ti 4600 DDR AGP 2D+3D video
- HighPoint HPT-366 ATA66 EIDE drive controller on Abit BE6-II mobo
- HighPoint HPT-370 ATA100 EIDE RAID drive controller on Abit BE6-II v2.0 RAID
mobo
- HighPoint HPT-372 ATA133 EIDE RAID drive PCI controller,
running all these Microsoft Operating Systems + Environments at some point in
time:
- MS-DOS 5.0
- MS-DOS 6.00
- MS-DOS 6.22
- Windows 3.10
- Windows 3.11
- Windows for WorkGroups 3.11
- Windows 95 [a.k.a. MS-DOS 7.00]
- Windows 95a OSR1 [a.k.a. MS-DOS 7.10]
- Windows 95B OSR 2.1 [a.k.a. MS-DOS 7.10]
- Windows 98 [a.k.a. MS-DOS 7.10]
- Windows 98 SE [a.k.a. MS-DOS 7.10]
- Windows ME [a.k.a. MS-DOS 8.00].
Here we go:

- Microsoft Windows 98 SE [a.k.a. MS-DOS 7.10] HIMEM.SYS v3.95 + EMM386.EXE


v4.95 extended/expanded memory managers "combo" CONFIG.SYS lines:
DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
DEVICE=C:\WINDOWS\EMM386.EXE I=D000-EFFF I=CA00-CBFF I=B000-B7FF M3 A=64 H=128
D=256 RAM AUTO NOTR
WARNING:
OLDER Microsoft HIMEM.SYS v3.10 + EMM386.EXE v4.45/v4.49 memory managers
included with MS-DOS 5.0 + 6.xx do NOT PROPERLY detect/enable the ENTIRE
extended memory (SXMS protocol is NOT implemented!) on computers with MORE
than 64 MB RAM installed, and may generate errors/lockups with newer
OSes/programs that take advantage of the extra RAM!
Therefore I STRONGLY RECOMMEND if you also own MS-DOS 6.xx (and eventually
dual-boot between DOS6 and Win9x/ME) to use the NEWEST Windows 9x/ME releases
of HIMEM.SYS + EMM386.EXE (SXMS enabled) with ALL MS-DOS 5.0 + 6.xx OSes:
HIMEM.SYS v3.95 is included with Windows 95/98 [a.k.a. MS-DOS 7.00/7.10].
HIMEM.SYS v3.99 is included with Windows ME [a.k.a. MS-DOS 8.00] and is loaded
automatically as part of IO.SYS at boot time (a HIMEM.SYS line in CONFIG.SYS
is not necessary anymore).
EMM386.EXE v4.95 is included with Windows 95/98/ME.
Get Microsoft Windows 98 SE [a.k.a. MS-DOS 7.10] HIMEM.SYS v3.95 + EMM386.EXE
v4.95 [56 KB, free]:
http://www.bretjohnson.us/programs/emm98se.zip

- Uwe Sieber's UMBPCI.SYS v3.85 upper memory extender (freeware), using


Microsoft HIMEM.SYS v3.95 high/extended memory manager + HIRAM.EXE v1.9 (loads
UMBPCI.SYS + HIMEM.SYS in upper memory ONLY if using Win95/98 NOT WinME!)
CONFIG.SYS lines in this EXACT order:
DOS=HIGH,UMB
DEVICE=C:\MAX\UMBPCI.SYS
DEVICE=C:\MAX\HIRAM.EXE
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
UMBPCI.SYS provides a maximum of 629 KB of free low RAM, with everything
loaded "high", and proved to be the FASTEST memory manager of this bunch:
http://www.mdgx.com/umb.htm
My HIRAM.EXE page:
http://www.mdgx.com/umb.htm#HIR
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 DOS apps/games need
EMS), by adding/changing this SYSTEM.INI (found in your Windows folder) 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 is loaded, EXCEPT
HIMEM.SYS, because UMBPCI.SYS is an extension to HIMEM.SYS.
NOTE: Not ALL motherboard chipsets are supported by UMBPCI, because some do
NOT allow/enable Shadow RAM (ISA DMA). :( See the complete list of supported
chipsets:
http://www.mdgx.com/umb.htm#REQ

- McAfee (Helix) NetRoom RM386.EXE v3.04 (retail) enhanced memory manager


CONFIG.SYS line (applies to ALL RM386 releases starting with 3.00):
DEVICE=C:\HELIX\RM386.EXE X=F000-FFFF I=B000-B7FF AUTO H=128 NMION NOT NOTR Q
Get NetRoom 3.04 [200 KB, last release, discontinued!]:
http://www.mdgx.com/files/CDX.ZIP
More NetRoom files:
http://vogons.zetafleet.com/viewtopic.php?t=17385

- Symantec (Quarterdeck) QEMM386.SYS v9.00 (retail) enhanced memory manager


CONFIG.SYS line (applies to ALL QEMM releases beginning with 7.00):
DEVICE=C:\QEMM\QEMM386.SYS X=F000-FFFF I=B000-B7FF RAM AU BE:N DM=128 HA=240 MA=128
TA=32
Get QEMM 9.0 [4.8 MB, last release, discontinued!]:
ftp://ftp.oldskool.org/pub/misc/Software/DESQ/qemm97.zip
QEMM 97 9.0, Patches + Tools:
http://www.chsoft.com/dv.html

- Lineo (Caldera) DR-DOS 7.03 EMM386.EXE v3.27 (free trial) enhanced memory
manager CONFIG.SYS line (applies to ALL EMM386 releases starting with 3.00):
DEVICE=C:\DRDOS\EMM386.EXE USE=C800-EFFF USE=B000-B7FF AUTO DMA=256 HANDLES=128
QUIET
Get DR-DOS 7.03 Operating System [6 MB, free trial]:
http://ftp.uni-bayreuth.de/pc/caldera/DR-DOS.703/dr703.exe
FYI:
- For more info on HIMEM.SYS + EMM386.EXE parameters read the HIMEM.SYS and
EMM386.EXE topics in MSDOSDRV.TXT (using Notepad), found in your Windows 9x/ME
folder, or go to:
http://support.microsoft.com/kb/234868
- For more info using your 3rd party memory manager with Windows 9x/ME read
"95/98/ME SETUP + MEMORY MANAGERS" in MYTIPS95.TXT (included):
http://www.mdgx.com/newtip20.htm#9SMM
- For more info on optimizing your Windows 9x/ME + MS-DOS 7.xx/8.00 memory
resources see this Microsoft page:
http://www.microsoft.com/technet/archive/win98/reskit/part5/wrkc26.mspx

2. CD-ROM/CD-R(W)/DVD-ROM/DVD-R(W) drives canNOT be accessed in native MS-DOS


mode WITHOUT Compact Disc EXtensions (CDEX) support! Therefore you MUST load
one of these DOS CDEX drivers in your AUTOEXEC.BAT, to be able to use your
CD/DVD based programs/games from native/real/true/pure MS-DOS:

- Microsoft MSCDEX.EXE v2.25 included with Windows 95/98/ME [a.k.a. MS-DOS


7.00/7.10/8.00].
MSCDEX.EXE takes 16 KB of upper (UMA) and 20-60 KB of expanded memory (EMS)
with EMS enabled or 30-80 KB of upper RAM without EMS enabled. Example:
CONFIG.SYS EMM386 line:
DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=128 D=256 RAM AUTO NOTR
AUTOEXEC.BAT MSCDEX line:
LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MYCDROM /M:20 /E

- SHSUCDX.COM [free, open source]:


http://adoxa.altervista.org/shsucdx/
SHSUCDX.COM takes only 6.5 KB of upper memory on systems with 1 CD/DVD drive
(each additional drive requires 2 KB of RAM). Example:
CONFIG.SYS EMM386 line:
DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=128 D=256 RAM AUTO NOTR
AUTOEXEC.BAT SHSUCDX line:
C:\CDROM\SHSUCDX.COM /D:MYCDROM,G,0,1 /D:MYCDROM,I,1,3 /Q+
SHSUCDX alternative (free):
http://johnson.tmfc.net/dos/shsucdx.html

- Lineo DR-DOS NWCDEX.EXE v2.81 [200 KB]:


http://www.mdgx.com/files/CDX.ZIP
also part of Lineo (Caldera) DR-DOS v7.03 [6 MB, free trial]:
http://ftp.uni-bayreuth.de/pc/caldera/DR-DOS.703/dr703.exe
NWCDEX.EXE takes only 1 KB of upper and 40-60 KB of expanded memory (EMS).
Example:
CONFIG.SYS EMM386 line:
DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF A=64 H=128 D=256 RAM AUTO NOTR
AUTOEXEC.BAT NWCDEX line:
LOADHIGH=C:\DRDOS\NWCDEX.EXE /D:MYCDROM /M:20 /E /F:99

An expanded memory (EMS) manager like: Microsoft EMM386.EXE, Quarterdeck


QEMM386.SYS or Helix RM386.EXE, with EMS enabled is required in CONFIG.SYS to
load MSCDEX or NWCDEX in EMS.
See CD-ROM Drivers under "My CONFIG.SYS Lines Explained" further below and
"CD-ROM DRIVERS 4 DOS" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/newtip1.htm#CDROM4

FYI:
"Some of my old DOS games would not run from their CDs using NWCDEX.EXE in
native MS-DOS. But if I load SHSUCDX.COM (or MSCDEX.EXE) right before I start
a game, even though NWCDEX is still in memory and a new drive letter is
assigned to my CD-ROM, the games will work. I'm using SHSUCDX because it can
be unloaded, and I can restart Windows without having to reboot.
I created a batch file to load SHSUCDX before the game starts and then unload
it after the game exits."
[Thank you Edward!]

3. Change ALL device/driver/TSR DEVICE lines to DEVICEHIGH and ALL INSTALL


lines to INSTALLHIGH in your CONFIG.SYS, to load them ALL in upper memory:
IFSHLP.SYS, ANSI.SYS (or similar 3rd party like NANSI.SYS, ANSI.COM etc),
CD/DVD driver (like UIDE.SYS, XCDROM.SYS, VIDE-CDD.SYS, ATAPICDD.SYS,
TEAC_CDI.SYS, OAKCDROM.SYS etc) etc, EXCEPT for your memory manager line(s):
HIMEM.SYS, EMM386.EXE, RM386.EXE, QEMM386.SYS, UMBPCI.SYS, 386MAX.SYS etc,
which need the DEVICE command WITHOUT "HIGH" to load properly, EXCEPT IF using
HIRAM.EXE + UMBPCI.SYS = detailed above.

4. Add LH (LOADHIGH abbreviated) in front of ALL driver/TSR lines in your


AUTOEXEC.BAT, to load them ALL in upper memory: MSCDEX.EXE (or similar 3rd
party like NWCDEX.EXE, SHSUCDX.COM, MCDX.EXE etc), SMARTDRV.EXE (or similar
3rd party like UDMA.SYS, CACHECLK.EXE, HYPERDKX.EXE etc),
MOUSE.COM/(MS)MOUSE.EXE (or similar 3rd party like CTMOUSE(P).COM/CTMOUSE.EXE,
MOUSE.EXE, AMOUSE.EXE etc), DOSKEY.COM (or similar 3rd party like RECALL.COM,
TODDY.COM, CMDEDIT.COM etc), VESA VBE 2.0/3.0 driver (like UNIVBE.EXE,
M64VBE.COM, VESAFIX.EXE etc), sound card TSRs/tools (like SBEINIT.COM,
AWEUTIL.COM, CSP.SYS, CTMMSYS.SYS, CTSB16.SYS etc).

5. Load the LARGER devices/drivers/TSRs FIRST, and the SMALLER LAST in your
AUTOEXEC.BAT + CONFIG.SYS. Some trial-and-error is necessary to establish your
optimal configuration, depending on your own custom "combo".

6. For FASTEST performance loading Windows or running ANY DOS program/game in


native MS-DOS, use Microsoft SMARTDRV disk cache TSR in your AUTOEXEC.BAT.
Read about Smartdrv below under "My AUTOEXEC.BAT Lines Explained", and see
also "OUTSMART SMARTDRIVE" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/newtip2.htm#OUTSMART

7. ONLY IF you do NOT use ANY native MS-DOS mode programs or games:

A. You can safely delete your AUTOEXEC.BAT + CONFIG.SYS files, but BACK THEM
UP FIRST!
IMPORTANT:
It is recommended to keep a stripped down AUTOEXEC.BAT (or CONFIG.SYS) though,
to include your custom PATH line, because Windows 95/98 canNOT "see" the
location of some of your installed programs/drivers, or canNOT function
properly otherwise. :(
Furthermore, there is a wide variety of hardware and software that during
installation add the lines below to your existing AUTOEXEC.BAT, or create a
new one if not present, and this applies to ALL Windows 95/98 systems (default
setup folders used in these examples):

- Creative Labs Sound Blaster Live! PCI (ALL "flavors") install legacy support
(SB16 FM emulation) for real mode DOS games/apps:

SET MIDI=SYNTH:1 MAP:E MODE:0


SET BLASTER=A220 I5 D1 H5 P330 T6
SET CTSYN=C:\WINDOWS
C:\PROGRA~1\CREATIVE\SBLIVE\DOSDRV\SBEINIT.COM

FYI:
SBEINIT.COM requires Microsoft EMM386.EXE with expanded memory (EMS) enabled
(the "RAM" switch) in CONFIG.SYS!
See "PLAY DOS GAMES WITH SOUND BLASTER LIVE!" in MYTIPS95.TXT (included) for
complete details:
http://www.mdgx.com/newtip18.htm#DGSBL

- Creative Labs Sound Blaster AWE64/AWE64 Gold ISA PnP install legacy support
(SB AWE64 Audio + MIDI synthesis) for real mode DOS games/apps:

SET CTCM=C:\WINDOWS
C:\WINDOWS\CTCM.EXE
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
C:\SB16\AWEUTIL.COM /S
C:\SB16\MIXERSET.EXE /P /Q
C:\SB16\DIAGNOSE.EXE /S /W=C:\WINDOWS

- Creative Labs Sound Blaster AWE32/Vibra 16 ISA PnP install legacy support
(SB AWE32 Audio + MIDI synthesis) for real mode DOS games/apps:

SET MIDI=SYNTH:1 MAP:E MODE:0


SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET BLASTER=A220 I5 D1 H5 P330 E620 T6

- Diamond Audio 3D Monster M100/M200/M300 Aureal3D PCI install legacy support


(SB Pro compatible Aureal FM emulation) for real mode DOS games/apps:

C:\PROGRA~1\MONSTE~1\F3INIT.EXE C:\PROGRA~1\MONSTE~1\F3DOS.BDI

- Aureal3D Vortex 2.0 (A3D 2.0) based PCI sound cards install legacy support
(SB Pro compatible Aureal FM emulation) for real mode DOS games/apps:

LH C:\WINDOWS\AU30DOS.COM

- Apple QuickTime Movie Player 4.xx/5.xx/6.xx 32-bit for Windows


9x/NT4/2000/ME/XP/2003:

SET QTJava=C:\WINDOWS\SYSTEM\QTJava.zip
SET CLASSPATH=%QTJava%;

- Adobe Photo Deluxe 1.1 32-bit for Windows 9x/2000/ME/XP/2003:

SET CLASSPATH=C:\PROGRA~1\PHOTOD~1.1\ADOBEC~1

If you DO use a custom PATH line in AUTOEXEC.BAT or CONFIG.SYS, make sure to


keep folder (directory) names short, under 8 characters [avoid using Long File
Names (LFNs)] if possible, to "shrink" the PATH length for faster search, and
avoid "confusion" if running ANY real mode (LFNs unaware) DOS programs.
This is my CONFIG.SYS "SET PATH=" line (example):

SET
PATH=C:\;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\WINDOWS\SYSTEM;C:\BAT;C:\MAX;C:\AWE64;C:\
ZIP;C:\3D;C:\QEMM;

Also make sure to add a semicolon (;) at the end of EACH directory, and AFTER
the LAST PATH entry (see example above), so the OS can "read" the entire path
properly.

B. Use a well tuned MSDOS.SYS file to decrease Win95/98 boot loading time as
much as possible: SCANDISK.EXE will not check your drives/partitions for
errors in case OSR2/Win98 shut down improperly (AutoScan=0), the Startup Menu
will not be displayed (BootMenu=0), the bootup Logo will not show (Logo=0),
the Win9x GUI will load automatically (BootGUI=1) with no pause (BootDelay=0),
Win95/OSR2 is automatically selected as current OS (BootWin=1), Normal boot
option is selected as default (BootMenuDefault=1) without any delay
(BootMenuDelay=0), and you are not using an older MS-DOS version
(BootMulti=0). Example:

[Options]
AutoScan=0
BootDelay=0
BootGUI=1
BootMenu=0
BootMenuDefault=1
BootMenuDelay=0
BootMulti=0
BootWin=1
Logo=0

Use SYS95.BAT (included) to edit your MSDOS.SYS with minimum effort!


See "MSDOS.SYS EDITING" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/msdos.htm#EDI
See "COMPLETE MSDOS.SYS REFERENCE" in MYTIPS95.TXT (included), or go to:
http://www.mdgx.com/msdos.htm
to learn how to tweak ALL MSDOS.SYS parameters, including the UNDOCUMENTED
ones.

This is Microsoft's official list of DOS games that require


native/real/true/pure MS-DOS mode to play properly under Windows 95/98 OS:
- "Games (A-H) Requiring or Performing Better in MS-DOS Mode":
http://support.microsoft.com/kb/132994
- "Games (I-Q) Requiring or Performing Better in MS-DOS Mode":
http://support.microsoft.com/kb/132995
- "Games (R-Z) Requiring or Performing Better in MS-DOS Mode":
http://support.microsoft.com/kb/132996
______________________________________________________________________________

Windows DOS Box Tips

Also online:
http://www.mdgx.com/newtip23.htm#WDBT

All these tips aim to MAXimize the performance and reliability of DOS based
programs/games started from a Windows DOS box. This allows compatible native
DOS applications to execute from within the Windows protected mode GUI
environment in a confined (isolated) DOS box/session/window, by emulating a
DOS Virtual Machine (VM).
But keep in mind that unfortunately not all software originally written for
real DOS mode can run this way. :( Some require strict conventional, upper,
extended and/or expanded memory specs, and/or exclusive access to hardware
resources, like full screen VGA/SVGA/XVGA resolution, real time
audio/sound/music FM/wavetable/MIDI etc. Such programs/games need
native/real/true/pure MS-DOS mode, and eventually large amounts of usable RAM
to run properly: see all other topics in this file to learn how to customize
your system for providing MAXimum free memory in native MS-DOS.
It is also important to realize that certain older (EGA or even VGA, but
probably not some SVGA) DOS based apps/games may run OK from a Windows DOS
session, but usually slower than from native MS-DOS mode. :(
To avoid DOS box errors/lockups, sometimes the only way is to disable certain
program/game features, like: enhanced audio stereo/effects, SVGA/VESA video
modes (i.e. revert to 640x480 or even lower screen resolutions if available)
etc. You decide if the tradeoffs are worth giving up native MS-DOS mode.

CAUTION:
Windows 95/98/ME OSes support a maximum of 64 DOS boxes/sessions/windows open
at the same time:
http://www.geocities.com/budallen98_98/fatalexp.html#Fatal%20Exception%20Error
%20Using

FYI:
- DOSBox CPU, Video, Sound + Network DOS emulator allows to install + play old
DOS games on Windows PCs (free GPL):
http://www.mdgx.com/dos.htm#BOX
- ScummVM scripting/re-encoding tool + hardware emulator allows playing old
DOS games from within all Windows 32-bit + 64-bit OSes (free GPL):
http://www.scummvm.org/
More info:
http://en.wikipedia.org/wiki/ScummVM
- See "95/98/ME SETUP + MEMORY MANAGERS" in MYTIPS95.TXT (included):
http://www.mdgx.com/newtip20.htm#9SMM
- See "PLAY DOS GAMES WITH SOUND BLASTER LIVE!" in MYTIPS95.TXT (included):
http://www.mdgx.com/newtip18.htm#DGSBL
- Some of these DOS tools might help [free(ware)]:
http://www.mdgx.com/dos.htm
- MS-DOS Mode Configuration Wizard Customization Tool (DOSWZCFG.EXE) for
Windows 9x/ME, part of Microsoft Kernel Toys for Windows 95/OSR1/OSR2 [57 KB,
free, unsupported]:
http://web.archive.org/web/20070320222146/http://download.microsoft.com/download/c/
1/a/c1a2a8d9-e2e0-4b94-8e47-61583e71b837/W95KRNLTOYS.EXE
configures OS boot files: AUTOEXEC.BAT, CONFIG.SYS + MSDOS.SYS.

But let's see what you CAN do to speed up your DOS programs running from DOS
boxes and make sure they perform as error-free as possible: [good luck! :)]

- Turn on "Full-screen": right-click on your MS-DOS PIF shortcut ->


Properties -> Screen tab -> check the box.
Most (S)VGA programs/games NEED full screen to execute properly.
You can also press Alt-Enter simultaneously to toggle between a window and
full screen (temporary fix), or create a custom PIF (MS-DOS Program
Information File) shortcut for your particular program/game (permanent fix)
that needs to run full screen.
See "2 DOS OR NOT 2 DOS" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/last3.htm#DOS2DOS

- Turn on "Close on exit": right-click on your MS-DOS PIF shortcut ->


Properties -> Program tab -> check the box to return to the Windows GUI
automatically upon exiting the DOS session.
This setting is enabled by default ONLY in Windows ME PIF shortcuts!

- Turn off "Warn if still active": right-click on your MS-DOS PIF shortcut ->
Properties -> Misc tab -> uncheck the box to get rid of that annoying nagging
dialog window.
- Turn off "Fast ROM emulation": right-click on your MS-DOS PIF shortcut ->
Properties -> Screen tab -> uncheck the box.
This is necessary for (especially older, without hardware VESA support) video
controllers that do NOT emulate their VESA/VBE BIOS video modes properly into
Windows 32-bit protected mode drivers (VXDs).
If you own such a "crippled" video card, make sure to load a dedicated
VESA/VBE 2.0/3.0 driver/TSR (eventually from AUTOEXEC.BAT) PRIOR to starting
Windows GUI.
Most manufacturers/vendors of old VGA cards provide compliant VESA/VBE drivers
bundled with the hardware, also available for download (usually free of
charge) at their web/ftp sites.
See "SPEED-UP + BENCHMARK TOOLS" in SOFTWARE.TXT (included) for examples of
VESA/VBE drivers + tweaking tools:
http://www.mdgx.com/speed.htm#VGA

- Turn off "Dynamic memory allocation": right-click on your MS-DOS PIF


shortcut -> Properties -> Screen tab -> uncheck the box.
Do this if you experience frequent display jitter, sound crackles and/or
excesive hard disk thrashing with your DOS programs/games.
When enabled, this allows Windows to update in-game video display as needed,
by assigning system memory dynamically to the respective program, which may
cause poor performance.

- Turn up "Idle sensitivity" to maximum: right-click on your MS-DOS PIF


shortcut -> Properties -> Misc tab -> Idle sensitivity -> drag slider to High
(right end).
Do this if your DOS apps/games seem to slow down your Windows machine.
This decreases CPU cycles, memory resources and screen refresh frequency in
DOS programs that poll (check) the keyboard/mouse ports for signals (key
presses/clicks) too often.
In case your DOS apps/games seem to pause periodically turn down Idle
Sensitivity to minimum -> drag slider to Low (left end).

- Turn on "Prevent MS-DOS-based programs from detecting Windows" [use with


CAUTION!]: right-click on your MS-DOS PIF shortcut -> Properties -> Program
tab -> Advanced button -> check the box.
This may be necessary to "fool" certain "stubborn" programs/games that refuse
to run from within Windows (like Spectrum HoloByte STNG: A Final Unity) into
"thinking" they are running from real MS-DOS mode. ;-)

- Assign a fixed amount for each type of RAM to the PIF shortcuts, according
to your particular application's vendor guidelines: right-click on your MS-DOS
PIF shortcut -> Properties -> Memory tab -> here are 4 different kinds of
memory: "Conventional memory", "Expanded (EMS) memory", "Extended (XMS)
memory" and "MS-DOS protected-mode (DPMI) memory" -> scroll to the desired
"Total" value (NOT "Auto"!) for each of them -> click OK or hit Enter.
Turn on "Protected" mode: right-click on your MS-DOS PIF shortcut ->
Properties -> Memory tab -> look under "Conventional memory" -> check the box.
Certain DPMI games may crash Windows if this setting is NOT enabled!
ALL Windows "Total" defaults are set to "Auto", which may attract annoying
hard disk swapping and/or program/game slowdown/stutter.
It is recommended to enable ONLY the required memory type(s) and disable ALL
other(s) to achieve MAXimum performance.
Games known to need specific amounts of RAM for optimal operation:
* 3D Realms Duke Nukem 3D:
- EMS = None.
- XMS = 8192 KB (8 MB).
- DPMI = 8192 KB (8 MB).
* Activision MechWarrior 2:
- EMS = None.
- XMS = 8192 KB (8 MB).
* Bullfrog Magic Carpet + Magic Carpet II:
- EMS = None.
- XMS = 16384 KB (16 MB).
- DPMI = 16384 KB (16 MB).
* id Doom + Doom II:
- EMS = None.
- XMS = None.
- DPMI = 4096 KB (4 MB).
* id Quake:
- EMS = None.
- XMS = None.
- DPMI = 8192 KB (8 MB).
* Interplay Descent + Descent II:
- EMS = None.
- XMS = None.
- DPMI = 4096 KB (4 MB).
* Access Links 386:
- DPMI = 4096 KB (4 MB).
* Lucas Arts X-Wing + TIE Fighter:
- EMS = 4096 KB (4 MB).
- XMS = None.
* Lucas Arts Rebel Assault + Rebel Assault II:
- EMS = None.
- XMS = 8192 KB (8 MB).
- DPMI = 8192 KB (8 MB).
* Microprose Civilization:
- EMS = 4096 KB (4 MB).
- XMS = None.
* Trilobyte The 11th Hour:
- EMS = None.
- XMS = 16384 KB (16 MB).
- DPMI = 16384 KB (16 MB).
* Trilobyte The 7th Guest:
- EMS = None.
- XMS = 4096 KB (4 MB).

- Install/turn on your sound card DOS (i.e. Sound Blaster FM) emulation mode
(if any) in Windows 9x/ME, if your DOS programs/games require audio.
See "PLAY DOS GAMES WITH SOUND BLASTER LIVE!" in MYTIPS95.TXT (included) for
details:
http://www.mdgx.com/newtip18.htm#DGSBL

- Bypass automatic hardware detection for programs/games having problems


executing from within Win9x/ME, by specifying manually your particular
video/audio/joystick/etc properties in the game Setup. Such apps are NOT
compatible with the way Windows Virtual Memory Manager (VMM) implements I/O
virtualization.
Interplay Descent is known to have trouble detecting sound cards in a DOS box.

- Disable/remove unneeded DOS/Windows network drivers (i.e. Netware Client),


especially if NOT connected to a network, to avoid game stutter and/or lockups
in DOS boxes.
DPMI (DOS Protected Mode Interface) games using a DOS extender (CWSDPMI.EXE,
DOS32A.EXE or DOS4GW.EXE) are known to be affected: id Doom + Doom II,
Irrational Games System Shock, 3D Realms Duke Nukem 3D, Eidos Tomb Raider,
Lucas Arts Rebel Assault + Rebel Assault II.
DOS extenders (DPMI hosts):
http://www.mdgx.com/dos.htm#DPMI

- DOS software that require Virtual Control Program Interface (VCPI) services
MUST be run ONLY from native MS-DOS mode with an expanded memory manager (like
MS EMM386.EXE loaded from CONFIG.SYS), because VCPI relies on the EMM386.EXE
EMS/XMS sharing scheme, even if expanded (EMS) memory is turned off by the
EMM386.EXE "NOEMS" switch.
Unfortunately Windows 95/98/ME do NOT supply VCPI support for DOS apps!
Origin Strike Commander needs VCPI (implicitly native MS-DOS mode) to start.
In such cases it is necessary to turn on "Single DOS mode" in your MS-DOS PIF
shortcut.
See "EXIT TO DOS" in TIPS95.TXT (included) for details:
http://www.mdgx.com/newtip10.htm#EXIT2DOS
Note that Microsoft REMOVED this feature from Windows ME!
See "MS-DOS PROMPT" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/lastweek.htm#MSDOSPROMPT

- If your DOS programs/games need EMS (Expanded Memory Specifications) enabled


in a DOS box, make sure you do NOT load MS EMM386.EXE or ANY other 3rd party
enhanced memory manager, like McAfee (Helix) NetRoom RM386, Symantec
(Quarterdeck) QEMM386, Lineo (Caldera) DR-DOS EMM386, IBM (Qualitas) 386MAX,
Uwe Sieber UMBPCI, etc from your CONFIG.SYS.
You also need to remove or disable [remark with a semicolon (;) in front] ALL
these lines (if any) under the [386enh] section of your SYSTEM.INI [see
"SYSTEM.INI TWEAKS" in MYTIPS95.TXT (included) for more info]:
http://www.mdgx.com/lastweek.htm#SYSINI
found in %windir% (usually C:\WINDOWS) by opening it in Notepad/SysEdit
(example):

[386enh]
EMMExclude=B800-D3FF,F000-FFFF,A000-AFFF
EMMSize=0
NoEMMDriver=on

MUST keep the EMMExclude= line (but make sure it does NOT exclude the ENTIRE
UMA) because your video controller probably requires to use its own
properietary area(s) for proper operation. Example: the EMMExclude= line above
is OK. Then add this (similar) line (example):

EMMInclude=B000-B7FF,D400-EFFF

Available upper memory areas (UMAs) are displayed by running MSD [MicroSoft
Diagnostics tool = see MSD9X.TXT (included) for details] ONLY from native
MS-DOS: press M at main screen and scroll down to see black color coded
contiguous UMAs between addresses B000 - B7FF and D400 - EFFF (hex). These are
just examples, they may be different on your computer. Then add them on the
EMMInclude= line separated by commas (if more than 1).
Let Windows 9x/ME provide its own EMS management in DOS sessions: make sure it
is enabled: right-click on your MS-DOS PIF shortcut -> Properties -> Memory
tab -> "Expanded (EMS) memory" area should be Enabled.
See "BASIC *ESSENTIAL* MEMORY TIPS" further above for a list of DOS software
that needs EMS to operate.

A MUST for ALL Windows ME users running DOS based programs + games:
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 WinME DOS Patch:
http://www.mdgx.com/dos.htm#ME
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. :)

More info:
http://web.archive.org/web/20080501082722/http://thestarman.pcministry.com/DOS/DOSi
nWIN.html
______________________________________________________________________________

My CONFIG.SYS + AUTOEXEC.BAT Step by Step

Below are my Windows 95/98 [a.k.a. MS-DOS 7.xx] CONFIG.SYS + AUTOEXEC.BAT


command lines explained.
Most of these tips are ALSO VALID for my DOS6/Win31 startup files, also
included here: AUTOEXEC.DOS + CONFIG.DOS (renamed by the Win9x OS in a
dual-boot environment, when booting to DOS6), if not specified otherwise.
Notice also the multiple option menus used in my startup files, to be able to
boot with different configurations (using 5 memory managers in CONFIG.SYS +
CONFIG.DOS).
Open them with EDIT.COM, the MS-DOS default ASCII/text editor/viewer (located
in C:\WINDOWS\COMMAND), because Notepad (Windows default ASCII/text
editor/viewer) canNOT handle certain extended ASCII characters, like the ones
I used on the "SET PROMPT" and "SET WINPMT" lines in my CONFIG.SYS +
CONFIG.DOS.
See also these guides for multiple CONFIG.SYS + AUTOEXEC.BAT setups:
- Config Menu:
http://dos.rsvs.net/DOSPAGE/CONFMENU.HTM
- DOS multiple boot HOWTO:
http://web.archive.org/web/20070908035726rn_1/www.knowplace.org/pages/morgue/dos_mu
lti-config_booting_howto.php
- Multiple Configuration Config.sys & Autoexec.bat:
http://www.shiningstar.net/geek/html/multiconfig.html
- MS-DOS 6 Command Reference:
http://labmice.techtarget.com/articles/dos6cmd.htm

I. My CONFIG.SYS Lines Explained

My HIMEM.SYS command line in CONFIG.SYS:

DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q

/NUMHANDLES=128 represents the maximum number of Extended Memory Block (EMB)


handles that can be used simultaneously (has no influence in Windows). Allowed
values: 1 - 128. Default is 32. Each handle takes 6 Bytes of extended memory.

/TESTMEM:OFF loads HIMEM.SYS without taking a few extra seconds to test all
your system's extended memory [more RAM you have, longer the delay :)]. Most
modern Pentium class (and newer) computer BIOSes test the entire installed
memory at bootup anyway, making this HIMEM.SYS function obsolete.
See this MSKB troubleshooting article:
http://support.microsoft.com/kb/109845
/Q (QUIET) prevents the display of HIMEM.SYS loading status during bootup.
UNDOCUMENTED: See "HIMEM.SYS HIDDEN PARAMETERS" in SECRETS.TXT (included) for
details:
http://www.mdgx.com/secrets.htm#HIMEM

Windows ME users: HIMEM.SYS loads from IO.SYS, before CONFIG.SYS is processed,


therefore you MUST remove the HIMEM.SYS line from your CONFIG.SYS.
That's why HIRAM.EXE canNOT be used with WinME to load HIMEM.SYS high, if
using UMBPCI.SYS in your CONFIG.SYS.

NOTE: HIMEM.SYS and EMM386.EXE (or similar 3rd party) memory managers MUST be
loaded in CONFIG.SYS with the DEVICE command, before ANY OTHER DEVICE,
DEVICEHIGH, INSTALL, INSTALLHIGH, SHELL or SET lines! The CONFIG.SYS: DEVICE,
DEVICEHIGH, INSTALL, INSTALLHIGH, and the AUTOEXEC.BAT LOADHIGH (LH for short)
commands are internal MS-DOS commands built into the OS (IO.SYS and
COMMAND.COM).

My EMM386.EXE line in CONFIG.SYS:

DEVICE=C:\WINDOWS\EMM386.EXE I=D000-EFFF I=CA00-CBFF I=B000-B7FF M3 A=64 H=128


D=256 RAM AUTO NOTR

Microsoft's EMM386.EXE can address a maximum of 32 MB of expanded RAM in


native MS-DOS mode. But there are 3rd party memory managers (like QEMM386 from
Quarterdeck) which can provide up to 64 MB of expanded memory for DOS based
apps/games. All these "enhanced" memory managers use the computer's extended
memory to "simulate" expanded RAM (EMS).
See "Expanded Memory = EMS" in REGIONS.TXT (included) for more details.

These are my "generic" EMM386 lines (examples) which provide expanded memory,
and accommodate almost ANY system with a standard:

- Windows 95/98 setup:

DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF D=256 RAM AUTO

- MS-DOS 6.xx setup:

DEVICE=C:\DOS\EMM386.EXE I=B000-B7FF D=256 RAM AUTO

Change the path to EMM386.EXE if different on your PC.

Including and excluding addresses in upper memory (the "I=xxxx-yyyy" and


"X=xxxx-yyyy" switches) depends on your system CMOS, ROM, Option ROM, and
Video BIOS configuration and video card upper ROM memory addresses and can be
kinda tricky. Use them with EXTREME CAUTION! If not properly set, your
machine may lockup, or worse, experience data loss! You can see how these
regions of upper memory are set on your system, by running MSD from
native/real/true/pure MS-DOS prompt, and then pressing M (Memory stats
screen).
See MSD9X.TXT (included) for MSD.EXE details.
To visualize the upper ROM (Read Only Memory) regions (color coded in gray on
the MSD screen) occupied by the ROM/VGA/Video, CMOS + Extended BIOS memory
hardware configuration: click on "Utilities" from the MSD menu bar -> click
"Memory Browser".
Then write down the hex addresses occupied by your upper ROM memory, and
exclude them, using as many as necessary X=xxxx-yyyy switches on the
EMM386.EXE line in your CONFIG.SYS.
Example: Let's say that your "Option ROM" (one of the grayed areas in upper
memory on your MSD memory screen) exists at EC00-ED00. You will need to add
the X=EC00-ED00 parameter to your EMM386.EXE line to exclude those addresses
from EMM386.EXE's upper memory mapping, as follows:

DEVICE=C:\WINDOWS\EMM386.EXE X=EC00-ED00

The other method (which may work better on some systems) is to include the
regions above and below the grayed ROM area (using same example above):

DEVICE=C:\WINDOWS\EMM386.EXE I=EE00-EFFF I=E000-ECFF

A classical method to make more upper memory available to drivers/devices is


to add these switches:

DEVICE=C:\WINDOWS\EMM386.EXE X=C000-C7FF I=B000-B7FF

to the EMM386.EXE line.


C000-C7FF [32 KB] is usually reserved for the Video ROM BIOS.
NEVER add these addresses to your EMM386 line with an I=xxxx-yyyy switch!
The B000-B7FF area is used for text memory ONLY on black & white (monochrome)
CRT monitors, so it's SAFE to add it to your EMM386 line, unless you're still
using such an old monitor. :)
Newer PCI/AGP video adapters (3dfx, 3DLabs, ATI, Diamond, Matrox, NVidia,
PowerVR, S3 etc) use part of or the entire C800-CFFF [64 KB] UMA area for
Video ROM BIOS. Example: NVidia GeForce3/GeForce4 Video ROM is located at
C000-CE7F [58 KB].
3rd party/add-on/proprietary PCI/ISA ATAPI/(E)IDE/SCSI/RAID disk controllers
(Adaptec, HighPoint, Iomega, LSI, Promise, Qlogic, SIIG, Tekram etc) may
occupy a portion of or the entire area at D000-DFFF [64 KB] for their ROM
BIOS.
Example: HighPoint Technologies HPT2XX/3XX EIDE ATA/66/100/133 RAID adapters
reserve D000-D3FF [16 KB] as their ROM BIOS storage, when coupled with a new
generation VGA adapter (e.g. NVidia GeForce GPUs) using C000-CE7F.
By default the area at E000-EFFF [64 KB] is free, available to EMM386.EXE for
its EMS Page Frame [64 KB], and MUST be contiguous.
Part(s) of or the entire contiguous area at F000-FFFF [64 KB] is/are usually
assigned by the motherboard BIOS to Floppy Disk Controllers (FDC), internal
(E)IDE Hard Disk Controllers (HDC) and other hardware devices as ROM BIOS.
In such cases you need to exclude these ROM (read-only) upper memory
addresses from your EMM386.EXE CONFIG.SYS line. Examples:

DEVICE=C:\WINDOWS\EMM386.EXE X=C000-CFFF
DEVICE=C:\WINDOWS\EMM386.EXE X=D000-DFFF
DEVICE=C:\WINDOWS\EMM386.EXE X=F000-FFFF
DEVICE=C:\WINDOWS\EMM386.EXE X=C000-DFFF
DEVICE=C:\WINDOWS\EMM386.EXE X=F000-FFFF X=C000-CFFF

More info @ MSKB:


http://support.microsoft.com/kb/112816

The "M3" switch loads EMM386's page frame at the C800 upper memory address
(hex). On my system this leaves maximum contiguous Upper Memory Blocks (UMBs)
available for loading devices/drivers/TSRs "high".
You can also "tell" EMM386 to load its page frame at a particular upper
memory address by using the FRAME= switch (example):

DEVICE=C:\WINDOWS\EMM386.EXE FRAME=C800
Better, by forcing EMM386 to provide expanded memory without a page frame,
you can free a little extra low/upper RAM, but ONLY IF your DOS apps/games
run properly this way (example):

DEVICE=C:\WINDOWS\EMM386.EXE FRAME=NONE

I tested this with Microprose's Civilization and Lucas Arts' X-Wing, but
other (older) DOS programs may refuse to start WITHOUT a page frame, in
which case you need to enable it.

The "NOTR" switch is UNDOCUMENTED. Prevents EMM386 from detecting a Token


Ring Network Adapter, which detection may hang some machines. "NOTR" is NOT
enabled by default. You need to add it to EMM386.EXE's line yourself, if you
don't use a DOS based Network card, and suspect having problems loading
EMM386.EXE from CONFIG.SYS.
See also "EMM386.EXE HIDDEN PARAMETERS" in SECRETS.TXT (included):
http://www.mdgx.com/secrets.htm#EMM

TIP: Try to avoid the aggressive "HIGHSCAN" switch on your EMM386.EXE line!
It can be dangerous to your "health", as it may hang your machine at bootup!
Use the "RAM" and customized "I=xxxx-yyyy" switches instead, which do the
same job searching the Upper Memory Area (UMA) for unused UMBs (Upper Memory
Blocks).

The "D=256" switch allows for buffered I/O (In/Out) Direct Memory Access
(DMA), in KiloBytes (allowed: 16 - 256). Default is 32, which is NOT enough
in most cases, i.e. if you are using a sound card for DOS based programs.
Buffered DMA is required for ALL floppy/disk/IDE and ISA/PCI I/O operations.

The "A=64" switch specifies how many fast alternate register sets (for
multitasking) are allocated to EMM386 (allowed: 0 - 254). Default is 7.
Every alternate register set adds about 200 Bytes to EMM386's memory size.

The "H=128" switch specifies how many handles EMM386 can use (allowed:
2 - 255). Default is 64.

CAUTION:
Avoid using the EMM386.EXE "ALTBOOT" switch IF using ANY
SCSI/(U)DMA/ATAPI/(E)IDE/RAID add-in/3rd party/proprietary controllers! The
ROM addresses used by these adapters may CONFLICT with the memory address
used by the "ALTernative BOOT" routine, causing LOCKUPS!

FYI:
DOS based apps/games using VCPI (Virtual Control Program Interface) services
(i.e. Strike Commander) do NOT work from a Windows DOS box, because Windows
3.1x/95/98/ME DOS VM (Virtual Machine) does NOT provide VCPI support.
If you get an error message like:
"PROGRAM.EXE cannot communicate with the EMS Memory Manager"
you need to run such programs from native/real/true/pure MS-DOS mode
OUTSIDE Windows, with an EMS memory manager (like EMM386.EXE, QEMM386.SYS,
RM386.EXE etc) with VCPI enabled, loaded from your CONFIG.SYS.

TIP:
If EMM386.EXE loads from a CONFIG.SYS DEVICE line, ALL these parameters:
I=xxxx-yyyy, X=xxxx-yyyy, NOEMS, Mx, Pnnnn and FRAME take precedence over
these Windows 3.1x/95/98/ME SYSTEM.INI settings under the [386enh] section:
EMMInclude=xxxx-yyyy, EMMExclude=xxxx-yyyy and EMMPageFrame=xxxx.
To enable these EMS settings in Windows you need to remove these switches
from your CONFIG.SYS EMM386.EXE line, or REMark with a semicolon (;) the
entire EMM386.EXE DEVICE line, and then reboot.
See "SYSTEM.INI TWEAKS" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/lastweek.htm#SYSINI

It is useful to load drivers/devices/TSRs with the "DEVICEHIGH" command, to


gain more low (conventional) memory (RAM). A well known (but NOT efficient,
and BUGgy in most cases) method is to use MEMMAKER, provided with MS-DOS
6.xx and Win95/95a OSR1 [a.k.a. MS-DOS 7.00], but NOT with Win95B OSR2
[a.k.a. MS-DOS 7.10] or ANY other newer Windows releases, to gain more
memory.
Using MEMMAKER can be tricky, and usually does NOT yield expected results,
by NOT recognizing certain DOS drivers/devices/TSRs loaded in customized
CONFIG.SYS/AUTOEXEC.BAT files (never did the job for me). :(
Therefore I STRONGLY recommend the good ol' manual tweaking, changing the
order of loading the drivers/TSRs in your CONFIG.SYS + AUTOEXEC.BAT files
yourself (using the "DEVICEHIGH" and respectively "LOADHIGH", "LH" for short
commands) until you're satisfied with the amount of conventional memory
reported by the "MEM /C/P" command.

You can fiddle with the "/L:1", "/L:2", "/L:3" etc... switches to determine
your own best upper memory loading configuration. This example:

DEVICEHIGH /L:1=C:\WINDOWS\COMMAND\ANSI.SYS

loads the ANSI.SYS DOS CONsole driver in Upper Memory Area (UMA) region 1
(located on my system between B000 and B7FF hex addresses). You can use any
ANSI driver that supports extended keys (F1-F12) remapping.
I recommend Daniel Kegel's NANSI.SYS v4.0d MS-DOS ANSI CONsole driver
accelerator: fastest and most versatile replacement for Microsoft ANSI.SYS,
with built-in support for key reassignment [63 KB, free GPL]:
http://ericauer.cosmodata.virtuaserver.com.br/soft/by-others/nansi40d.zip
More info:
http://www.kegel.com/nansi/
NANSI.SYS (faster) takes only 3.2 KB of upper DOS memory IF loaded with
"DEVICEHIGH" in CONFIG.SYS, compared with Microsoft ANSI.SYS (slower) which
occupies 4.2 KB of RAM.
To find out what you can do with an ANSI driver loaded, see "F1-F12
Remapping = MS-DOS Mode + ANSI Driver" in DOSTIPS.TXT (included).

The order of loading the devices/drivers/TSRs in Upper Memory is of UTMOST


importance: larger FIRST, smaller LAST, in your:
- CONFIG.SYS, using the "DEVICEHIGH" command and
- AUTOEXEC.BAT, using the "LOADHIGH" command (abbreviated as "LH").

Example of such AUTOEXEC.BAT command line:

LOADHIGH /L:2=C:\MOUSE\MOUSE <YOUR_MOUSE_DRIVER_PARAMETERS>

This means that my MS-DOS mode MOUSE.COM driver loads in the 2nd upper
memory region, located between C800 and EFFF (hex addresses) on my system
(the upper memory regions are delimited by the extended/expanded memory
managers (EMM386.EXE), respectively the I=xxxx-yyyy and E=xxxx-yyyy
switches, when using the Microsoft HIMEM.SYS and EMM386.EXE "combo").
Example of EMM386.EXE line, to enable two upper memory regions in the Upper
Memory Area (UMA):

DEVICE=C:\WINDOWS\EMM386.EXE I=C800-EFFF I=B000-B7FF RAM M3 D=256 AUTO NOTR

In this case:
- the first upper memory area is called region 1, located at the B000-B7FF
hex addresses, enabled by the "I=B000-B7FF" EMM386.EXE switch above, and
- the second upper memory area is called region 2, located at the C800-EFFF
hex addresses, enabled by the "I=C800-EFFF" EMM386.EXE switch above.
These 2 upper memory regions are available for loading devices/drivers/TSRs
"high", using the CONFIG.SYS "DEVICEHIGH" and the AUTOEXEC.BAT "LOADHIGH"
(abbreviated to "LH") commands.

To display the upper memory regions chart on your system, run:


MSD
at the native/real/true/pure MS-DOS prompt, and then press M.
See MSD9X.TXT (included) for MSD.EXE details.

A MUST:
THE EMM386.EXE LINE MUST FOLLOW THE HIMEM.SYS LINE IN CONFIG.SYS!
ALL other "DEVICE", "DEVICEHIGH", "INSTALL" and "INSTALLHIGH" lines MUST
follow the HIMEM.SYS and EMM386.EXE commands in CONFIG.SYS!

I gave up on using the limited MS-DOS MemMaker utility (or the similar QEMM's
Optimize or NetRoom's Customiz tools for that matter) to gain more
conventional memory, in favor of manually tweaking my startup files. ;)
I modified the memory manager lines/parameters in CONFIG.SYS (and changed the
order of loadind devices/drivers in CONFIG.SYS + AUTOEXEC.BAT), BUT ONLY
AFTER reading ALL related documentation for each of the 5 memory managers I
have used: MicroSoft's HIMEM.SYS + EMM386.EXE, Quarterdeck's QEMM386.SYS,
Helix's NetRoom RM386.EXE, Lineo DR-DOS' EMM386.EXE, and Uwe Sieber's
UMBPCI.SYS, and then experimenting with all possible configurations (more
devices you load, more combinations you have to try).
This is a time consuming job, but rewarding, because I managed to make ALL
my DOS and Windows programs work with these final configurations found in my
startup files: CONFIG.SYS + AUTOEXEC.BAT (included):
http://www.mdgx.com/mem7.htm
Rewarding, because I have now 625 KB of free conventional memory, and enough
upper memory for Windows, with expanded memory enabled, in MS-DOS mode
(outside Windows), to run ANY DOS hungry program/game without EVER running
out of low DOS memory [that was an old obsession for any DOS user :)], or EVER
needing to reboot again, or using "custom setups" for different program
requirements.

SWITCHES=/F skips the 2 second delay before processing the startup files
(CONFIG.SYS + AUTOEXEC.BAT) during bootup, valid for MS-DOS
6.xx and Windows 9x/ME (a.k.a. MS-DOS 7.xx/8.00). This command
MUST be loaded from CONFIG.SYS as the FIRST line.

SWITCHES=/E:288 use this switch ONLY in Win95/98's CONFIG.SYS. Moves ONLY 288
Bytes of Extended BIOS (EBIOS) to the conventional memory
area. Valid values for /E: = 48 - 1024.
You may gain up to 1 KB of conventional RAM by using this
switch. In order to adapt the /E: switch to your system, a
little try-and-error is necessary. Increase the /E: value
starting with 64, in 16 Bytes increments at a time, and reboot
each time, until you get your best free low RAM result,
displayed by running "MEM /C/P" from native MS-DOS prompt,
outside Win95/98 GUI.

You can also use the plain /E parameter without any numbers for better
compatibility:

SWITCHES=/E /F
Use them both on the SAME line (you can have ONLY one SWITCHES line in your
CONFIG.SYS). Their order doesn't matter. Example:

SWITCHES=/E:288 /F

See "SWITCHES" in MYTIPS95.TXT (included) for more details:


http://www.mdgx.com/last4.htm#SWS

DOS=HIGH,UMB loads the DOS kernel high and provides UMBs (Upper Memory
Blocks) for loading DOS devices/drivers/TSRs in UMA (Upper
Memory Area).

Windows 9x/ME has added another useful switch: AUTO (or NOAUTO) to the "DOS="
line in CONFIG.SYS:

DOS=HIGH,UMB,NOAUTO
or:
DOS=HIGH,UMB,AUTO
or (multiple "DOS=" lines allowed):
DOS=HIGH
DOS=UMB
DOS=NOAUTO
DOS=AUTO

Win95/98/ME OS can move the FILES, STACKS, LASTDRIVE + FCBS to the upper
memory area (UMA), the 384 KB RAM region above the 640K low memory barrier.
The BUFFERS are moved to the High Memory Area (HMA), the first 64 KB of RAM
above the 1st MegaByte. These features are implemented in the Win9x OS and can
be achieved by adding these lines to the beginning of CONFIG.SYS.
The values below are ONLY my own examples, and you should change them to suit
your OWN needs:

DOS=HIGH,UMB,NOAUTO
BUFFERSHIGH=10,0
FILESHIGH=60
LASTDRIVEHIGH=H
FCBSHIGH=1,0
STACKSHIGH=0,0

Or go with the "conservative" version: [let the OS do the work for you :)]

DOS=HIGH,UMB,[AUTO]
BUFFERS=11,0
FILES=60
LASTDRIVE=H
FCBS=1,0
STACKS=0,0

The "AUTO" switch is not necessary [it's the default :)]. By using "AUTO" you
may free 256 - 512 Bytes of low memory opposite to using "DOS=NOAUTO" and the
"HIGH" switch added to each of the lines above: BUFFERS, STACKS, FILES, FCBS +
LASTDRIVE.

FCBS=x,y short for File Control BlockS [obsolete]. Use 1,0 (1 for x and
0 for y) to preserve memory (minimum allowed). Higher values
are needed only by older DOS programs. It is very probable
that you'll never need more than that. If the FCBS line is
absent from CONFIG.SYS, MS-DOS loads the default value of 4,0.
Newer programs use the "FILES" setting instead (see below).
Valid values for x = 1 - 255.

FILES=n where "n" MUST be at least 40 to have your Windows and CPU
intensive DOS apps/games "behave" properly (open multiple
files at the same time). If this line is not specified, the
default "FILES" are set to 30 (Win95/OSR2) or 60 (Win98/ME) at
bootup. Set "FILES" to at least 60 - 80 in your CONFIG.SYS to
play safe! Valid values for n = 8 - 255.

ADD-ON:
If using any DOS apps/games in DOS sessions within Windows, you can increase
the number of files available to programs running in DOS boxes by adding this
line under the [386enh] section of your SYSTEM.INI file, located in your
Windows directory:
PerVMFiles=60
See "SYSTEM.INI TWEAKS" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/lastweek.htm#SYSINI
Edit SYSTEM.INI with EDIT.COM in DOS or Notepad/Sysedit in Windows.

BUFFERS=n,m if you use ANY hard disk cache utility (SMARTDRV.EXE is


STRONGLY RECOMMENDED if you run ANY MS-DOS programs/games that
access your hard disk frequently): use SMARTDRV.EXE 5.0x to
cache ALL disk writes/reads in DOS mode. Avoid 3rd party disk
caches (Helix Cache Cloak, SpeedDisk, Norton Cache, HyperDisk,
QuickCache etc) that may crash your hard disk with Windows
3.1x/9x/ME, because of incompatibilities with 32-bit Fast Disk
Access (FBDA) used by Windows!
See "MS-DOS BUFFERS" in EMM386.TXT (included) for details.
The first number here (n) represents the number of disk
buffers. Its value must be between 1 and 99. Default is 30 (if
the BUFFERS line is not present) and occupies too much memory.
30 buffers are NOT needed, and canNOT fit entirely into the
HMA (High Memory Area) anyway.
The second number here (m) represents the number of buffers in
the secondary cache buffer. Its value must be between 0 and 8.
Default is 0 (secondary cache buffers disabled).
Secondary cache buffers are needed ONLY IF your hard disk is
not recognized or cached by SMARTDRV.
If using SCSI, older ESDI and/or large (E)IDE hard drives > 8
GB, you might want to add a secondary buffer number to the
BUFFERS= line, and also load SMARTDRV with "DOUBLE_BUFFER"
from CONFIG.SYS (example):
DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER
BUFFERS=10,6
See "DOUBLE BUFFER" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/newtip5.htm#DBLBUFF
Add a SMARTDRV line to your Win9x [MS-DOS 7.xx] AUTOEXEC.BAT,
ONLY IF using any real DOS mode programs/games that require
frequent file access and/or if working with large files in
native MS-DOS mode.
Doing so, it won't interfere with Windows disk operations!
If using ANY DOS disk cache, your best bet is:
BUFFERS=11,0
because this way all BUFFERS will fit into the HMA.
Each buffer takes 528 Bytes of memory.

STACKS=n,m where n = 8 - 64 (number of stacks) and m = 32 - 512 (stack


size in Bytes). If you are running older programs that rely on
DOS stacks, set STACKS= to at least 12,128 or 12,256.
Default is:
STACKS=9,256
set by the OS if you do NOT mention a STACKS= line in your
CONFIG.SYS.
DOS uses a maximum of 16 STACKS (and any number greater than
16 is a waste of memory anyway). Each stack can have a maximum
value of 512 Bytes, in 128 Bytes increments:
STACKS=16,512
Newer DOS + Windows 3.1x/9x/ME programs do NOT use DOS stacks!
Set:
STACKS=0,0
in your CONFIG.SYS to save conventional/upper RAM, ONLY IF you
are sure NONE of your programs use stack handling.
Your software documentation should tell you if you need to use
or increase the STACKS numbers.
NOTE: After Dark v3.0 (retail), a popular 16-bit screen saver
pack for Windows, needs a STACKS line in CONFIG.SYS. You may
get GPF (General Protection Fault) error messages if running
After Dark 3.0 with a STACKS=0,0 line in CONFIG.SYS. The newer
After Dark v4.0 32-bit for Win9x/ME corrected this issue.
Troubleshoot Windows 95/98 Internal Stack Overflow Errors:
http://support.microsoft.com/kb/145799

LASTDRIVE=n where "n" is the letter following your last logical


drive/partition in your computer, counting ALL your floppy,
hard, CD/DVD, removable, DblSpace, DrvSpace, Stacker or other
compressed drives, Network drives and RAM virtual drives (if
any). Valid values are from A to Z. Default is Z, which
represents the maximum number of logical drives/partitions on
any IBM compatible PC clone.
If you are not connected to a Network, set LASTDRIVE to show
the letter AFTER your LAST installed drive in your system, to
preserve memory (example):
LASTDRIVE=E
if you have 4 (uncompressed) drives installed (A, B, C + D):
3.5" floppy A, 5.25" floppy B, hard disk C and cd-rom D.
See "LASTDRIVE" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/lastweek.htm#LASTDRIVE

FYI:
- MSKB: All Windows 9x/ME [a.k.a. MS-DOS 7.xx/8.00] documented CONFIG.SYS
commands + parameters:
http://support.microsoft.com/kb/234853
- Use Notepad to read the CONFIG.TXT file in your Win9x/ME folder.
- MS-Dos7 Commands:
http://www.lagmonster.org/docs/DOS7/

Generic CONFIG.SYS line for your CD-ROM, CD-R(W), DVD-ROM, DVD-R(W), DVD-RAM
MS-DOS mode device driver:

DEVICEHIGH=C:\path\YOUR_CDROM_DRIVER.SYS /D:YOUR_CDROM_NAME

a. My 1st choice for (E)IDE/ATAPI/(U)ATA/(U)DMA CD/DVD DOS/MS-DOS native mode


16-bit "universal" [most compatible ;-)] driver is...
UIDE.SYS [130 KB, free, open source, unsupported]:
http://johnson.tmfc.net/dos/driver.html
Takes only 2.3 KB of upper DOS memory when loaded with DEVICEHIGH in
CONFIG.SYS. You need an upper memory manager in your CONFIG.SYS to provide
access to the UMA.
My UIDE.SYS line in CONFIG.SYS (example):

DEVICEHIGH /L:1=C:\CDROM\UIDE.SYS /D:MYCDROM

b. My 2nd choice for (E)IDE/ATAPI/(U)ATA/(U)DMA CD/DVD DOS/MS-DOS native mode


16-bit "universal" [most compatible ;-)] driver is...
VIDE-CDD.SYS v2.15 (+ OLDer v2.14 included inside ZIP below) by Acer with
documentation + support files [344 KB, free]:
http://www.mdgx.com/files/VIDE-CDD.ZIP
Takes 5 KB of upper DOS RAM if loaded with DEVICEHIGH in CONFIG.SYS (upper
memory manager required in CONFIG.SYS).
My VIDE-CDD.SYS line in CONFIG.SYS (example):

DEVICEHIGH /L:1=C:\CDROM\VIDE-CDD.SYS /D:MYCDROM

c. SCSI CD/DVD DOS/MS-DOS native mode typical drivers:

DEVICEHIGH=C:\path\ASPIDOS.SYS

and/or:

DEVICEHIGH=C:\path\ASPIHLP.SYS

and:

DEVICEHIGH=C:\path\ASPICD.SYS /D:MYCDROM

Note that all Windows 98/98 SE/ME releases can create bootable floppy
diskettes with CD/DVD support.
See "CD-ROM DRIVERS 4 DOS" in MYTIPS95.TXT (included) for more details on
CD/DVD DOS mode drivers and (in)compatibilities:
http://www.mdgx.com/newtip1.htm#CDROM4
See "FREE WinDOwS CD/DVD Drivers + Tools" in SOFTWARE.TXT (included) for
download links:
http://www.mdgx.com/drv.htm#CDR

You also NEED to load MSCDEX.EXE in your AUTOEXEC.BAT, for your CD/DVD drive
to be recognized by the system in native/real/true/pure MS-DOS mode.
Typical MSCDEX line:

LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX /D:YOUR_CDROM_NAME /M:xx /E

with EMM386 configured (in CONFIG.SYS) to provide expanded memory (EMM386's


"RAM" switch) to load the MSCDEX buffers in expanded memory ("/M:xx" switch),
using the MSCDEX "/E" parameter.
"/D:YOUR_CDROM_NAME" is the CD/DVD drive name and MUST be IDENTICAL with the
ONE on your CD/DVD device driver line in your CONFIG.SYS!
Example (using same name on the UIDE.SYS or ASPICD.SYS lines above):

LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX /D:MYCDROM /M:xx /E

NOTE: The CD-ROM drive name specified with the /D:XXXXXXXX switch on your
MSCDEX line may NOT exceed 11 characters (case insensitive), and you canNOT
use spaces or special/punctuation symbols!

The command line below loads Windows 3.1x/9x/ME 32-bit (Fast) Disk access
legacy support device driver (IFSHLP.SYS = Installable File System Helper),
MANDATORY for ALL Windows releases beginning with 3.0 (except NT, 2000, XP
and 2003), to enable compatibility with the underlying MS-DOS FAT system:

DEVICEHIGH /L:1=C:\WINDOWS\IFSHLP.SYS

You could use any other 3rd party (retail) memory manager on the market:
Symantec (Quarterdeck) QEMM 9.00/8.0x, McAfee (Helix) NetRoom 3.0x, Lineo
(Caldera) DR-DOS 7.0x, IBM (Qualitas) 386MAX 8.0x etc, with similar (or even
BETTER) results, but you are likely to provide LESS compatibility for your
DOS/Windows programs, than by using Microsoft's own (already included with
your OS) HIMEM + EMM386 "combo", especially if using some of the advanced
memory management tools provided by these pay-for utilities.
Try NOT to use ANY special 3rd party memory management features (i.e.
QEMM's "Stealth", or NetRoom's "VidCloak"/"SysCloak") that move the Video
ROM and/or the Extended ROM BIOS to upper/extended memory or above the 1st
Meg! Windows is not very "happy" about these "moves"! Certain DOS programs
are also "allergic" to these advanced "features" and your machine may lockup
unexpectedly!
I also urge you to use the MS-DOS internal "DEVICEHIGH" (in your CONFIG.SYS)
and "LOADHIGH" ("LH" for short in your AUTOEXEC.BAT) commands to load
devices, drivers and TSRs high, instead of the 3rd party memory managers'
external upper memory "loaders" (like QEMM's "LOADHI" or NetRoom's "XLOAD"),
to provide BETTER compatibility. Some of these "loaders" may interfere with
certain programs proper operation, thus leading to system crashes!

Example of Windows 9x version of SHELL command line in CONFIG.SYS:

SHELL=C:\COMMAND.COM C:\ /E:512 /L:128 /U:128 /P

provided you have a copy of COMMAND.COM in your boot drive's root folder
(C:\ is default).
See "2 DOS OR NOT 2 DOS" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/last3.htm#DOS2DOS
You can have the COMMAND.COM file anywhere on your local drives/partitions,
just mention its path on the SHELL= line in your CONFIG.SYS. Example:

SHELL=C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:512 /P

But BEWARE that certain (older) DOS programs expect to find the command
interpreter (COMMAND.COM) in C:\ root [default location], and may FAIL to work
properly if they don't!

If you don't specify an /E: switch value of 1024 or smaller, Win95/98 will set
it to 2048 by default, which is usually larger than needed by most, and that
will take a LOT of your valuable upper (and in some cases conventional) memory
space.

FYI:
You rarely need a SHELL environment size larger than 1024, and that may happen
only if using many and/or long SET <variable> environment lines in your BATch,
AUTOEXEC.BAT and/or CONFIG.SYS files. In such cases COMMAND.COM will display
this error message:
"Out of environment space"
and then abort.
How to fix "Out of environment space" errors:
- Windows 95/98:
http://support.microsoft.com/kb/230205
- Windows ME:
http://support.microsoft.com/kb/261825
If the SHELL line is NOT present in your CONFIG.SYS, Windows 95/98 loads its
GUI (Graphical User Interface) automatically after processing the CONFIG.SYS
+ AUTOEXEC.BAT files at bootup, and sets a default evironment size of 2048,
even if the line "BootGUI=0" is present in your MSDOS.SYS file under the
[Options] section.
The purpose of starting Win95/98 on demand (and NOT automatically right
after processing the startup files) is if you'd like to have a custom
Win9x startup, by starting Windows let's say from a DOS batch file, or from
AUTOEXEC.BAT (by adding WIN as the last line), after you eventually "play"
in native MS-DOS [SVGA DOS games anyone? :)], or/and if you use the dual-boot
feature implemented into the Win95/98 OS to boot into MS-DOS 6.xx.

* To load devices/drivers high, you can also use the CONFIG.SYS specific
INSTALLHIGH command, available ONLY in MS-DOS 6.xx and Windows 95/98/ME.
INSTALLHIGH is needed ONLY IF you have ANY drivers/TSRs that:
- have problems loading from AUTOEXEC.BAT (eventually using the LOADHIGH
command),
- or need to load earlier (or before other drivers/TSRs) in the boot sequence.
Example of such CONFIG.SYS line:

INSTALLHIGH=C:\MOUSE\MOUSE.COM <YOUR_MOUSE_DRIVER_PARAMETERS>

DISADVANTAGE: If using INSTALLHIGH you canNOT specify an upper memory region


by using the /L:x switches, as you can with DEVICEHIGH and LOADHIGH.
Therefore, a driver using INSTALLHIGH will always load into the largest
contiguous Upper Memory Block (UMB) available.
The INSTALLHIGH command is processed only AFTER all DEVICEHIGH and DEVICE
lines in CONFIG.SYS are executed.
When loading a driver/TSR with INSTALLHIGH in CONFIG.SYS, you need to specify
the COMPLETE path, file name AND file extension on the command line.

See also this memory guide for more info:


http://web.archive.org/web/20031204144758/http://www.knowplace.org/memory.html

II. My AUTOEXEC.BAT Lines Explained

* Lines you might need in your AUTOEXEC.BAT, valid for both Windows 9x
[a.k.a. MS-DOS 7.xx] and MS-DOS 6.xx + Windows/WfWG 3.1x:

LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX /D:MYCDROM /M:20 /E

/D:MYCDROM - is the CD/DVD drive name (up to 8 characters allowed, case


insensitive), and HAS TO BE EXACTLY THE SAME as the one specified on your
CONFIG.SYS CD/DVD driver line (see the CONFIG.SYS CD-ROM driver topic above).
/M:20 - gives MSCDEX 20 buffers to handle the CD-ROM cache (recommended:
16-24). If you don't specify this switch, the default is 8, which could be
too small for some DOS programs to read huge files from the CD, especially
on a slower CD-ROM drive, 4x speed and below.
/E - loads MSCDEX's buffers into expanded memory, provided you have a line
for "EMM386.EXE RAM" or similar 3rd party manager with EMS enabled in your
CONFIG.SYS. Example below shows an EMM386 CONFIG.SYS line with expanded
memory enabled for loading the MSCDEX buffers above the 1st MegaByte:

DEVICE=C:\WINDOWS\EMM386.EXE X=C000-C7FF I=B000-B7FF D=256 RAM AUTO

NOTE: Always use the most recent MSCDEX.EXE release: the newest is 2.25,
included with MS-DOS 7.xx/8.00 [a.k.a. Windows 9x/ME], very similar with the
not so old version 2.23, bundled with MS-DOS 6.xx.

MSCDEX.EXE takes 23 KB of conventional RAM if loaded without the LH command


and 2 KB per buffer unit above 4 (if loaded in upper memory). Use the /E
parameter with MSCDEX to load its buffers in expanded memory (enabled by
EMM386.EXE's "RAM" parameter in CONFIG.SYS), thus saving precious upper
memory.

Example of Smartdrv command line in AUTOEXEC.BAT:

SMARTDRV 2048 16 A+ C+ D /N

I presumed that A is your 3.5 inch floppy drive, C is your hard drive, and D
your CD/DVD drive. Change/add drive letters if different on your system.
Load Smartdrv ONLY AFTER the MSCDEX line, if you want your CD/DVD drive to be
cached in true MS-DOS mode!
Run:
SMARTDRV /?
from any DOS prompt to see all available Smartdrv parameters, and to learn
how to adapt it to your system.

A MUST: For more details on how to tailor the SMARTDRV line to your needs and
to master its little known parameters (/B:xxxxx and /E:xxxxx), see
"OUTSMART SMARTDRIVE" in MYTIPS95.TXT (included):
http://www.mdgx.com/newtip2.htm#OUTSMART

NOTE: If you run ANY DOS programs/games OUTSIDE Win95/98 (i.e. in "Command
prompt mode"), Smartdrv IS A MUST, customized to cache ALL read and write
disk operations on ALL your drives!

You can decrease Smartdrv's Windows size to a minimum of 16 KB (Microsoft


claims 128 KB is minimum, but 16 KB works great and saves a little more upper
memory), if you want Smartdrv to cache your drives in DOS mode, but NOT to
perform caching in Windows, and thus saving more memory for Windows
operation. Example:

SMARTDRV 2048 16 A+ C+ D /N

The first number represents Smartdrv's size in DOS mode, and the second
number represents Smartdrv's size in Windows. In this example Smartdrv is set
to cache ALL hard disk (drive C) reads and writes, including the floppy
(drive A) and the cd-rom (drive D).
WARNING:
Use the "N" switch with CAUTION: this allows returning to the command prompt
BEFORE ALL data is written back to disk from SMARTDRV's memory buffer (the
cache does NOT flush), which may generate data loss if the computer shuts off
unexpectedly!

FYI: If you don't use ANY DOS mode programs/games, DO NOT load Smartdrv,
because if properly configured Win9x/ME loads its own 32-bit disk cache!
Smartdrv only takes extra memory.
But if you find that besides having enough room in memory (preferably in
upper) to spare, Windows loads faster (as it does on my PC, since I'm
starting Windows from a huge DOS batch file) with Smartdrv loaded, then
ENABLE it in your AUTOEXEC.BAT.
My Windows startup batch file (W9X.BAT) is included here. You can view its
contents with Notepad.

SET MOUSE=C:\MOUSE
is required to read the MOUSE.INI parameters upon loading, by the majority of
DOS mouse drivers out there, by most DOS programs, and by most Windows
3.xx/9x virtual mouse drivers, too.

Use:

LOADHIGH=C:\MOUSE\MOUSE <YOUR_MOUSE_DRIVER_PARAMETERS>

to load your DOS mode mouse driver from AUTOEXEC.BAT. You need it with Win9x
ONLY IF you run ANY DOS programs/games that use a mouse OUTSIDE the Windows
GUI, in native MS-DOS (using the "Command prompt mode only" option from the
Startup Menu). This allows your DOS mouse driver to load the custom settings
from the MOUSE.INI initialization file located in the directory specified by
the "SET MOUSE=" line (C:\MOUSE in this case).
Change the DOS mouse driver's directory if different and adapt its parameters
to your own mouse driver/hardware specifications.
If you never use DOS programs outside Windows in real MS-DOS mode, remove
these lines pointing to your DOS mouse driver from your AUTOEXEC.BAT (or
CONFIG.SYS in some cases, if you use any MOUSE.SYS devices instead).
Example of .SYS mouse driver loaded from CONFIG.SYS:

DEVICEHIGH=C:\MOUSE\MOUSE.SYS <YOUR_MOUSE_DRIVER_PARAMETERS>

LogiTech Mouse drivers require this SET line (example) to point to the
location of MOUSEDRV.INI (LogiTech mouse initialization file):

SET LMOUSE=C:\MOUSE

instead of the default "SET MOUSE=" line. Add it to your AUTOEXEC.BAT if you
use LogiTech mouse drivers.

Microsoft DOS Mouse Drivers (MOUSE.COM, MSMOUSE.EXE or MOUSE.EXE) included


with MS-DOS, Windows 3.xx/9x and IntelliPoint Mice software use MSMOUSE.INI,
MOUSE.INI or MSINPUT.INI (depending on different mouse driver versions) as
initialization files, located by default in the MS Mouse directory, and don't
usually need a "SET MOUSE=" line. If you'd like to have MSINPUT.INI reside in
a different directory, add this line to your AUTOEXEC.BAT (example):

SET MSINPUT=C:\MOUSE

Mouse Drivers for WinDOwS (free):


http://www.mdgx.com/drv.htm#MOU
______________________________________________________________________________

Killer Replacements

I have replaced some of the default Microsoft drivers/devices/TSRs (included


with MS-DOS 6.xx and Windows 9x/ME) with 3rd party counterparts [most of which
are free(ware) if not specified otherwise], because I have found them to be
better, faster, more compatible alternatives and most importantly almost ALL
take less DOS memory, thus saving more conventional (low) RAM, by loading in
upper memory (UMA), using DEVICEHIGH (or INSTALLHIGH) in CONFIG.SYS or
LOADHIGH (LH for short) in AUTOEXEC.BAT.
An upper/extended/expanded memory manager like EMM386.EXE or UMBPCI.SYS (both
using HIMEM.SYS to map the UMA) is required in CONFIG.SYS. Here they are:

Microsoft DEFAULT Device/Driver/TSR: BEST 3rd Party Replacement/Add-on:


------------------------------------------------------------------------------
HIMEM.SYS v3.95 = High + extended DOS HIRAM.EXE v1.9 = DOS upper memory
memory manager: 1 KB of low DOS mem. mapper (freeware) using UMBPCI.SYS +
Does NOT provide upper DOS mem! HIMEM.SYS: NO DOS mem.
Loads HIMEM.SYS + UMBPCI.SYS in upper
memory!
HIMEMX.EXE v3.32 = improved high +
extended DOS memory manager.

EMM386.EXE v4.95 = Upper, extended + UMBPCI.SYS v3.85 = DOS upper memory


expanded DOS memory manager using provider (freeware) using HIMEM.SYS:
HIMEM.SYS: 4.2 KB of low DOS mem. 208 Bytes of low DOS mem.
Slower! Does NOT provide expanded DOS memory!
Takes more RAM! Faster!
Takes less RAM!
JEMM386.EXE v5.78 = improved upper,
extended + expanded DOS memory
manager.
Takes less RAM!

DOS CD/DVD driver = NOT provided! UIDE.SYS = Universal DOS CD/DVD


Win98/98 SE/ME are the ONLY Microsoft PIO/(E)IDE/(U)ATA/(U)DMA/SATA driver
OSes able to create bootup floppies (free GPL): 2.3 KB of upper DOS mem.
with 3rd party DOS CD/DVD drivers! Takes less RAM!
Take more RAM!

ANSI.SYS = DOS BIOS display NANSI.SYS v4.0d = DOS BIOS display


accelerator + key remapper: 4.2 KB accelerator + key remapper (free GPL):
of upper DOS mem. 3.2 KB of upper DOS mem.
Slower! Faster!
Takes more RAM! Takes less RAM!

RAMDRIVE.SYS = RAM Disk driver: 1 KB XMSDSK.EXE v1.9i = RAM Disk driver


of upper DOS mem, loads ONLY from (freeware): 688 Bytes of upper DOS
CONFIG.SYS, canNOT unload, shifts mem, loads/unloads from AUTOEXEC.BAT
drive letters. or native DOS prompt, does NOT shift
Max RAM drive limit: 32 MB. drive letters.
Takes more RAM! Max RAM drive limit: 2 GB.
Takes less RAM!

MSCDEX.EXE v2.25 = DOS CD-ROM SHSUCDX.COM r3-3 = DOS CD/DVD


Extensions: 16 KB of upper DOS mem Extensions (free): 6.5 KB of upper DOS
with expanded mem enabled by the mem with 1 CD/DVD drive.
EMM386.EXE "RAM" switch. Faster!
Slower! Takes less RAM!
Takes more RAM!

SMARTDRV.EXE v5.0x = DOS disk cache: CACHECLK.EXE v4.2 = Helix Software


8 - 40 KB of upper DOS mem. cloaked disk cache (part of Multimedia
Slower! Cloacking Package, retail): 3 KB of
Takes more RAM! upper DOS mem. Use with CAUTION!
Faster!
Takes less RAM!

(MS)MOUSE.COM(EXE) v6.xx - 11.xx = CTMOUSE.EXE v2.1 = Serial and PS/2 DOS


Serial and PS/2 DOS Mouse driver: mouse driver (free GPL): 3.3 KB of
16 - 52 KB of upper DOS mem. upper DOS mem.
Slower! Faster!
Takes more RAM! Takes less RAM!

DOSKEY.COM = DOS command line RECALL.COM v1.2c = DOS command line


recall/editor: 3.5 KB of upper DOS recall/editor (public domain): 2.5 KB
mem. of upper DOS mem.
Slower! Faster!
Takes more RAM! Takes less RAM!

MODE.COM = DOS keyboard accelerator: HYPERKEY.EXE v4.70 = DOS mode keyboard


no DOS mem. accelerator (no nag shareware): 2.8 KB
Slower! of upper DOS mem.
Faster!

DOS text mode video BIOS accelerator ZENO174.EXE v1.74 = DOS text mode
= NOT provided! video BIOS accelerator (public
domain): 1 KB of upper DOS mem.
Fast!

VESA/VBE/VGA drivers + tools:


http://www.mdgx.com/umb.htm#FAS
More VESA/VBE/VGA drivers + tools (SciTech UNIVBE, Free VBE/AF):
http://www.mdgx.com/speed.htm#VBE

IMPORTANT:
*READ* each program's provided documentation *FIRST* for proper usage!

... And here are my CONFIG.SYS + AUTOEXEC.BAT lines (ONLY AS EXAMPLES!) for
all devices, drivers + TSRs listed above, tested and used successfully ONLY on
my PCs (see "BASIC *ESSENTIAL* MEMORY TIPS" further above), using MY OWN
CUSTOM system SETTINGS: directory NAMES, CPU, ROM BIOS, Video BIOS,
motherboard chipset, hard disk controller BIOS etc.
CAUTION:
You NEED to adapt them to YOUR OWN system to make them work PROPERLY, and
BEWARE that some MAY NOT work with YOUR particular hardware/software/OS
"combo":

- UMBPCI.SYS v3.85, HIRAM.EXE v1.9 + HIMEM.SYS v3.95 in CONFIG.SYS to load


HIMEM.SYS in UMA [lines below MUST appear in this *EXACT* order!]:
DOS=HIGH,UMB
DEVICE=C:\MAX\UMBPCI.SYS
DEVICE=C:\MAX\HIRAM.EXE
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
NOTE: HIRAM.EXE canNOT be used with Windows ME [a.k.a. MS-DOS 8.00] because
HIMEM.SYS loads from IO.SYS, BEFORE CONFIG.SYS is processed!
If you dual-boot between Window 95/98/ME [a.k.a. MS-DOS 7.xx/8.00] and MS-DOS
6.xx [from 6.00 up to 6.22] + Windows/WfWG 3.1x it is STRONGLY RECOMMENDED to
use the newer HIMEM.SYS v3.95 bundled with Windows 9x/ME in BOTH your Win9x/ME
CONFIG.SYS [renamed to CONFIG.W40 by MS-DOS 6.xx] AND MS-DOS 6.xx CONFIG.SYS
[renamed to CONFIG.DOS by Win9x/ME] for improved compatibility!
UMBPCI.SYS + HIRAM.EXE Complete Guide + Downloads:
http://www.mdgx.com/umb.htm

- Jemm386.EXE + HimemX.EXE improved memory managers in CONFIG.SYS (free GPL):


http://www.japheth.de/Jemm.html
DEVICE=C:\DRIVERS\JEMMEX.EXE I=B000-B7FF A20 D=256 RAM VCPI XMSHANDLES=128
DEVICE=C:\DRIVERS\JLOAD.EXE C:\DRIVERS\XDMA32.DLL
DEVICE=C:\DRIVERS\JLOAD.EXE C:\DRIVERS\XCDROM32.DLL /D:MYCDROM
DEVICE=C:\DRIVERS\HIMEMX.EXE /NUMHANDLES=128 /TESTMEM:OFF
HimemX.EXE is a necessary HIMEM.SYS replacement for using Windows 98/98 SP1/98
SE/ME with > 1 GB of RAM:
http://www.msfn.org/board/index.php?showtopic=118097&st=1
Both work with UMBPCI.SYS (freeware):
http://www.mdgx.com/umb.htm

- UIDE.SYS "universal" CD/DVD native DOS/MS-DOS driver in CONFIG.SYS (using 2


CD/DVD drives):
DEVICEHIGH=C:\CDROM\UIDE.SYS /D:DVDROM /D:CDRW
or use VIDE-CDD.SYS "universal" CD/DVD native DOS/MS-DOS driver (using 2
CD/DVD drives):
DEVICEHIGH C:\CDROM\VIDE-CDD.SYS /D:DVDROM /D:CDRW
See "CD-ROM DRIVERS 4 DOS" in MYTIPS95.TXT (included) for more details:
http://www.mdgx.com/newtip1.htm#CDROM4
See "FREE WinDOwS CD/DVD Drivers + Tools" in SOFTWARE.TXT (included) for
download links:
http://www.mdgx.com/drv.htm#CDR

- NANSI.SYS v4.0d in CONFIG.SYS:


DEVICEHIGH=C:\MAX\NANSI.SYS /X
NANSI.SYS [63 KB, free GPL]:
http://ericauer.cosmodata.virtuaserver.com.br/soft/by-others/nansi40d.zip

- XMSDSK.EXE v1.9i creates here a 40 MB RAM disk (F) in extended (XMS) memory
(loads itself high if UMA is available) in CONFIG.SYS:
INSTALL=C:\MAX\XMSDSK.EXE 40960 F: /T /Y
or in AUTOEXEC.BAT:
C:\MAX\XMSDSK.EXE 40960 F: /T /Y
You MUST load XMSDSK.EXE BEFORE your CD-ROM Extensions driver (MSCDEX.EXE,
SHSUCDX.COM, NWCDEX.EXE etc) in CONFIG.SYS or AUTOEXEC.BAT to avoid CD/DVD
drive letters SHIFTING!
See "BROWSER CACHE IN MEMORY" in REGISTRY.TXT (included) for more details:
http://www.mdgx.com/newtip12.htm#CACHRAM
XMSDSK.EXE [74 KB, freeware]:
http://www.uwe-sieber.de/files/xmsdsk.zip
XMS/EMS RAMdisk v1.9i with installer/uninstaller for Windows 9x/ME [114 KB,
freeware]:
http://www.mdgx.com/files/RAMDRIVE.EXE

- SHSUCDX.COM r3-3 (using 2 CD/DVD drives) in CONFIG.SYS:


INSTALL=C:\CDROM\SHSUCDX.COM /D:MYCDROM,G,0,1 /D:MYCDROM,I,1,3 /Q+
or in AUTOEXEC.BAT:
C:\CDROM\SHSUCDX.COM /D:MYCDROM,G,0,1 /D:MYCDROM,I,1,3 /Q+
SHSUCDX.COM (same as Microsoft MSCDEX.EXE) REQUIRES a CD/DVD driver (like
UIDE.SYS above) ALREADY loaded in CONFIG.SYS.
SHSUCDX.COM [204 KB]:
http://adoxa.altervista.org/shsucdx/shcd3-3.zip

- CACHECLK.EXE v4.2 in AUTOEXEC.BAT requires one of these Helix drivers to


load FIRST:
* CLOAKING.EXE v1.02 in AUTOEXEC.BAT:
LOADHIGH=C:\HELIX\CLOAKING.EXE
or in CONFIG.SYS:
INSTALLHIGH=C:\HELIX\CLOAKING.EXE
* or NetRoom RM386.EXE memory manager in CONFIG.SYS:
DEVICE=C:\HELIX\RM386.EXE X=F000-FFFF I=B000-B7FF AUTO H=128 NMION NOC NOPS2 NOT
NOTR Q
CACHECLK.EXE is set here NOT to cache ANY drives, but I use it in combination
with Microsoft SMARTDRV.EXE in my AUTOEXEC.BAT (which loads itself high if UMA
is available), in this EXACT order in AUTOEXEC.BAT:
LOADHIGH=C:\HELIX\CACHECLK.EXE EX=1 EX=2 EX=3 EX=4 NOCD NOWF NOF K=1 WB=1
SMARTDRV.EXE 8192 16 A+ B- C+ D E /N /B:8192 /E:32768
or in CONFIG.SYS:
INSTALLHIGH=C:\HELIX\CACHECLK.EXE EX=1 EX=2 EX=3 EX=4 NOCD NOWF NOF K=1 WB=1
INSTALL=C:\WINDOWS\SMARTDRV.EXE 8192 16 A+ B- C+ D E /N /B:8192 /E:32768
to BOOST cached disk transfer for ALL installed drives.
CAUTION: CACHECLK.EXE may cause disk errors or lockups on some older PCs!
CACHECLK.EXE, CLOAKING.EXE + RM386.EXE [200 KB]:
http://www.mdgx.com/files/CDX.ZIP

- CTMOUSE.EXE v2.1 (loads itself high if UMA enabled) in CONFIG.SYS:


INSTALL=C:\MAX\CTMOUSE.EXE /R44
or in AUTOEXEC.BAT:
C:\MAX\CTMOUSE.EXE /R44
CTMOUSE.EXE (free GPL):
http://cutemouse.sourceforge.net/

- RECALL.COM v1.2c in CONFIG.SYS:


INSTALLHIGH=C:\MAX\RECALL.COM -I
or in AUTOEXEC.BAT:
LOADHIGH=C:\MAX\RECALL.COM -I
RECALL.COM [37 KB, public domain]:
http://www.tifaware.com/zips/recall12.zip

- HYPERKEY.EXE v4.70 (loads itself high with the "XS" switch if UMA enabled)
in CONFIG.SYS:
INSTALL=C:\MAX\HYPERKEY.EXE XS A:+ C:1 C:- CR:- D:300 H:127 KW:- L:1 P:30 R:30 W:+
OK:- OX:+
or in AUTOEXEC.BAT:
C:\MAX\HYPERKEY.EXE XS A:+ C:1 C:- CR:- D:300 H:127 KW:- L:1 P:30 R:30 W:+ OK:- OX:
+
in combination with Microsoft MODE.COM (uses NO memory) in AUTOEXEC.BAT:
MODE.COM CON: RATE=32 DELAY=1
for FASTEST keyboard response in ALL DOS modes.
HYPERKEY.EXE [15 KB, no nag shareware]:
http://www.mdgx.com/files/HYPRKEY.ZIP

- ZENO174.EXE v1.74 in CONFIG.SYS (takes less memory):


DEVICEHIGH=C:\MAX\ZENO174.EXE /Q
or in AUTOEXEC.BAT (takes more memory):
LOADHIGH=C:\MAX\ZENO174.EXE /Q
ZENO174.EXE [43 KB, public domain]:
http://www.mdgx.com/files/ZENO174.ZIP
______________________________________________________________________________

Notes + Wrap-Up

* My Windows 98 SE [a.k.a. MS-DOS 7.10] CONFIG.SYS + AUTOEXEC.BAT files, with


EVERYTHING loaded high, give me 625 KB of FREE low (conventional) memory (RAM)
and at least 23 KB of FREE upper memory (UMA), using Microsoft's HIMEM.SYS +
EMM386.EXE memory managers.
This is ENOUGH to run ANY "memory hungry" DOS program/game in
native/real/true/pure MS-DOS mode, OUTSIDE Windows 95/98 GUI!
* ALWAYS make sure to allocate ALL your computer's memory (RAM) as expanded or
extended, IF using EMM386.EXE:
- the "RAM" switch to provide expanded memory (EMS) combined with "AUTO" to
provide also extended memory upon demand or:
- the "NOEMS" switch to provide ONLY extended memory (XMS).
Do NOT use "NOEMS" on your EMM386.EXE line in CONFIG.SYS IF your DOS based
programs/games need EXPANDED MEMORY!

* If your DOS TSRs/drivers/devices are loaded "high" in your CONFIG.SYS (with


DEVICEHIGH) and AUTOEXEC.BAT (with LH), and have in native MS-DOS before
launching Windows, less than 16 KB of free upper RAM (the first 384 KB of
memory above the 640 KB boundary), make sure to remove the following line,
remark it with a semicolon (;), or change its numeric value to 0, under the
[386enh] section of your SYSTEM.INI file, located in your Windows directory:
LocalLoadHigh=0
If this line has a value of 1, you won't be able to start Windows with less
than 16 KB of free upper memory on some systems, depending on your Video card
and/or BIOS ROM upper memory address locations!
This applies to Windows/WfWG 3.1x (386 enhanced mode ONLY) AND Windows 9x/ME.
See "LOCALLOADHIGH" in MYTIPS95.TXT (included) for more details.

* In case not using a really old computer (486DX or even older) there is a
good chance you won't need SETVER.EXE loaded from your CONFIG.SYS.
ONLY IF you determined you do NOT need SETVER.EXE: you're NOT using ANY older
IBM or ANY other 3rd party ESDI/IDE/ATA hard disk drivers, older 3rd party
disk compression tools (other than Microsoft DblSpace/DrvSpace), or ANY older
DOS Network drivers, delete (BUT BACKUP FIRST!) the SETVER.EXE file from your
Windows folder (C:\WINDOWS is default location), and REMark with a semicolon
(;) this CONFIG.SYS line (example):
; DEVICE=C:\WINDOWS\SETVER.EXE
If you'll need it later on, you can always extract the file SETVER.EXE from
your Windows 9x Setup CD-ROM (drive D used below) or floppies (usually drive
A) to your Windows folder, by running (example):
- Win95/OSR1/OSR2 CD-ROM:
EXTRACT D:\WIN95\WIN95_09.CAB %winbootdir%\SETVER.EXE
- Win98/98 SP1/98 SE CD-ROM:
EXTRACT D:\WIN98\WIN98_42.CAB %winbootdir%\SETVER.EXE
and then reenable its CONFIG.SYS line, by removing the preceding semicolon
(example):
DEVICE=C:\WINDOWS\SETVER.EXE
These operations must be performed from native/real/true/pure MS-DOS mode
outside Windows GUI.
More info @ MS TechNet:
http://technet.microsoft.com/library/bb490782.aspx

* NetRoom (Helix) or QEMM (Quarterdeck) users NEED to add/modify the following


lines into your SYSTEM.INI file (found in your Windows folder), under the
[386enh] section, to enable Windows to load properly with NetRoom or QEMM
memory managers' special features enabled in your CONFIG.SYS:

SystemROMBreakPoint=false ONLY IF Stealth (QEMM) or VidCloak/SysCloak


(NetRoom) are enabled!

EMMExclude=A000-FFFF With ANY QEMM/NetRoom configuration!

DualDisplay=ON With ANY QEMM/NetRoom configuration!

The line "SystemROMBreakPoint=false" above is needed ONLY IF you use QEMM's


Stealth or NetRoom's VidCloak/SysCloak relocation features of moving the
Extended BIOS and/or Video BIOS areas to the upper/extended memory, and ONLY
IF using QEMM 8.0x or older (QEMM386.SYS) or NetRoom 3.0x (RM386.EXE).
A MUST: Owners of QEMM v7.5 (or older) who use Win95/98 MUST disable QEMM's
DOS-UP feature to properly boot into Windows!
See "95/98/ME SETUP + MEMORY MANAGERS" in MYTIPS95.TXT (included) for more
details:
http://www.mdgx.com/newtip20.htm#9SMM
Edit SYSTEM.INI with Notepad or Sysedit, and make your changes ONLY AFTER
BACKING IT UP! Restart Windows so your changes can take effect.
For more helpful SYSTEM.INI settings see "SYSTEM.INI TWEAKS" in MYTIPS95.TXT
(included):
http://www.mdgx.com/lastweek.htm#SYSINI
Get NetRoom 3.04 [200 KB, last release, discontinued!]:
http://www.mdgx.com/files/CDX.ZIP
More NetRoom files:
http://vogons.zetafleet.com/viewtopic.php?t=17385

* Quarterdeck QEMM386.SYS 6.xx/7.xx/8.0x memory manager owners = upgrade to


QEMM 97 v9.0 [4.8 MB, last release, discontinued!]:
ftp://ftp.oldskool.org/pub/misc/Software/DESQ/qemm97.zip
QEMM 97 9.0, Patches + Tools:
http://www.chsoft.com/dv.html

* CAUTION: If using Helix Multimedia Cloaking Package CACHECLK.EXE disk cache


with Windows 9x/ME OS:
- It won't load and will prompt you to remove the Cacheclk line from
AUTOEXEC.BAT!
- It will start, but in MS-DOS 16-bit compatibility mode, Windows canNOT load
its own 32-bit protected mode disk drivers (VXDs), and you will experience
decreased drive performance!
- You may be able to use CACHECLK safely with Win9x/ME, but ONLY IF you add
its name under the IOS.INI [SafeList] section:

[SafeList]
cacheclk.exe ; Helix Cloaked Disk Cache

Text after the semicolon (;) is ignored and used for comments.
IOS.INI is a text file located in your Win9x/ME folder, you can edit with
Notepad in Windows or EDIT.COM in DOS.
See "IOS.INI TWEAKS" in MYTIPS95.TXT (included) for details!
Get Helix Multimedia Cloaking [200 KB, last release, discontinued!]:
http://www.mdgx.com/files/CDX.ZIP

* NetRoom manager uses a proprietary technology called Cloaking, to let other


Helix Software drivers (MSCDEX.EXE, MOUSE.EXE, CACHECLK.EXE included with
Multimedia Cloaking Package) load in 32-bit protected mode in extended memory.
Some Helix Cloaked devices (like Cacheclk) are not compatible with Windows or
with some of the DOS games that use the DOS Extender technology (CWSDPMI.EXE,
DOS32A.EXE or DOS4GW.EXE):
http://www.mdgx.com/dos.htm#DPMI
to load and use the extended memory on your system at full extent (another
32-bit protected mode approach). A DOS game that is not compatible with ANY of
the Helix memory management tools is Dragon Lore CD-ROM. It works ONLY with
Microsoft's EMM386.EXE memory manager, according to their tech support!
Get Helix Multimedia Cloaking [200 KB, last release, discontinued!]:
http://www.mdgx.com/files/CDX.ZIP
MSCDEX.EXE uses 1 KB of upper DOS RAM and 16-48 KB of extended RAM (depending
on the number of /M:XX buffers) if CLOAKING.EXE loads FIRST with LOADHIGH in
AUTOEXEC.BAT (upper memory manager required in CONFIG.SYS). Example:
LOADHIGH=C:\HELIX\CLOAKING.EXE
LOADHIGH=C:\HELIX\MSCDEX.EXE /D:MYCDROM /M:20 /B
Get NetRoom 3.04 [200 KB, last release, discontinued!]:
http://www.mdgx.com/files/CDX.ZIP
More NetRoom files:
http://vogons.zetafleet.com/viewtopic.php?t=17385

* Norton AntiVirus (NAV) 2.xx/3.xx/4.xx/5.xx, Norton Utilities (the Emergency


Tools), Norton SystemWorks 1.xx/2.xx/2000/2001, Lotus Notes 1-2-3 and other
programs + games using a DOS extender (DPMI host: CWSDPMI.EXE, DOS32A.EXE or
DOS4GW.EXE):
http://www.mdgx.com/dos.htm#DPMI
may generate: Error 35, Registry errors, A20 Handler Error, "HIMEM.SYS is
missing" and/or "Unable to control A20 line" errors etc after being installed
in Windows 95/98/ME, IF this command does NOT exist at the top of your
AUTOEXEC.BAT file:
SET DOS16M=2
BEFORE the:
C:\PROGRA~1\NORTON~1\NAVBOOT.EXE /STARTUP
or:
C:\PROGRA~1\NORTON~1\NAVDX.EXE /STARTUP
line (default install directories used here).
More info @ MSKB:
http://support.microsoft.com/kb/77850
In some cases you also need to add the /M:1 (machine type 1 = generic IBM PC
clone) switch to your CONFIG.SYS HIMEM.SYS line (example):
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF /M:1
More info @ TechWeb:
http://www.tekweb.dk/manuals/command/commands/H/HIMEMSYS.HTM

* I primarily use Cute Mouse v2.1 16-bit Mouse Driver for DOS, which works
with all Microsoft, LogiTech, Mouse Systems and compatible serial + PS/2
mice/trackballs [50 KB, free GPL]:
http://cutemouse.sourceforge.net/
mostly for speed, as this is the FASTEST DOS mouse driver available!
CTMOUSE.EXE uses only 3.3 KB of upper DOS RAM (upper memory manager required
in CONFIG.SYS).
The AUTOEXEC.BAT LOADHIGH command (LH for short) is not needed, because
CTMOUSE loads itself "high". Example:
C:\MAX\CTMOUSE.EXE /R44

* I also use LogiTech/Helix MouseWare Cloaked Mouse Driver for DOS, which
works with most LogiTech, Microsoft and compatible serial + PS/2
mice/trackballs [free]:
- MOUSE.EXE v8.50 [200 KB]:
http://www.mdgx.com/files/CDX.ZIP
also part of LogiTech MouseWare v9.73 [4.96 MB]:
http://www.logitech.com/pub/techsupport/mouse/mw9731enu.exe
- CLOAKING.EXE v1.02 [200 KB]:
http://www.mdgx.com/files/CDX.ZIP
MOUSE.EXE uses 1 KB of upper DOS RAM and 54 KB of extended RAM ONLY IF
CLOAKING.EXE loads FIRST with LOADHIGH in AUTOEXEC.BAT (upper memory manager
required in CONFIG.SYS). Example:
LOADHIGH=C:\HELIX\CLOAKING.EXE
LOADHIGH=C:\MAX\MOUSE.EXE AHIGH S04
WARNING: MOUSE.EXE may generate conflicts/errors with certain Windows
3.1x/9x/ME setups!
IMPORTANT:
For details about using your 3rd party memory manager with MS-DOS 5/6/7/8 + MS
Windows 3.xx/9x/ME *READ* the provided documentation: HIMEM, UMBPCI, HIRAM,
EMM386, QEMM, RM386, 386MAX, BlueMax, CEMM etc!
See "95/98/ME SETUP + MEMORY MANAGERS" in MYTIPS95.TXT (included) for details:
http://www.mdgx.com/newtip20.htm#9SMM

FYI: With all TSRs/devices/drivers loaded in upper memory you may be able to
"squeeze" a MAXimum of 625-629 KB FREE conventional memory in native MS-DOS
mode outside Windows, without using ANY 3rd party memory management special
features. You'll NEVER need more than 620 KB of free "low" RAM to run ANY DOS
program/game created in the past few years anyway. ;)

Have fun.
______________________________________________________________________________

Reference: Memory Management Terms + System Files @ Wikipedia

* Memory Management terms + system files detailed @ Wikipedia:


http://www.mdgx.com/mem7.htm#WKL
- Binary System:
http://en.wikipedia.org/wiki/Binary_numeral_system
- Hexadecimal System:
http://en.wikipedia.org/wiki/Hexadecimal
- Computer Memory:
http://en.wikipedia.org/wiki/Computer_memory
- Memory Management:
http://en.wikipedia.org/wiki/Memory_management
- DOS Memory Management:
http://en.wikipedia.org/wiki/DOS_memory_management
- Random Access Memory (RAM):
http://en.wikipedia.org/wiki/Random-access_memory
- Dynamic Random Access Memory (DRAM):
http://en.wikipedia.org/wiki/Dynamic_random-access_memory
- Static Random Access Memory (SRAM):
http://en.wikipedia.org/wiki/Static_random-access_memory
- Read Only Memory (ROM):
http://en.wikipedia.org/wiki/Read-only_memory
- Volatile Memory:
http://en.wikipedia.org/wiki/Volatile_memory
- Non Volatile Memory:
http://en.wikipedia.org/wiki/Non-volatile_memory
- Memory Address:
http://en.wikipedia.org/wiki/Memory_address
- Memory Segmentation:
http://en.wikipedia.org/wiki/Memory_segmentation
- X86 Memory Segmentation:
http://en.wikipedia.org/wiki/X86_memory_segmentation
- Conventional Memory Area (CMA):
http://en.wikipedia.org/wiki/Conventional_memory
- High Memory Area (HMA):
http://en.wikipedia.org/wiki/High_memory_area
- Upper Memory Area (UMA):
http://en.wikipedia.org/wiki/Upper_memory_area
- Extended Memory Specification (XMS):
http://en.wikipedia.org/wiki/Extended_memory
- Expanded Memory Specification (EMS):
http://en.wikipedia.org/wiki/Expanded_memory
- Memory Mapped I/O (MMIO):
http://en.wikipedia.org/wiki/Memory-mapped_I/O
- Terminate and Stay Resident (TSR):
http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident
- DOS Protected Mode Interface (DPMI):
http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface
- DOS Extender:
http://en.wikipedia.org/wiki/DOS_extender
- Virtual Control Program Interface (VCPI):
http://en.wikipedia.org/wiki/Virtual_Control_Program_Interface
- Physical addressing Mode:
http://en.wikipedia.org/wiki/Physical_address
- Real addressing Mode:
http://en.wikipedia.org/wiki/Real_mode
- Unreal addressing Mode:
http://en.wikipedia.org/wiki/Unreal_mode
- Memory Protection:
http://en.wikipedia.org/wiki/Memory_protection
- Protected addressing Mode:
http://en.wikipedia.org/wiki/Protected_mode
- Memory Virtualization:
http://en.wikipedia.org/wiki/Memory_virtualization
- Virtual 8086 addressing Mode (V86M or VM86):
http://en.wikipedia.org/wiki/Virtual_8086_mode
- Virtual DOS Machine (VDM):
http://en.wikipedia.org/wiki/Virtual_DOS_machine
- Virtual Memory:
http://en.wikipedia.org/wiki/Virtual_memory
- Computer Memory Page:
http://en.wikipedia.org/wiki/Page_%28computer_memory%29
- Paging:
http://en.wikipedia.org/wiki/Paging
- Page Table:
http://en.wikipedia.org/wiki/Page_table
- Dynamic Memory Allocation (DMA):
http://en.wikipedia.org/wiki/Dynamic_memory_allocation
- RAM Disk:
http://en.wikipedia.org/wiki/RAM_disk
- CPU Cache:
http://en.wikipedia.org/wiki/CPU_cache
- Page Cache:
http://en.wikipedia.org/wiki/Page_cache
- Computer Multitasking:
http://en.wikipedia.org/wiki/Computer_multitasking
- Computer Multithreading:
http://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29
- X86 CPU Architecture:
http://en.wikipedia.org/wiki/X86
- X64 CPU Architecture:
http://en.wikipedia.org/wiki/X86-64
- Operating System (OS):
http://en.wikipedia.org/wiki/Operating_system
- Disk Operating System (DOS):
http://en.wikipedia.org/wiki/DOS
- MS-DOS:
http://en.wikipedia.org/wiki/MS-DOS
- MS Windows:
http://en.wikipedia.org/wiki/Microsoft_Windows
- IO.SYS:
http://en.wikipedia.org/wiki/IO.SYS
- MSDOS.SYS:
http://en.wikipedia.org/wiki/MSDOS.SYS
- AUTOEXEC.BAT:
http://en.wikipedia.org/wiki/AUTOEXEC.BAT
- CONFIG.SYS:
http://en.wikipedia.org/wiki/CONFIG.SYS
- COMMAND.COM:
http://en.wikipedia.org/wiki/COMMAND.COM
- Command Line Interface (CLI):
http://en.wikipedia.org/wiki/Command-line_interface
- Environment Variable:
http://en.wikipedia.org/wiki/Environment_variable
- SYSTEM.INI:
http://en.wikipedia.org/wiki/SYSTEM.INI
- WIN.INI:
http://en.wikipedia.org/wiki/WIN.INI
______________________________________________________________________________
������������������������������������������������������������������������������

Вам также может понравиться