home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 24 DOS / 24-DOS.zip / doswitip.zip / MEMORY.TXT < prev    next >
Text File  |  2002-05-07  |  71KB  |  1,480 lines

  1.                AXCEL216's MAX Speeed
  2.     MS-DOS 6.xx + Windows/WfWG 3.1x Memory Management Guidelines
  3.     Take control of your Windows/WfWG 3.1x machine at DOS level!
  4.         ... And Boost Your DOS Memory to the MAX!
  5.  
  6.  
  7.  
  8.  
  9. WARNING: FIRST BACKUP ALL YOUR HARD DRIVES TO A SAFE LOCATION BEFORE
  10.      ATTEMPTING TO MAKE ANY SYSTEM CHANGES!
  11.      Take EXTREME CAUTION when modifying your System settings! Faulty
  12.      changes may result in computer crashes/lockups/permanent data loss,
  13.      or might lead to having you REINSTALL the ENTIRE Operating System(s)!
  14.      YOU are the ONLY one responsible for ANY changes YOU make!
  15.      ALWAYS HAVE YOUR MOST RECENT SYSTEM BACKUP READY!
  16.  
  17. NOTES:    - For memory management guide + optimization tips *READ* REGIONS.TXT
  18.     (included).
  19.     - For DOS + Windows extended + expanded memory managers technical
  20.     details see EMM386.TXT (included).
  21.     - For abbreviations + terms explanations see GLOSSARY.TXT (included).
  22.     - For Microsoft EMM386.EXE + HIMEM.SYS undocumented parameters see
  23.     related topics in SECRETS.TXT (included).
  24.  
  25. FYI:    Other web pages guidelines linked here do not necessarily reflect the
  26.     opinion of the author of these files.
  27.  
  28. Please send me your comments, corrections, tips at:
  29. axcel216@aol.com
  30.  
  31. My DOS6 MEMory Specs are also available at:
  32. http://members.aol.com/axcel216/mem6.htm
  33.  
  34. MUST HAVE [99.99% FREE(ware)] from SOFTWARE.TXT (included):
  35. - MS-DOS 5.00 - 8.00 ESSENTIALS:
  36. http://members.aol.com/axcel216/dos.htm
  37. - Speeed-Up + BenchMark Tools:
  38. http://members.aol.com/axcel216/speed.htm
  39.  
  40.  
  41. MEMORY.TXT Contents:
  42.  
  43.  
  44. Intro
  45. BASIC *ESSENTIAL* MEMORY TIPS
  46. My CONFIG.SYS + AUTOEXEC.BAT Step by Step:
  47.     I.  My CONFIG.SYS Lines Explained
  48.     II. My AUTOEXEC.BAT Lines Explained
  49. Killer Replacements
  50. Notes + Wrap-Up
  51. ______________________________________________________________________________
  52.  
  53.  
  54.  
  55.                   Intro
  56.  
  57.  
  58.  
  59. These are my own memory management optimization guidelines + tweaks on how to
  60. "squeeze" the last Byte of FREE conventional memory for all your DOS
  61. programs/games, make more RAM available to your Windows GUI, and how to modify
  62. your CONFIG.SYS, AUTOEXEC.BAT + SYSTEM.INI files to make all this happen.
  63. I posted these tips hoping you will find useful to have plenty of free low
  64. memory to run ANY "memory hungry" DOS program/game on the planet, in the same
  65. setup in which you also start Windows/WfWG 3.xx, WITHOUT the need for separate
  66. startup configurations that require rebooting your machine.
  67. Enjoy.
  68. Because...
  69.  
  70. * LOL [:-)]: The Shadow knows...
  71.  
  72. "640K ought to be enough for anybody." = Bill Gates, 1981.
  73.  
  74. * FYI: Now seriously, did YOU know?!
  75.  
  76. After all Windows/WfWG 3.1x is a 16-bit Graphical User Interface (GUI)
  77. protected mode virtual environment, which still depends on the good ol' MS-DOS
  78. 6.xx TSR modules (IO.SYS + COMMAND.COM), MS-DOS mode memory manager
  79. (HIMEM.SYS) and compatibility (legacy) drivers (IFSHLP.SYS) to load on top of
  80. the plain DOS command line based layer!
  81. The good news is Microsoft released Windows XP (eXPerience), a true 32-bit
  82. multitasking, multithreading and Symmetrical MultiProcessing (SMP) graphical
  83. OS, which does away once for all with the "ancient" 16-bit MS-DOS command line
  84. OS.
  85. But the bad news is WinXP does NOT support native/real MS-DOS mode, necessary
  86. for old DOS based programs/games that require full VGA screen and/or exclusive
  87. access to hardware resources, and most of which are still memory "hungry",
  88. especially the ones that canNOT run from a DOS session/box/window inside
  89. Windows.
  90. Therefore master your CONFIG.SYS + AUTOEXEC.BAT command lines and SYSTEM.INI
  91. parameters to BOOT into your system the way YOU want!
  92.  
  93. I included here my MS-DOS 6.22 + WfWG 3.11 versions of startup files:
  94. AUTOEXEC.BAT + CONFIG.SYS.
  95. Use them ONLY as EXAMPLES to customize YOURS.
  96. You could view/print both with EDIT.COM in DOS or Notepad/Sysedit in Windows.
  97. More info @ MSKB:
  98. http://support.microsoft.com/support/kb/articles/q232/5/58.asp
  99. But I strongly recommend to use my dedicated DOS style batch files: EAB.BAT
  100. (edits/backs up AUTOEXEC.BAT) + ECS.BAT (edits/backs up CONFIG.SYS) to modify
  101. them with minimum effort.
  102. See "EDIT BOOT FILES" in MYTIPS31.TXT (included) for complete details.
  103.  
  104. TIP: A good thing is that you can successfully use the Win9x/ME MS-DOS mode
  105. memory managers releases (HIMEM.SYS + EMM386.EXE) in your MS-DOS 6.xx
  106. CONFIG.SYS, ONLY IF you are using the dual-boot feature in Win9x/ME AND have
  107. kept your old MS-DOS 6.xx + MS Windows/WfWG 3.1x.
  108.  
  109. I included here my system MEMory configurations using 5 different MS-DOS mode
  110. memory managers in CONFIG.SYS (current releases):
  111. - MicroSoft MS-DOS 6.22 EMM386.EXE v4.49 + HIMEM.SYS v3.10 "combo",
  112. - Uwe Sieber UMBPCI.SYS v3.39a in combination with Microsoft HIMEM.SYS v3.10
  113. + HIRAM.EXE v1.9 (loads HIMEM.SYS in upper memory),
  114. - Network Associates (Helix) NetRoom RM386.EXE v3.04,
  115. - Symantec (QuarterDeck) QEMM386.SYS v9.00 and
  116. - Lineo (Caldera) DR-DOS 7.03 EMM386.EXE v3.27.
  117. For my DOS MEMory stats using these 5 memory managers, take a look at:
  118. - MEM62.TXT = in native MS-DOS mode (outside Windows), and
  119. - MEM31.TXT = in a DOS session with WfWG 3.11 GUI started.
  120.  
  121. MSD62.TXT (included) shows a brief list of my MS-DOS 6.22 + WfWG 3.11 system
  122. hardware specs, running Microsoft Diagnostics tool (MSD.EXE) v3.01 OUTSIDE
  123. Windows in native MS-DOS mode.
  124.  
  125. IMPORTANT:
  126. All CONFIG.SYS + AUTOEXEC.BAT command lines in these examples are CUSTOMIZED
  127. STRICTLY to my system, and you NEED to follow the guidelines in this text
  128. file, and then edit your OWN startup files (ONLY after making BACKUPs!) to
  129. adapt them to YOUR PARTICULAR SYSTEM SPECS!
  130.  
  131.  
  132.  
  133.             BASIC *ESSENTIAL* MEMORY TIPS
  134.  
  135.  
  136.  
  137. 1. Add/modify the EMM386.EXE (or your 3rd party expanded memory manager) line
  138. in your CONFIG.SYS to provide UMBs (Upper Memory Blocks), access to UMA (Upper
  139. Memory Area) and expanded memory (EMS) provided by the EMM386.EXE "RAM" and
  140. "HIGHSCAN" parameters.
  141. Contrary to what you may have read/heard, expanded memory is STILL needed by
  142. certain (older) DOS applications and games that canNOT be executed from a DOS
  143. box/session/window INSIDE the Windows GUI, and DOES NOT slow down your
  144. computer's performance. What DOES slow down is the mere presence in memory of
  145. ANY upper/extended/expanded memory manager loaded from CONFIG.SYS, EVEN IF
  146. expanded memory is NOT enabled.
  147. There are two exceptions though (see further below for details):
  148. - Microsoft's HIMEM.SYS = provides ONLY extended RAM, NOT upper or expanded,
  149. and does NOT slow down your CPU.
  150. - Uwe Sieber's UMBPCI.SYS (HIMEM.SYS extender) = provides ONLY upper RAM, NOT
  151. extended or expanded, but leaves the CPU in "real mode", which is MUCH faster.
  152. Such programs NEED to run from the true/native/real MS-DOS mode, OUTSIDE
  153. Windows.
  154. Here is a list of DOS programs that use Expanded Memory Specifications (EMS):
  155.  
  156. * Applications:
  157. - Autodesk CAD
  158. - Borland: dBASE, Paradox, Quattro Pro + Turbo C
  159. - Computer Associates Clipper
  160. - Geoworks
  161. - Liberation Enterprises Intellicom
  162. - Lotus: 1-2-3 2.x/3.x, Agenda, Magellan + Symphony
  163. - Microsoft FoxPro
  164. - Mustang Wildcat BBS
  165. - Novell Word Perfect
  166. - SPC Harvard Graphics
  167. - Symantec: DESQview + Q&A
  168.  
  169. * Games:
  170. - id: Spear of Destiny + Wolfenstein 3D
  171. - Lucas Arts: X-Wing + TIE Fighter
  172. - Microprose Civilization
  173. - Origin: Strike Commander, Ultima Underworld + Wing Commander
  174. - Spectrum HoloByte Falcon
  175. - Three-Sixty: Patriot + V for Victory
  176.  
  177. * Network Software:
  178. - 3Com TCPIP 2.x
  179. - DEC DecNet
  180. - FTP PC/TCP 2/3
  181. - Microsoft LanMan 2.x
  182. - Novell: EMSNETX + VLM
  183.  
  184. * Utilites + TSRs:
  185. - Microsoft MSCDEX.EXE CD-ROM Extensions TSR
  186. - Lineo (Caldera) DR-DOS NWCDEX.EXE CD-ROM Extensions TSR
  187. - Creative Labs Sound Blaster AWE32/AWE64/Live! series Audio Tools/TSRs
  188. - HyperWare HyperDisk
  189. - IIT XtraDrive
  190. - Novell Btrieve
  191. - PC-Kwik
  192. - Stac Electronics Stacker
  193. - Symantec: FastBack, NDOS, NCACHE, Norton PC Tools + QRAM
  194. - Vertisoft DoubleDisk
  195.  
  196. Therefore if you are still running ANY DOS programs/games that use expanded
  197. memory, I suggest to enable it in your CONFIG.SYS.
  198.  
  199. See REGIONS.TXT and EMM386.TXT (both included) for DETAILED MS-DOS Upper
  200. Memory Management, Upper Memory Regions Mapping + Expanded Memory Management
  201. and Troubleshooting, TO MASTER THE WAY DEVICES, DRIVERS + TSRs LOAD FROM YOUR
  202. CONFIG.SYS + AUTOEXEC.BAT.
  203.  
  204. FYI:
  205. - MSKB: Overview of Memory-Management Functionality in MS-DOS:
  206. http://support.microsoft.com/support/kb/articles/q95/5/55.asp
  207. - MSKB: Win95: Managing Memory in MS-DOS Mode:
  208. http://support.microsoft.com/support/kb/articles/q151/7/18.asp
  209. - MSKB: How to Increase Conventional Memory for MS-DOS-Based Programs:
  210. http://support.microsoft.com/support/kb/articles/q134/3/99.asp
  211. - MSKB: EMM386.EXE Slows Down System Performance:
  212. http://support.microsoft.com/support/kb/articles/q74/1/52.asp
  213. - MS TechNet: MS-DOS 6 Memory Management:
  214. http://www.microsoft.com/technet/archive/msdos/05_memry.asp
  215. - MS TechNet: Working with Startup files:
  216. http://www.microsoft.com/technet/archive/msdos/03_confg.asp
  217. - MS-DOS Error Messages:
  218. http://dos.li5.org/help/ERRMSG.HTM
  219. - Running MS-DOS games:
  220. http://www.orca.bc.ca/~win95/faq12.htm
  221.  
  222. I have tested and benchmarked extensively all possible memory configurations
  223. on 8 different Intel based PC clones, covering almost all popular
  224. "generations" of CPUs:
  225. - 386/SX 16 MHz ISA with 4 MB RAM [running MS-DOS 5.0 + MS Windows 3.0]
  226. - 486/SX 25 MHz ISA with 8 MB RAM [running MS-DOS 5.0 + MS Windows 3.1]
  227. - 486/DX2 66 MHz ISA with 16 MB RAM [running MS-DOS 6.00 + MS Windows 3.11]
  228. - Pentium 90 MHz PCI with 32 MB RAM [running MS-DOS 6.22 + MS WfWG 3.11]
  229. - Pentium 200 MHz PCI with 48 MB RAM [running MS Windows 95a OSR1 a.k.a.
  230. MS-DOS 7.00 in dual-boot setup with MS-DOS 6.22 + WfWG 3.11]
  231. - Pentium 233 MHz MMX PCI with 64 MB EDO DRAM [running MS Windows 95B OSR 2.1
  232. a.k.a. MS-DOS 7.10 in dual-boot setup with MS-DOS 6.22 + WfWG 3.11]
  233. - Pentium II 450 MHz MMX [overclocked @ 504 MHz] AGP with 128 MB PC100 SDRAM
  234. [running MS Windows 98 a.k.a. MS-DOS 7.10 in dual-boot setup with MS-DOS 6.22
  235. + WfWG 3.11]
  236. - Pentium III 700E MHz SSE [overclocked @ 805 MHz] AGP with 256 MB PC133 SDRAM
  237. [running MS Windows 2000 in triple-boot setup with Windows 98 SE a.k.a. MS-DOS
  238. 7.10 and MS-DOS 6.22 + WfWG 3.11].
  239. Tested memory settings:
  240. - NO upper, NO expanded, extended ONLY: only HIMEM.SYS in a stripped down
  241. CONFIG.SYS + NO AUTOEXEC.BAT;
  242. - upper, extended, NO expanded: HIMEM.SYS + EMM386.EXE with the "NOEMS" switch
  243. in CONFIG.SYS + stripped down AUTOEXEC.BAT;
  244. - upper, extended AND expanded: HIMEM.SYS + EMM386.EXE with the "RAM" switch
  245. in CONFIG.SYS + full featured AUTOEXEC.BAT.
  246. I have found the best (and most compatible!) overall memory configuration, and
  247. in most cases the fastest (except UMBPCI.SYS shown below) to be: Microsoft
  248. HIMEM.SYS + EMM386.EXE "combo" in CONFIG.SYS, with upper (UMB), extended (XMS)
  249. AND expanded memory (EMS) enabled, and with ALL necessary real-mode 16-bit
  250. MS-DOS drivers/devices/TSRs (IFSHLP.SYS, ANSI.SYS, CD-ROM driver, MSCDEX.EXE,
  251. SMARTDRV.EXE, MOUSE.COM, DOSKEY.COM, VESA VBE 2.0/3.0 TSR etc) loaded in upper
  252. memory (UMA), using "DEVICEHIGH" in CONFIG.SYS and respectively "LOADHIGH"
  253. ("LH" for short) in AUTOEXEC.BAT.
  254. For detailed MEMory specs see MEM62.TXT + MEM31.TXT (both included).
  255. NOTE: On some systems you may need to leave a minimum of 16 KB upper DOS
  256. memory FREE for Windows proper operation!
  257. This way I reached 625 KB of free conventional memory (which to my knowledge
  258. is maximum allowed on a PC/AT equiped with a color VGA video card and using
  259. the default memory managers provided by Microsoft: HIMEM.SYS + EMM386.EXE) and
  260. 10-40 KB of free upper memory (UMA) in native/real MS-DOS mode, enough to run
  261. ANY memory hungry DOS program/game.
  262. ALL examples here have been tested and used successfully ONLY with my old/new
  263. systems CUSTOM configurations: directory NAMES, CPU (see list above), ROM BIOS
  264. setup, Video BIOS, chipset, motherboard etc:
  265. - Tyan Tomcat S1562 mobo, Intel TX Triton II chipset + AMI BIOS
  266. - Megatrends HX83 mobo, Intel HX Triton II chipset + AMI BIOS
  267. - Abit BH6 mobo, Intel 440BX chipset + AWARD BIOS
  268. - Abit BE6-II mobo, Intel 440BX chipset + AWARD BIOS
  269. - Abit BE6-II v2.0 RAID mobo, Intel 440BX chipset + AWARD BIOS
  270. - ATI Mach64 Graphics Turbo PCI 2D video
  271. - 3Dfx Voodoo Banshee PCI 2D+3D video
  272. - Quantum3D Obsidian2 X-24 TV Voodoo2 SLI PCI 3D only video
  273. - NVidia GeForce 256 DDR AGP 2D+3D video
  274. - HighPoint ATA66 EIDE drive controller on Abit BE6-II mobo
  275. - HighPoint ATA100 EIDE RAID drive controller on Abit BE6-II v2.0 RAID mobo,
  276. running these Microsoft Operating Systems + Environments:
  277. - MS-DOS 5.0
  278. - MS-DOS 6.00
  279. - MS-DOS 6.22
  280. - Windows 3.10
  281. - Windows 3.11
  282. - Windows for WorkGroups 3.11
  283. - Windows 95 [a.k.a. MS-DOS 7.00]
  284. - Windows 95a OSR1 [a.k.a. MS-DOS 7.10]
  285. - Windows 95B OSR 2.1 [a.k.a. MS-DOS 7.10]
  286. - Windows 98 [a.k.a. MS-DOS 7.10]
  287. - Windows 98 SE [a.k.a. MS-DOS 7.10]
  288. - Windows ME [a.k.a. MS-DOS 8.00].
  289. My current detailed PC hardware specs are listed in MYPC.TXT (included).
  290. Here we go:
  291.  
  292. - Microsoft HIMEM.SYS v3.10 + EMM386.EXE v4.49 extended/expanded memory
  293. managers "combo" (included with MS-DOS 6.xx) CONFIG.SYS lines:
  294. DEVICE=C:\DOS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
  295. DEVICE=C:\DOS\EMM386.EXE I=D000-EFFF I=CA00-CBFF I=B000-B7FF M3 A=64 H=128 D=256 RAM AUTO NOTR
  296. WARNING:
  297. The OLDER Microsoft HIMEM.SYS v3.10 + EMM386.EXE v4.45/v4.49 memory managers
  298. included with MS-DOS 5.0 and 6.xx do NOT PROPERLY detect/enable the entire
  299. extended memory (SXMS protocol is NOT implemented!) on computers with MORE
  300. than 64 MB RAM installed, and may generate errors/lockups with newer programs
  301. that take advantage of the extra RAM!
  302. Therefore I STRONGLY RECOMMEND if you also own Windows 9x/ME (and eventually
  303. dual-boot between DOS6 and Win9x/ME) to use one of the NEWER Windows 9x/ME
  304. releases of HIMEM.SYS + EMM386.EXE (SXMS enabled) with MS-DOS 6.00 - 6.22 OS:
  305. HIMEM.SYS v3.95 is included with Windows 95/98 [a.k.a. MS-DOS 7.00/7.10].
  306. HIMEM.SYS v3.99 is included with Windows ME [a.k.a. MS-DOS 8.00], and is
  307. loaded automatically as part of IO.SYS (a HIMEM.SYS line in CONFIG.SYS is not
  308. necessary anymore).
  309. EMM386.EXE v4.95 is included with Windows 95/98/ME.
  310.  
  311. - Uwe Sieber's UMBPCI.SYS v3.39a upper memory extender (freeware), using
  312. Microsoft HIMEM.SYS v3.10 high/extended memory manager + HIRAM.EXE v1.9 (loads
  313. HIMEM.SYS in upper memory) CONFIG.SYS lines in this *EXACT* order:
  314. DOS=HIGH,UMB
  315. DEVICE=C:\MAX\UMBPCI.SYS
  316. DEVICE=C:\MAX\HIRAM.EXE
  317. DEVICEHIGH=C:\DOS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
  318. UMBPCI.SYS provides a maximum of 629 KB of free low RAM, with everything
  319. loaded "high", and proved to be the FASTEST memory manager of this bunch:
  320. http://members.aol.com/axcel216/umb.htm
  321. My HIRAM.EXE page:
  322. http://members.aol.com/axcel216/umb.htm#HIR
  323. The only disadvantage is that UMBPCI.SYS does NOT provide expanded memory
  324. (EMS). But according to Uwe Sieber's guidelines, you can enable EMS in a
  325. DOS session/box under the Windows GUI (if ANY of your DOS apps/games need
  326. EMS), by adding/changing this SYSTEM.INI (found in your Windows directory)
  327. line under the [386enh] section (edit SYSTEM.INI with Notepad or Sysedit):
  328. [386enh]
  329. EMMPageFrame=C800
  330. provided the C800-D7FF upper memory area is CONTIGUOUS and FREE when Windows
  331. loads. Also make sure NO OTHER expanded/extended manager is loaded, EXCEPT
  332. HIMEM.SYS, because UMBPCI.SYS is an extension to HIMEM.SYS.
  333. NOTE: Not ALL motherboard chipsets are supported by UMBPCI, because some do
  334. NOT enable Shadow RAM (ISA DMA). :( See the complete list of supported
  335. chipsets:
  336. http://members.aol.com/axcel216/umb.htm#REQ
  337.  
  338. - Network Associates (Helix) NetRoom RM386.EXE v3.04 (retail) enhanced memory
  339. manager CONFIG.SYS line (applies to ALL RM386 releases starting with 3.00):
  340. DEVICE=C:\HELIX\RM386.EXE X=F000-FFFF I=B000-B7FF AUTO H=128 NMION NOT NOTR Q
  341.  
  342. - Symantec (Quarterdeck) QEMM386.SYS v9.00 (retail) enhanced memory manager
  343. CONFIG.SYS line (applies to ALL QEMM releases begining with 7.00):
  344. DEVICE=C:\QEMM\QEMM386.SYS X=F000-FFFF I=B000-B7FF RAM AU BE:N DM=128 HA=240 MA=128 TA=32
  345.  
  346. - Lineo (Caldera) DR-DOS 7.03 EMM386.EXE v3.27 (free trial) enhanced memory
  347. manager CONFIG.SYS line (applies to ALL EMM386 releases starting with 3.00):
  348. DEVICE=C:\DRDOS\EMM386.EXE USE=C800-EFFF USE=B000-B7FF AUTO DMA=256 HANDLES=128 QUIET
  349. Get DR-DOS 7.03 Operating System [6 MB, free trial]:
  350. ftp://ftp.lineo.com/pub/drdos/DR-DOS.703/dr703.exe
  351.  
  352. FYI:
  353. For more info on HIMEM.SYS and EMM386.EXE parameters run these commands from a
  354. DOS prompt (HELP.COM is located in your \DOS directory):
  355. HELP EMM386.EXE
  356. to read the EMM386.EXE topic, and:
  357. HELP HIMEM.SYS
  358. to read the HIMEM.SYS topic.
  359.  
  360. 2. CD-ROM/CD-R(W)/DVD-ROM/DVD-R(W) drives canNOT be accessed in native MS-DOS
  361. mode WITHOUT Compact Disc EXtensions (CDEX) support! Therefore you MUST load
  362. one of these DOS CDEX drivers in your AUTOEXEC.BAT, to be able to use your
  363. CD/DVD based programs/games in native MS-DOS, e.g. when installing MS Windows
  364. from the Setup CD:
  365.  
  366. - Microsoft MSCDEX.EXE v2.23, included with MS-DOS 6.00 - 6.22.
  367. I RECOMMEND if you also own Windows 9x/ME (and eventually dual-boot between
  368. DOS6 and Win9x/ME) to use the NEWER MSCDEX.EXE v2.25 (bundled with Win9x/ME,
  369. a.k.a. MS-DOS 7.xx/8.00), which complies with ALL current CD standards.
  370. MSCDEX takes 16 KB of upper (UMA) and 30-60 KB of expanded memory (EMS), or
  371. 30-80 KB of upper RAM without EMS enabled. Example:
  372. LOADHIGH=C:\DOS\MSCDEX.EXE /D:MYCDROM /M:20 /E
  373.  
  374. - John McCoy's SHSUCDX.EXE v1.4b [226 KB, freeware]:
  375. http://www.shsu.edu/~csc_jhm/shsucd14.zip
  376. SHSUCDX takes only 11 KB of upper memory on systems with one CD/DVD drive
  377. (each additional drive requires 2.5 KB of RAM). Example:
  378. LOADHIGH=C:\CDROM\SHSUCDX.EXE /D:MYCDROM,D,,1
  379.  
  380. - Lineo DR-DOS NWCDEX.EXE v2.81 [21 KB, free]:
  381. http://dos.li5.org/DOWNLOAD/NWCDEX.ZIP
  382. also part of Lineo (Caldera) DR-DOS v7.03 [6 MB, free trial]:
  383. ftp://ftp.lineo.com/pub/drdos/DR-DOS.703/dr703.exe
  384. NWCDEX takes only 1 KB of upper and 40-60 KB of expanded memory. Example:
  385. LOADHIGH=C:\DRDOS\NWCDEX.EXE /D:MYCDROM /M:20 /E /F:99
  386.  
  387. An expanded memory (EMS) manager like: Microsoft EMM386.EXE, Quarterdeck
  388. QEMM386.SYS or Helix RM386.EXE, with EMS enabled is required in CONFIG.SYS to
  389. load MSCDEX or NWCDEX in EMS.
  390. See CD-ROM Drivers under "My CONFIG.SYS Lines Explained" further below and
  391. "CD-ROM DRIVERS 4 DOS" in MYTIPS31.TXT (included) for more details.
  392.  
  393. FYI:
  394. "Some of my old DOS games would not run from their CDs using NWCDEX.EXE in
  395. native MS-DOS. But if I load SHSUCDX.EXE (or MSCDEX.EXE) right before I start
  396. a game, even though NWCDEX is still in memory and a new drive letter is
  397. assigned to my CD-ROM, the games will work. I'm using SHSUCDX because it can
  398. be unloaded, and I can restart Windows without having to reboot.
  399. I created a batch file to load SHSUCDX before the game starts and then unload
  400. it after the game exits."
  401. [Thank you Edward (ewitten507@aol.com)!]
  402.  
  403. 3. Change ALL device/driver/TSR DEVICE lines to DEVICEHIGH and ALL INSTALL
  404. lines to INSTALLHIGH in your CONFIG.SYS, to load them ALL in upper memory:
  405. IFSHLP.SYS, ANSI.SYS (or similar 3rd party like NANSI.SYS, ANSI.COM etc),
  406. CD-ROM driver (like VIDE-CDD.SYS, TEAC_CDI.SYS, OAKCDROM.SYS etc) etc, EXCEPT
  407. for your memory manager lines: HIMEM.SYS, EMM386.EXE, RM386.EXE, QEMM386.SYS,
  408. UMBPCI.SYS, 386MAX.SYS etc, which need the DEVICE command to load properly
  409. (except if using HIRAM.EXE + UMBPCI.SYS, detailed above).
  410.  
  411. 4. Add LH (LOADHIGH abbreviated) in front of ALL driver/TSR lines in your
  412. AUTOEXEC.BAT, to load them ALL in upper memory: MSCDEX.EXE (or similar 3rd
  413. party like NWCDEX.EXE, SHSUCDX.EXE, MCDX.EXE etc), SMARTDRV.EXE (or similar
  414. 3rd party like CACHECLK.EXE, HYPERDKX.EXE etc), MOUSE.COM/(MS)MOUSE.EXE (or
  415. similar 3rd party like CTMOUSE(P).COM/CTMOUSE.EXE, MOUSE.EXE, AMOUSE.EXE etc),
  416. DOSKEY.COM (or similar 3rd party like RECALL.COM, TODDY.COM etc), VESA VBE
  417. 2.0/3.0 driver (like UNIVBE.EXE, M64VBE.COM, VESAFIX.EXE etc), sound card
  418. TSRs/tools (like SBEINIT.COM, AWEUTIL.COM, CSP.SYS, CTMMSYS.SYS, CTSB16.SYS
  419. etc).
  420.  
  421. 5. Load the LARGER devices/drivers/TSRs FIRST, and the SMALLER LAST in your
  422. AUTOEXEC.BAT + CONFIG.SYS. Some trial-and-error is necessary to establish your
  423. optimal configuration, depending on your own custom "combo".
  424.  
  425. 6. For FASTEST performance loading Windows or running ANY DOS program/game in
  426. native MS-DOS, use Microsoft SMARTDRV disk cache TSR in your AUTOEXEC.BAT.
  427. Read about Smartdrv below under "My AUTOEXEC.BAT Lines Explained", and see
  428. also "OUTSMART SMARTDRIVE" in MYTIPS31.TXT (included) for details.
  429.  
  430.  
  431.  
  432.           My CONFIG.SYS + AUTOEXEC.BAT Step by Step
  433.  
  434.  
  435.  
  436. Below are my MS-DOS 6.xx [+ MS Windows/WfWG 3.1x] CONFIG.SYS and AUTOEXEC.BAT
  437. command lines explained.
  438. Notice the multiple option menus used in my startup files, to be able to boot
  439. with different configurations (using 5 memory managers in CONFIG.SYS).
  440. Open them with EDIT.COM, the MS-DOS default ASCII/text editor/viewer (located
  441. in C:\DOS), because Notepad (Windows default ASCII/text editor/viewer) canNOT
  442. handle certain extended ASCII characters, like the ones I used on the "SET
  443. PROMPT" and "SET WINPMT" lines in my CONFIG.SYS.
  444. See also this guide for multiple CONFIG.SYS + AUTOEXEC.BAT setups:
  445. http://www.knowplace.org/multi.html
  446.  
  447.  
  448.             I. My CONFIG.SYS Lines Explained
  449.  
  450.  
  451. Note that my WfWG 3.11 directory is called WG, NOT WINDOWS (default Win3x
  452. install directory), and my MS-DOS 6.22 directory is called DOS, both located
  453. on the boot drive (C).
  454.  
  455. My HIMEM.SYS command line in CONFIG.SYS:
  456.  
  457. DEVICE=C:\DOS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
  458.  
  459. For more info on HIMEM.SYS parameters, run:
  460. HELP HIMEM.SYS
  461. from a DOS 6.xx prompt.
  462.  
  463. /NUMHANDLES=128 represents the maximum number of Extended Memory Block (EMB)
  464. handles that can be used simultaneously (has no influence in Windows). Allowed
  465. values: 1 - 128. Default is 32. Each handle takes 6 Bytes of extended memory.
  466.  
  467. /TESTMEM:OFF loads HIMEM.SYS without taking a few extra seconds to test all
  468. your system's extended memory [more RAM you have, longer the delay :)]. Most
  469. modern Pentium class (and newer) computer BIOSes test the entire installed
  470. memory at bootup anyway, making this HIMEM.SYS function obsolete.
  471. See this MSKB troubleshooting article:
  472. http://support.microsoft.com/support/kb/articles/q109/8/45.asp
  473.  
  474. /Q (QUIET) prevents the display of HIMEM.SYS loading status during bootup.
  475. UNDOCUMENTED: See "HIMEM.SYS HIDDEN PARAMETERS" in SECRETS.TXT (included) for
  476. details.
  477.  
  478. NOTE: HIMEM.SYS and EMM386.EXE (or similar 3rd party) memory managers MUST be
  479. loaded in CONFIG.SYS with the DEVICE command, before ANY OTHER DEVICE,
  480. DEVICEHIGH, INSTALL, INSTALLHIGH, SHELL or SET lines! The CONFIG.SYS: DEVICE,
  481. DEVICEHIGH, INSTALL, INSTALLHIGH, and the AUTOEXEC.BAT LOADHIGH (LH for short)
  482. commands are internal MS-DOS commands built into the OS (IO.SYS and
  483. COMMAND.COM).
  484.  
  485. My EMM386.EXE command line in CONFIG.SYS:
  486.  
  487. DEVICE=C:\DOS\EMM386.EXE I=D000-EFFF I=CA00-CBFF I=B000-B7FF M3 A=64 H=128 D=256 RAM AUTO NOTR
  488.  
  489. Microsoft's EMM386.EXE can address a maximum of 32 MB of expanded RAM in
  490. native MS-DOS mode. But there are 3rd party memory managers (like QEMM386 from
  491. Quarterdeck) which can provide up to 64 MB of expanded memory for DOS based
  492. apps/games. All these "enhanced" memory managers use the computer's extended
  493. memory to "simulate" expanded RAM (EMS).
  494. See "Expanded Memory = EMS" in REGIONS.TXT (included) for more details.
  495.  
  496. These are my "generic" EMM386 lines (examples) which provide expanded memory,
  497. and accommodate almost ANY system with a standard:
  498.  
  499. - MS Windows 95/98 setup:
  500.  
  501. DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF D=256 RAM AUTO
  502.  
  503. - MS-DOS 6.xx setup:
  504.  
  505. DEVICE=C:\DOS\EMM386.EXE I=B000-B7FF D=256 RAM AUTO
  506.  
  507. Change the path to EMM386.EXE if different on your PC.
  508.  
  509. Including and excluding addresses in upper memory (the "I=xxxx-yyyy" and
  510. "X=xxxx-yyyy" switches) depends on your system CMOS, ROM, Option ROM, and
  511. Video BIOS configuration and video card upper ROM memory addresses and can be
  512. kinda tricky. Use them with EXTREME CAUTION! If not properly set, your
  513. machine may lockup, or worse, experience data loss! You can see how these
  514. regions of upper memory are set on your system, by running MSD from the
  515. native/true MS-DOS prompt, and then pressing M (Memory stats screen).
  516. See MSD62.TXT (included) for MSD.EXE details.
  517. To visualize the upper ROM (Read Only Memory) regions (color coded in gray on
  518. the MSD screen) occupied by the ROM/VGA/Video, CMOS + Extended BIOS memory
  519. hardware configuration, click on "Utilities" from MSD's menu bar and then
  520. click "Memory Browser".
  521. Then write down the hex addresses occupied by your upper ROM memory, and
  522. exclude them, using as many as necessary X=xxxx-yyyy switches on the
  523. EMM386.EXE line in your CONFIG.SYS.
  524. Example: Let's say that your "Option ROM" (one of the grayed areas in upper
  525. memory on your MSD memory screen) exists at EC00-ED00. You will need to add
  526. the X=EC00-ED00 parameter to your EMM386.EXE line to exclude those addresses
  527. from EMM386.EXE's upper memory mapping, as follows:
  528.  
  529. DEVICE=C:\DOS\EMM386.EXE X=EC00-ED00
  530.  
  531. The other method (which may work better on some systems) is to include the
  532. regions above and below the grayed ROM area (using same example above):
  533.  
  534. DEVICE=C:\DOS\EMM386.EXE I=EE00-EFFF I=E000-ECFF
  535.  
  536. A classical method to make more upper memory available to drivers/devices is
  537. to add these switches:
  538.  
  539. DEVICE=C:\DOS\EMM386.EXE X=C000-C7FF I=B000-B7FF
  540.  
  541. to the EMM386.EXE line. C000-C7FF is usually reserved for the Video ROM BIOS.
  542. NEVER add these addresses to your EMM386 line with an I=xxxx-yyyy switch!
  543. The B000-B7FF area is used for text memory ONLY on black & white (monochrome)
  544. monitors (CRTs), so it's SAFE to add it to your EMM386 line, unless you're
  545. still using such an old monitor. :)
  546. Newer PCI/AGP video adapters (3dfx, 3DLabs, ATI, Diamond, Matrox, NVidia,
  547. PowerVR, S3 etc) use part of or the entire C800-CFFF UMA area for Video ROM
  548. BIOS. If using such video cards, you need to exclude these addresses from the
  549. EMM386.EXE CONFIGF.SYS line. Example:
  550.  
  551. DEVICE=C:\DOS\EMM386.EXE X=C800-CFFF
  552.  
  553. See this MSKB article for more info:
  554. http://support.microsoft.com/support/kb/articles/q112/8/16.asp
  555.  
  556. For Windows/WfWG 3.1x Enhanced (386) mode to take advantage of the unused
  557. monochrome region, make sure this line:
  558.  
  559. device=c:\dos\monoumb.386
  560.  
  561. is present under the [386enh] section of your SYSTEM.INI file, located in
  562. your Windows directory. The file MONOUMB.386 comes with MS-DOS 6.xx, and is
  563. usually installed by MS-DOS Setup in your \DOS directory (default).
  564.  
  565. The "M3" switch loads EMM386's page frame at the C800 upper memory address
  566. (hex). On my system this leaves maximum contiguous Upper Memory Blocks (UMBs)
  567. available for loading devices/drivers/TSRs "high".
  568. You can also "tell" EMM386 to load its page frame at a particular upper
  569. memory address by using the FRAME= switch (example):
  570.  
  571. DEVICE=C:\DOS\EMM386.EXE FRAME=C800
  572.  
  573. Better, by forcing EMM386 to provide expanded memory without a page frame,
  574. you can free a little extra low/upper RAM, but ONLY IF your DOS apps/games
  575. run properly this way (example):
  576.  
  577. DEVICE=C:\DOS\EMM386.EXE FRAME=NONE
  578.  
  579. I tested this with Microprose's Civilization and Lucas Arts' X-Wing, but
  580. other (older) DOS programs may refuse to start WITHOUT a page frame, in
  581. which case you need to enable it.
  582.  
  583. The "NOTR" switch is UNDOCUMENTED. Prevents EMM386 from detecting a Token
  584. Ring Network Adapter, which detection may hang some machines. "NOTR" is NOT
  585. enabled by default. You need to add it to EMM386.EXE's line yourself, if you
  586. don't use a DOS based Network card, and suspect having problems loading
  587. EMM386.EXE from CONFIG.SYS.
  588. See also "EMM386.EXE HIDDEN PARAMETERS" in SECRETS.TXT (included).
  589.  
  590. TIP: Try to avoid the aggressive "HIGHSCAN" switch on your EMM386.EXE line!
  591. It can be dangerous to your "health", as it may hang your machine at bootup!
  592. Use the "RAM" and customized "I=xxxx-yyyy" switches instead, which do the
  593. same job searching the Upper Memory Area (UMA) for unused UMBs (Upper Memory
  594. Blocks).
  595.  
  596. The "D=256" switch allows for buffered I/O (In/Out) Direct Memory Access
  597. (DMA), in KiloBytes (allowed: 16 - 256). Default is 32, which is NOT enough
  598. in most cases, i.e. if you are using a sound card for DOS based programs.
  599. Buffered DMA is required for ALL floppy/disk/IDE and ISA/PCI I/O operations.
  600.  
  601. The "A=64" switch specifies how many fast alternate register sets (for
  602. multitasking) to allocate to EMM386 (allowed: 0-254). Default is 7.
  603.  
  604. The "H=128" switch specifies how many handles EMM386 can use (allowed:
  605. 2-255). Default is 64.
  606.  
  607. CAUTION:
  608. Avoid using the EMM386.EXE "ALTBOOT" switch IF using ANY
  609. SCSI/(U)DMA/ATAPI/(E)IDE/RAID add-in/3rd party/proprietary controllers! The
  610. ROM addresses used by these adapters may CONFLICT with the memory address
  611. used by the "ALTernative BOOT" routine, causing LOCKUPS!
  612.  
  613. FYI:
  614. DOS based apps/games using VCPI (Virtual Control Program Interface) services
  615. (i.e. Strike Commander) do NOT work from a Windows DOS box, because Windows
  616. 95/98/ME/3.1x DOS VM (Virtual Machine) does NOT provide VCPI support.
  617. If you get an error message like:
  618. "PROGRAM.EXE cannot communicate with the EMS Memory Manager"
  619. you need to run such programs from native/real MS-DOS mode OUTSIDE Windows,
  620. with an EMS memory manager (like EMM386.EXE, QEMM386.SYS, RM386.EXE etc)
  621. with VCPI enabled, loaded from your CONFIG.SYS.
  622.  
  623. TIP:
  624. If EMM386.EXE loads from a CONFIG.SYS DEVICE line, ALL these parameters:
  625. I=xxxx-yyyy, X=xxxx-yyyy, NOEMS, Mx, Pnnnn and FRAME take precedence over
  626. these Windows 95/98/ME/3.1x SYSTEM.INI settings under the [386enh] section:
  627. EMMInclude=xxxx-yyyy, EMMExclude=xxxx-yyyy and EMMPageFrame=xxxx.
  628. To enable these EMS settings in Windows you need to remove these switches
  629. from your CONFIG.SYS EMM386.EXE line, or REMark with a semicolon (;) the
  630. entire EMM386.EXE DEVICE line, and then reboot.
  631. See "SYSTEM.INI TWEAKS" in MYTIPS31.TXT (included) for more details.
  632.  
  633. A MUST HAVE [I repeat: *MUST HAVE*!]:
  634. To load the FILES, BUFFERS, FCBS, STACKS and LASTDRIVE modules "high" in
  635. CONFIG.SYS, I recommend the excellent DOSMAX v2.1 package to ALL MS-DOS
  636. 5.xx/6.xx users [82 KB, no nag shareware]:
  637. http://wcarchive.cdrom.com/pub/simtelnet/msdos/sysutl/dosmax21.zip
  638. The DosMax tools can free up to 90 KB of conventional DOS memory, depending
  639. on your system setup.
  640. This is my DOSMAX line in CONFIG.SYS:
  641.  
  642. DEVICE=C:\MAX\DOSMAX.EXE N+ P- R- U02 U08 U09 U0A U0B U0C U0D U0E U70 U72 U73 U74 U76 U77
  643.  
  644. The DOSMAX.EXE line MUST follow the memory managers DEVICE lines (HIMEM.SYS
  645. + EMM386.EXE) in CONFIG.SYS.
  646. DosMax loads itself high, no need for a DEVICEHIGH command.
  647. To understand how to use DosMax/ShellMax/EnviMax READ their documentation.
  648.  
  649. CAUTION:
  650. DO NOT use ANY DOSMAX tools (DOSMAX.EXE, ENVIMAX.COM, SHELLMAX.COM etc) with
  651. Windows 95, 98 or ME [a.k.a. MS-DOS 7.xx/8.00]! These newer OSes have ALL
  652. these features built in.
  653.  
  654. It is useful to load drivers/devices/TSRs with the "DEVICEHIGH" command, to
  655. gain more low (conventional) memory (RAM). A well known method (but not
  656. efficient, and buggy in most cases) is to use MEMMAKER, provided with MS-DOS
  657. 6.xx and MS-DOS 7.00/Win95 (but NOT with MS-DOS 7.10/Win95B and newer) to
  658. gain more memory.
  659. Using MEMMAKER can be tricky, and usually does NOT yield expected results,
  660. by NOT recognizing certain DOS drivers/devices/TSRs loaded in customized
  661. CONFIG.SYS/AUTOEXEC.BAT files (never did the job for me).
  662. Therefore I STRONGLY recommend the good ol' manual tweaking, changing the
  663. order of loading the drivers/TSRs in your CONFIG.SYS and AUTOEXEC.BAT
  664. yourself (using the "DEVICEHIGH" and respectively "LOADHIGH", "LH" for short
  665. commands) until you're satisfied with the amount of conventional memory
  666. reported by the "MEM /C /P" command.
  667.  
  668. You can fiddle with the "/L:1", "/L:2", "/L:3" etc... switches to determine
  669. your own best high memory loading configuration. This example:
  670.  
  671. DEVICEHIGH /L:1=C:\DOS\ANSI.SYS
  672.  
  673. loads the ANSI.SYS DOS CONsole driver in Upper Memory Area (UMA) region 1
  674. (located on my system between B000 and B7FF hex addresses). You can use any
  675. ANSI driver that supports extended keys (F1-F12) remapping.
  676. I recommend Daniel Kegel's NANSI.SYS v3.4 MS-DOS ANSI CONsole driver
  677. accelerator: fastest and most versatile replacement for Microsoft ANSI.SYS,
  678. with built-in support for key reassignment [60 KB, free GNU]:
  679. http://www.kegel.com/nansi34.zip
  680. NANSI.SYS (faster) takes only 3.2 KB of upper DOS memory IF loaded with
  681. "DEVICEHIGH" in CONFIG.SYS, compared with Microsoft ANSI.SYS (slower) which
  682. occupies 4.2 KB of RAM.
  683. To find out what you can do with an ANSI driver loaded, see "F1-F12
  684. Remapping = MS-DOS Mode + ANSI Driver" in DOSTIPS.TXT (included).
  685.  
  686. The order of loading the devices/drivers/TSRs in Upper Memory is of UTMOST
  687. importance: larger FIRST, smaller LAST, in your:
  688. - CONFIG.SYS, using the "DEVICEHIGH" command and
  689. - AUTOEXEC.BAT, using the "LOADHIGH" command (abbreviated as "LH").
  690.  
  691. Example of such AUTOEXEC.BAT command line:
  692.  
  693. LOADHIGH /L:2=C:\MOUSE\MOUSE <YOUR_MOUSE_DRIVER_PARAMETERS>
  694.  
  695. This means that my MS-DOS mode MOUSE.COM driver loads in the 2nd upper
  696. memory region, located between C800 and EFFF (hex addresses) on my system
  697. (the upper memory regions are delimited by the extended/expanded memory
  698. managers (EMM386.EXE), respectively the I=xxxx-yyyy and E=xxxx-yyyy
  699. switches, when using the Microsoft HIMEM.SYS and EMM386.EXE "combo").
  700. Example of EMM386.EXE line, to enable two upper memory regions in the Upper
  701. Memory Area (UMA):
  702.  
  703. DEVICE=C:\DOS\EMM386.EXE I=C800-EFFF I=B000-B7FF RAM M3 D=256 AUTO NOTR
  704.  
  705. In this case:
  706. - the first upper memory area is called region 1, located at the B000-B7FF
  707. hex addresses, enabled by the "I=B000-B7FF" EMM386.EXE switch above, and
  708. - the second upper memory area is called region 2, located at the C800-EFFF
  709. hex addresses, enabled by the "I=C800-EFFF" EMM386.EXE switch above.
  710. These 2 upper memory regions are available for loading devices/drivers/TSRs
  711. "high", using the CONFIG.SYS "DEVICEHIGH" and the AUTOEXEC.BAT "LOADHIGH"
  712. (abbreviated to "LH") commands.
  713.  
  714. To display the upper memory regions chart on your system, run:
  715. MSD
  716. at the native/true MS-DOS prompt, and then press M.
  717. See MSD62.TXT (included) for MSD.EXE details.
  718.  
  719. A MUST:
  720. THE EMM386.EXE LINE MUST FOLLOW THE HIMEM.SYS LINE IN CONFIG.SYS!
  721. ALL other "DEVICE", "DEVICEHIGH", "INSTALL" and "INSTALLHIGH" lines MUST
  722. follow the HIMEM.SYS and EMM386.EXE commands in CONFIG.SYS!
  723.  
  724. I gave up on using the limited MS-DOS MemMaker utility (QEMM's Optimize, or
  725. NetRoom's Customiz tools for that matter), to gain more conventional memory,
  726. in favor of manually tweaking the startup files.
  727. I modified the memory manager lines/parameters in CONFIG.SYS (and changed the
  728. order of loadind devices/drivers in CONFIG.SYS + AUTOEXEC.BAT manually), BUT
  729. only AFTER reading ALL related documentation for each of the 4 memory
  730. managers I have used (Microsoft's HIMEM.SYS + EMM386.EXE, Quarterdeck's
  731. QEMM386.SYS, Helix's RM386.EXE and DR-DOS' EMM386.EXE), and then
  732. experimenting with all possible configurations (more devices you load, more
  733. combinations you have to try).
  734. This is a time consuming job, but rewarding, because I made ALL my DOS and
  735. Windows programs work with this final configuration found in my startup
  736. files (my CONFIG.SYS + AUTOEXEC.BAT are included here).
  737. Rewarding, because I have now 625 KB of free conventional memory, and enough
  738. upper memory for Windows, with expanded memory enabled, in MS-DOS mode
  739. (outside Windows), to run ANY DOS hungry program/game without EVER running
  740. out of low DOS memory [that was an old obsession for any DOS user :)], or EVER
  741. needing to reboot again, or using "custom setups" for different program
  742. requirements.
  743.  
  744. SWITCHES=/F    skips the 2 second delay before processing the startup files
  745.         (CONFIG.SYS + AUTOEXEC.BAT) during bootup, valid for MS-DOS
  746.         6.xx and Windows 9x/ME (a.k.a. MS-DOS 7.xx/8.00). This command
  747.         MUST be loaded from CONFIG.SYS as the FIRST line.
  748.         See "SWITCHES" in MYTIPS31.TXT (included) for more details.
  749.  
  750. DOS=HIGH,UMB    loads the DOS kernel high and provides UMBs (Upper Memory
  751.         Blocks) for loading DOS devices/drivers/TSRs in UMA (Upper
  752.         Memory Area), the 384 KB RAM region above the 640K low memory
  753.         barrier.
  754.  
  755. FCBS=x,y    short for File Control BlockS [obsolete]. Use 1,0 (1 for x and
  756.         0 for y) to preserve memory (minimum allowed). Higher values
  757.         are needed only by older DOS programs. It is very probable
  758.         that you'll never need more than that. If the FCBS line is
  759.         absent from CONFIG.SYS, MS-DOS loads the default value of 4,0.
  760.         Newer programs use the "FILES" setting instead (see below).
  761.         Valid values for x = 1 - 255.
  762.  
  763. FILES=n        where "n" MUST be at least 40 to have your Windows and CPU
  764.         intensive DOS apps/games "behave" properly (open multiple
  765.         files at the same time). If this line is not specified, the
  766.         default "FILES" are set to 30 at bootup. Set "FILES" to at
  767.         least 60 - 80 in your CONFIG.SYS to play safe! Valid values
  768.         for n = 8 - 255.
  769.  
  770. ADD-ON:
  771. If using any DOS apps/games in DOS sessions within Windows, you can increase
  772. the number of files available to programs running in DOS boxes by adding this
  773. line under the [386enh] section of your SYSTEM.INI file, located in your
  774. Windows directory:
  775. PerVMFiles=60
  776. See "SYSTEM.INI TWEAKS" in MYTIPS31.TXT (included) for more details.
  777. Edit SYSTEM.INI with EDIT.COM in DOS or Notepad/Sysedit in Windows.
  778.  
  779. BUFFERS=10,0    if you use ANY hard disk cache utility (SMARTDRV.EXE is
  780.         STRONGLY RECOMMENDED if you run ANY MS-DOS programs/games that
  781.         access your hard disk frequently): use Smartdrv.exe 5.0x to
  782.         cache ALL disk writes/reads in DOS mode. Avoid 3rd party disk
  783.         caches (Helix Cache Cloak, SpeedDisk, Norton Cache, HyperDisk,
  784.         QuickCache etc) that may crash your hard disk with Windows
  785.         9x/ME/3.1x, because of incompatibilities with 32-bit Fast Disk
  786.         Access (FBDA) used by Windows!
  787.         See "MS-DOS BUFFERS" in EMM386.TXT (included) for details.
  788.         The first number here (10) represents the number of disk
  789.         buffers. Its value must be between 1 and 99. Default is 30 (if
  790.         the BUFFERS line is not present) and occupies too much memory.
  791.         30 buffers are NOT needed, and canNOT fit entirely into the
  792.         HMA (High Memory Area) anyway.
  793.         The second number here (0) represents the number of buffers in
  794.         the secondary cache buffer. Its value must be between 0 and 8.
  795.         Default is 0 (secondary cache buffers disabled).
  796.         Secondary cache buffers are needed ONLY if your hard disk is
  797.         not recognized or cached by SMARTDRV.
  798.         If using SCSI, older ESDI and/or large (E)IDE hard drives > 8
  799.         GB, you might want to add a secondary buffer number to the
  800.         "BUFFERS=" line, and also load Smartdrv with "DOUBLE_BUFFER"
  801.         from CONFIG.SYS:
  802.         DEVICE=C:\DOS\SMARTDRV.EXE /DOUBLE_BUFFER
  803.         Example:
  804.         BUFFERS=10,6
  805.         See "DOUBLE BUFFER" in MYTIPS31.TXT (included) for details.
  806.         Add a SMARTDRV line in your MS-DOS 5.0/6.xx AUTOEXEC.BAT, ONLY
  807.         IF using any real DOS mode programs/games that require
  808.         frequent file access, or/and working with large files in
  809.         native MS-DOS mode.
  810.         Doing so, it won't interfere with Windows disk operations!
  811.         If you use ANY DOS disk cache, the best bet for the BUFFERS
  812.         setting is between 8 and 13 (the first number above).
  813.         Each buffer takes 528 Bytes of memory.
  814.  
  815. STACKS=n,m    where n = 8 - 64 (number of stacks), and m = 32 - 512 (stack
  816.         size in Bytes). If you are running older programs that rely on
  817.         DOS stacks, set STACKS to at least 12,128 or 12,256.
  818.         Default is STACKS=9,256, set by the OS if you do NOT mention a
  819.         STACKS= line in your CONFIG.SYS.
  820.         DOS uses a maximum of 16 STACKS (and any number greater than
  821.         16 is a waste of memory anyway). Each stack can have a maximum
  822.         value of 512 Bytes, in 128 Bytes increments: STACKS=16,512.
  823.         Newer DOS + Windows 9x/ME/3.1x programs do NOT use DOS stacks!
  824.         Set STACKS=0,0 in your CONFIG.SYS to save conventional/upper
  825.         RAM, ONLY IF you are sure NONE of your programs use stack
  826.         handling.
  827.         Your software documentation should tell you if you need to use
  828.         or increase the STACKS numbers.
  829.         NOTE: After Dark v3.0 (retail), a popular 16-bit screen saver
  830.         pack for Windows, needs a STACKS line in CONFIG.SYS. You may
  831.         get GPF (General Protection Fault) error messages if running
  832.         After Dark 3.0 with a STACKS=0,0 line in CONFIG.SYS. The newer
  833.         After Dark v4.0 32-bit for Win9x/ME corrected this issue.
  834.  
  835. LASTDRIVE=n    where "n" is the letter following your last logical
  836.         drive/partition in your computer, counting ALL your floppy,
  837.         hard, CD/DVD, removable, Dblspace, Drvspace, Stacker, or other
  838.         compressed drives, Network drives, and RAM virtual drives, if
  839.         you have any. Valid values are from A to Z. Default is Z,
  840.         which represents the maximum number of logical
  841.         drives/partitions on any IBM compatible PC clone.
  842.         If you are not connected to a Network, set LASTDRIVE to show
  843.         the letter AFTER your LAST installed drive in your system, to
  844.         preserve memory. Example:
  845.         LASTDRIVE=E
  846.         if you have 4 (uncompressed) drives installed (A, B, C and D):
  847.         3.5" floppy A, 5.25" floppy B, hard disk C and cd-rom D.
  848.         See "LASTDRIVE" in MYTIPS31.TXT (included) for more details.
  849.  
  850. FYI:
  851. - MS-Dos7 Commands (most apply to MS-DOS 6.xx):
  852. http://www3.sympatico.ca/rhwatson/dos7/
  853.  
  854. Generic CONFIG.SYS line for your CD-ROM, CD-R(W), DVD-ROM, DVD-R(W), DVD-RAM
  855. MS-DOS mode device driver:
  856.  
  857. DEVICEHIGH=C:\path\YOUR_CDROM_DRIVER.SYS /D:YOUR_CDROM_NAME
  858.  
  859. a. (E)IDE/ATA(PI) CD/DVD MS-DOS mode universal driver:
  860. The most compatible [I like to call it "universal" :)] (E)IDE/ATAPI CD/DVD DOS
  861. mode driver is Acer VIDE-CDD.SYS v2.14 [176 KB, free]:
  862. ftp://ftp.acercm-eu.com/cd-rom/drivers/apicd214.exe
  863. VIDE-CDD.SYS takes only 5 KB of upper DOS memory when loaded with DEVICEHIGH
  864. in CONFIG.SYS. You need an upper memory manager in your CONFIG.SYS to provide
  865. access to the UMA.
  866. My VIDE-CDD.SYS line in CONFIG.SYS (example):
  867.  
  868. DEVICEHIGH /L:1=C:\CDROM\VIDE-CDD.SYS /D:MYCDROM
  869.  
  870. b. SCSI CD/DVD MS-DOS mode typical drivers:
  871.  
  872. DEVICEHIGH=C:\path\ASPIDOS.SYS
  873.  
  874. and/or:
  875.  
  876. DEVICEHIGH=C:\path\ASPIHLP.SYS
  877.  
  878. and:
  879.  
  880. DEVICEHIGH=C:\path\ASPICD.SYS /D:MYCDROM
  881.  
  882. See "CD-ROM DRIVERS 4 DOS" in MYTIPS31.TXT (included) for more details on
  883. CD/DVD DOS mode drivers and (in)compatibilities.
  884.  
  885. You also NEED to load MSCDEX.EXE in your AUTOEXEC.BAT, for your CD/DVD drive
  886. to be recognized by the system in true/native DOS mode!
  887. Typical MSCDEX line:
  888.  
  889. LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX /D:YOUR_CDROM_NAME /M:xx /E
  890.  
  891. with EMM386 configured (in CONFIG.SYS) to provide expanded memory (EMM386's
  892. "RAM" switch) to load the MSCDEX buffers in expanded memory ("/M:xx" switch),
  893. using the MSCDEX "/E" parameter.
  894. "/D:YOUR_CDROM_NAME" is the CD/DVD drive name and MUST be IDENTICAL with the
  895. ONE on your CD/DVD device driver line in your CONFIG.SYS!
  896. Example (using same name on the VIDE-CDD.SYS line above):
  897.  
  898. LOADHIGH=C:\WINDOWS\COMMAND\MSCDEX /D:MYCDROM /M:xx /E
  899.  
  900. NOTE: The CD-ROM drive name specified with the /D:XXXXXXXX switch on your
  901. MSCDEX line may NOT exceed 11 characters (case insensitive), and you canNOT
  902. use spaces or special/punctuation symbols!
  903.  
  904. The command line below loads MS Windows 9x/ME/3.1x 32-bit (Fast) Disk access
  905. legacy support device driver (IFSHLP.SYS = Installable File System Helper),
  906. MANDATORY for ALL MS Windows releases begining with 3.0 (except WinNT and
  907. Win2000), to enable compatibility with the underlying MS-DOS FAT system:
  908.  
  909. DEVICEHIGH /L:1=C:\WINDOWS\IFSHLP.SYS
  910.  
  911. You could use any other 3rd party (retail) memory manager on the market:
  912. Symantec (QuarterDeck) QEMM 9.00/8.0x, Network Associates (Helix) NetRoom
  913. 3.0x, Lineo (Caldera) DR-DOS 7.0x, IBM (Qualitas) 386MAX 8.0x etc, with
  914. similar (or even BETTER) results, but you are likely to provide LESS
  915. compatibility for your DOS/Windows programs, than by using Microsoft's own
  916. (already included with your OS) HIMEM + EMM386 "combo", especially if using
  917. some of the advanced memory management tools provided by these pay-for
  918. utilities.
  919. Try NOT to use ANY special 3rd party memory management features (i.e.
  920. QEMM's "Stealth", or NetRoom's "VidCloak"/"SysCloak") that move the Video
  921. ROM and/or the Extended ROM BIOS to upper/extended memory or above the 1st
  922. Meg! Windows is not very "happy" about these "moves"! Certain DOS programs
  923. are also "allergic" to these advanced "features" and your machine may lockup
  924. unexpectedly!
  925. I also urge you to use the MS-DOS internal "DEVICEHIGH" (in your Config.sys)
  926. and "LOADHIGH" ("LH" for short in your Autoexec.bat) commands to load
  927. devices, drivers and TSRs high, instead of the 3rd party memory managers'
  928. external upper memory "loaders" (like QEMM's "LOADHI" or NetRoom's "XLOAD"),
  929. to provide BETTER compatibility. Some of these "loaders" may interfere with
  930. certain programs proper operation, thus leading to system crashes!
  931. The ONLY 3rd party tool I recommend is DoxMax 2.1 (no nag, no time limit
  932. shareware, ONLY for MS-DOS 5.00/6.xx), which is INVALUABLE in providing
  933. extra conventional DOS memory, besides being 100% COMPATIBLE with MS-DOS and
  934. ALL DOS/Windows programs.
  935.  
  936. My MS-DOS 6.xx SHELL= line in CONFIG.SYS using SHELLMAX to load the
  937. COMMAND.COM module in upper memory:
  938.  
  939. SHELL=C:\MAX\SHELLMAX.COM /N+ /P- /R- /S- C:\COMMAND.COM C:\ /E:512 /P /F
  940.  
  941. ShellMax is part of DosMax 2.1 (see above) and loads the COMMAND.COM shell
  942. high under MS-DOS 5.xx/6.xx.
  943.  
  944. You could use this undocumented MS-DOS 5.00/6.xx workaround to force
  945. COMMAND.COM to load "high" (in UMA):
  946.  
  947. SHELL=C:\COMMAND.COM /C LOADHIGH=C:\COMMAND.COM C:\ /E:512 /P /F
  948.  
  949. instead of loading it with ShellMax, but this works ONLY IF:
  950. - a copy of your COMMAND.COM file resides in C:\ root (for compatibility with
  951. older DOS programs/games that expect to find the command interpreter in the
  952. root directory of your boot drive/partition);
  953. - ALL your "SET <variable>=" lines are placed/moved into your AUTOEXEC.BAT
  954. file from CONFIG.SYS (MS-DOS 6.00 - 6.22 ONLY);
  955. - this command exists as your first AUTOEXEC.BAT line:
  956. SET COMSPEC=C:\COMMAND.COM
  957. - UMBs are enabled by this CONFIG.SYS line so COMMAND.COM (or ANY other
  958. device/driver/TSR) can load in UMA:
  959. DOS=HIGH,UMB
  960. DISADVANTAGE: In some cases a second copy of COMMAND.COM remains resident in
  961. (upper) memory. :(
  962. More details:
  963. http://www.robvanderwoude.com/dosmem.html
  964.  
  965. You can have the COMMAND.COM file anywhere on your boot drive, just mention
  966. its path on your "SHELL=" and "SET COMSPEC=" lines.
  967. Example of another directory than C:\ for COMMAND.COM (not using SHELLMAX):
  968.  
  969. SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P /F
  970.  
  971. But BEWARE that certain (older) DOS programs expect to find the command
  972. interpreter (COMMAND.COM) in C:\ root, and may FAIL to work properly if they
  973. don't!
  974.  
  975. * To load devices/drivers high, you can also use the CONFIG.SYS specific
  976. INSTALLHIGH command, available ONLY in MS-DOS 6.xx and MS Windows 95/98/ME.
  977. INSTALLHIGH is needed ONLY IF you have ANY drivers/TSRs that:
  978. - have problems loading from AUTOEXEC.BAT (eventually using the LOADHIGH
  979. command),
  980. - or need to load earlier (or before other drivers/TSRs) in the boot sequence.
  981. Example of such CONFIG.SYS line:
  982.  
  983. INSTALLHIGH=C:\MOUSE\MOUSE.COM <YOUR_MOUSE_DRIVER_PARAMETERS>
  984.  
  985. DISADVANTAGE: If using INSTALLHIGH you canNOT specify an upper memory region
  986. by using the /L:x switches, as you can with DEVICEHIGH and LOADHIGH.
  987. Therefore, a driver using INSTALLHIGH will always load into the largest
  988. contiguous Upper Memory Block (UMB) available.
  989. The INSTALLHIGH command is processed only AFTER all DEVICEHIGH and DEVICE
  990. lines in CONFIG.SYS are executed.
  991. When loading a driver/TSR with INSTALLHIGH in CONFIG.SYS, you need to specify
  992. the COMPLETE path, file name AND file extension on the command line.
  993.  
  994. If you use a custom PATH line in AUTOEXEC.BAT or CONFIG.SYS (the latter is
  995. supported ONLY by MS-DOS 6.00 and newer), make sure to keep directory names
  996. as short as possible, to "shrink" the PATH length. Example:
  997.  
  998. SET PATH=C:\;C:\DOS;C:\WG;C:\3D;C:\MAX;C:\ZIP;C:\BAT;
  999.  
  1000. Also make sure to add a semicolon (;) at the end of EACH directory, and AFTER
  1001. the LAST PATH entry (see example above), so the OS can "read" the entire path
  1002. line properly.
  1003.  
  1004. See also these guides for more info:
  1005. - CONFIG.SYS:
  1006. http://www.forrestandassociates.co.uk/pcforrest/config_sys.html
  1007. - Memory:
  1008. http://www.knowplace.org/memory.html
  1009.  
  1010.  
  1011.            II. My AUTOEXEC.BAT Lines Explained
  1012.  
  1013.  
  1014. * Lines you might need in your AUTOEXEC.BAT, valid for both MS Windows 9x
  1015. [a.k.a. MS-DOS 7.xx] and MS-DOS 6.xx + MS Windows/WfWG 3.1x:
  1016.  
  1017. LOADHIGH=C:\DOS\MSCDEX /D:MYCDROM /M:20 /E
  1018.  
  1019. /D:MYCDROM - is the CD/DVD drive's name (up to 8 characters allowed, case
  1020. insensitive), and HAS TO BE EXACTLY THE SAME as the one specified on your
  1021. CONFIG.SYS CD/DVD driver line (see the CONFIG.SYS CD-ROM driver topic above).
  1022. /M:20 - gives MSCDEX 20 buffers to handle the CD-ROM cache (recommended:
  1023. 16-24). If you don't specify this switch, the default is 8, which could be
  1024. too small for some DOS programs to read huge files from the CD, especially
  1025. on a slower CD-ROM drive, 4x speed and below.
  1026. /E - loads MSCDEX's buffers into expanded memory, provided you have a line
  1027. for "EMM386.EXE RAM" or similar 3rd party manager with EMS enabled in your
  1028. CONFIG.SYS. Example below shows an EMM386 CONFIG.SYS line with expanded
  1029. memory enabled for loading the MSCDEX buffers above the 1st MegaByte:
  1030.  
  1031. DEVICE=C:\DOS\EMM386.EXE X=C000-C7FF I=B000-B7FF D=256 RAM AUTO
  1032.  
  1033. NOTE: Always use the CURRENT MSCDEX.EXE release: the newest is 2.25, included
  1034. with MS-DOS 7.xx/8.00 [a.k.a. Windows 9x/ME], very similar with the not so
  1035. old version 2.23, bundled with MS-DOS 6.xx.
  1036.  
  1037. MSCDEX.EXE takes 23 KB of conventional RAM if loaded without the LH command
  1038. and 2 KB per buffer unit above 4 (if loaded in upper memory). Use the /E
  1039. parameter with MSCDEX to load its buffers in expanded memory (enabled by
  1040. EMM386.EXE's "RAM" parameter in CONFIG.SYS), thus saving precious upper
  1041. memory.
  1042.  
  1043. Example of Smartdrv command line in AUTOEXEC.BAT:
  1044.  
  1045. C:\DOS\SMARTDRV 2048 16 A+ C+ D /N
  1046.  
  1047. I presumed that A is your 3.5 inch floppy drive, C is your hard drive, and D
  1048. your CD-ROM drive. Change/add drive letters if different on your system.
  1049. Load Smartdrv AFTER the MSCDEX line, if you want your CD-ROM drive to be
  1050. cached in DOS mode!
  1051. Run:
  1052. SMARTDRV /?
  1053. from any DOS prompt to see all available Smartdrv parameters, and to learn
  1054. how to adapt it to your system.
  1055.  
  1056. A MUST:    For more details on how to tailor the SMARTDRV line to your needs and
  1057.     to master its little known parameters (/B:xxxxx and /E:xxxxx), see
  1058.     "OUTSMART SMARTDRIVE" in MYTIPS31.TXT (included).
  1059.  
  1060. NOTE: If you run any DOS programs/games OUTSIDE Windows/WfWG (in native DOS
  1061. mode), Smartdrv IS A MUST, customized to cache ALL read and write disk
  1062. operations on ALL your drives!
  1063.  
  1064. You can decrease Smartdrv's Windows size to a minimum of 16 KB (Microsoft
  1065. claims 128 KB is minimum, but 16 KB works great and saves a little more upper
  1066. memory), if you want Smartdrv to cache your drives in DOS mode, but NOT to
  1067. perform caching in Windows, and thus saving more memory for Windows
  1068. operation. Example:
  1069.  
  1070. SMARTDRV 2048 16 A+ C+ D /N
  1071.  
  1072. The first number represents Smartdrv's size in DOS mode, and the second
  1073. number represents Smartdrv's size in Windows. In this example Smartdrv is set
  1074. to cache ALL hard disk (drive C) reads and writes, including the floppy
  1075. (drive A) and the cd-rom (drive D).
  1076. WARNING:
  1077. Use the "N" switch with CAUTION: this allows returning to the command prompt
  1078. BEFORE ALL data is written back to disk from SMARTDRV's memory buffer (the
  1079. cache does NOT flush), which may generate data loss if the computer shuts off
  1080. unexpectedly!
  1081.  
  1082. FYI: If you don't use ANY DOS mode programs/games, DO NOT load Smartdrv,
  1083. enable Win31's 32-bit disk cache instead!
  1084. Smartdrv only takes extra memory.
  1085. But if you find that besides having enough room in memory (preferably in
  1086. upper) to spare, Windows/WfWG loads faster (as it does on my PC, since I'm
  1087. starting Win31 from a big DOS batch file) with Smartdrv loaded, then enable
  1088. it in your AUTOEXEC.BAT.
  1089. My Windows startup batch file (W31.BAT) is included here. You can view its
  1090. contents with Notepad.
  1091.  
  1092. SET MOUSE=C:\MOUSE
  1093.  
  1094. is required to read the MOUSE.INI parameters upon loading, by the majority of
  1095. DOS mouse drivers out there, by most DOS programs, and by most Windows
  1096. 9x/3.xx virtual mouse drivers, too.
  1097.  
  1098. Use:
  1099.  
  1100. LOADHIGH=C:\MOUSE\MOUSE <YOUR_MOUSE_DRIVER_PARAMETERS>
  1101.  
  1102. to load your DOS mode mouse driver from AUTOEXEC.BAT. You need it with Win31
  1103. ONLY IF you run ANY DOS programs/games that use a mouse OUTSIDE the Windows
  1104. GUI, in native MS-DOS. This allows your DOS mouse driver to load the custom
  1105. settings from the MOUSE.INI initialization file located in the directory
  1106. specified by the "SET MOUSE=" line (C:\MOUSE in this case).
  1107. Change the DOS mouse driver's directory if different and adapt its parameters
  1108. to your own mouse driver/hardware specifications.
  1109. If you never use DOS programs outside Windows in real MS-DOS mode, remove
  1110. these lines pointing to your DOS mouse driver from your AUTOEXEC.BAT (or
  1111. CONFIG.SYS in some cases, if you use any MOUSE.SYS devices instead).
  1112. Example of .SYS mouse driver loaded from CONFIG.SYS:
  1113.  
  1114. DEVICEHIGH=C:\MOUSE\MOUSE.SYS <YOUR_MOUSE_DRIVER_PARAMETERS>
  1115.  
  1116. LogiTech Mouse drivers require this SET line (example) to point to the
  1117. location of MOUSEDRV.INI (LogiTech mouse initialization file):
  1118.  
  1119. SET LMOUSE=C:\MOUSE
  1120.  
  1121. instead of the default "SET MOUSE=" line. Add it to your AUTOEXEC.BAT if you
  1122. use LogiTech mouse drivers.
  1123.  
  1124. Microsoft DOS Mouse Drivers (MOUSE.COM, MSMOUSE.EXE or MOUSE.EXE) included
  1125. with MS-DOS, Windows 3.xx/9x and IntelliPoint Mice software use MSMOUSE.INI,
  1126. MOUSE.INI or MSINPUT.INI (depending on different mouse driver versions) as
  1127. initialization files, located by default in the MS Mouse directory, and don't
  1128. usually need a "SET MOUSE=" line. If you'd like to have MSINPUT.INI reside in
  1129. a different directory, add this line to your AUTOEXEC.BAT (example):
  1130.  
  1131. SET MSINPUT=C:\MOUSE
  1132.  
  1133. To load the COMMAND.COM environment (not moved by ShellMax) into upper RAM, I
  1134. use EnviMax, part of DosMax 2.1 (see above):
  1135.  
  1136. C:\MAX\ENVIMAX.COM N+
  1137.  
  1138.  
  1139.  
  1140.                 Killer Replacements
  1141.  
  1142.  
  1143.  
  1144. I have replaced some of the default Microsoft drivers/devices/TSRs (included
  1145. with MS-DOS 6.xx and MS Windows 9x/ME) with 3rd party counterparts (most of
  1146. which are freeware if not specified otherwise), because I have found them to
  1147. be better, faster, more compatible alternatives and most importantly almost
  1148. ALL take less DOS memory, thus saving more conventional (low) RAM, by loading
  1149. in upper memory (UMA), using DEVICEHIGH (or INSTALLHIGH) in CONFIG.SYS, or
  1150. LOADHIGH (LH for short) in AUTOEXEC.BAT.
  1151. An upper/extended/expanded memory manager like EMM386.EXE or UMBPCI.SYS (both
  1152. using HIMEM.SYS to map the UMA) is required in CONFIG.SYS. Here they are:
  1153.  
  1154. Microsoft DEFAULT Device/Driver/TSR:    BEST 3rd Party Replacement/Add-on:
  1155. ------------------------------------------------------------------------------
  1156. HIMEM.SYS v3.10 = High + extended DOS    HIRAM.EXE v1.9 = Upper memory mapper
  1157. memory manager: 1 KB of low DOS mem.    (freeware) using UMBPCI.SYS +
  1158. Does NOT provide upper DOS mem!        HIMEM.SYS: NO DOS mem.
  1159.                     Loads HIMEM.SYS + UMBPCI.SYS in upper
  1160.                     mem!
  1161.  
  1162. EMM386.EXE v4.49 = Upper, extended +    UMBPCI.SYS v3.39a = Uwe Sieber's upper
  1163. expanded DOS memory manager using    memory provider (freeware) using
  1164. HIMEM.SYS: 4.2 KB of low DOS mem.    HIMEM.SYS: 240 Bytes of low DOS mem.
  1165. Slower!                    Does NOT provide expanded DOS mem!
  1166. Takes more RAM!                Faster!
  1167.                     Takes less RAM!
  1168.  
  1169. DOS CD/DVD driver = NOT provided!    VIDE-CDD.SYS v2.14 = Acer "Universal"
  1170. [Win98/98 SE and WinME are the ONLY    DOS (E)IDE/ATAPI CD/DVD driver (free):
  1171. Microsoft OSes able to create bootup    5 KB of upper DOS mem.
  1172. floppies with 3rd party DOS CD/DVD    Takes less RAM!
  1173. drivers!]
  1174. Take more RAM!
  1175.  
  1176. ANSI.SYS = DOS BIOS display        NANSI.SYS v3.4 = Daniel Kegel's BIOS
  1177. accelerator + key remapper: 4.2 KB    display accelerator + key remapper
  1178. of upper DOS mem.            (free GNU): 3.2 KB of upper DOS mem.
  1179. Slower!                    Faster!
  1180. Takes more RAM!                Takes less RAM!
  1181.  
  1182. RAMDRIVE.SYS = RAM Disk driver: 1 KB    XMSDSK.EXE v1.9i = RAM Disk driver
  1183. of upper DOS mem, loads ONLY from    (freeware): 688 Bytes of upper DOS
  1184. CONFIG.SYS, canNOT unload, shifts    mem, loads/unloads from AUTOEXEC.BAT
  1185. drive letters.                or native DOS prompt, does NOT shift
  1186. Max RAM    drive limit: 32 MB.        drive letters.
  1187. Takes more RAM!                Max RAM    drive limit: 2 GB.
  1188.                     Takes less RAM!
  1189.  
  1190. MSCDEX.EXE v2.23 = DOS CD-ROM        NWCDEX.EXE v2.81 = Lineo CD-ROM
  1191. Extensions: 16 KB of upper DOS mem    Extensions (part of DR-DOS 7.03, free
  1192. with expanded mem enabled by the    trial): 1 KB of upper DOS mem with
  1193. EMM386.EXE "RAM" switch.        expanded mem enabled by the EMM386.EXE
  1194. Faster!                    "RAM" switch.
  1195. Takes more RAM!                Slower!
  1196.                     Takes less RAM!
  1197.  
  1198. SMARTDRV.EXE v5.0x = DOS disk cache:    CACHECLK.EXE v4.2 = Helix Software
  1199. 8 - 40 KB of upper DOS mem.        cloaked disk cache (part of Multimedia
  1200. Slower!                    Cloacking Package, retail): 3 KB of
  1201. Takes more RAM!                upper DOS mem. Use with CAUTION!
  1202.                     Faster!
  1203.                     Takes less RAM!
  1204.  
  1205. (MS)MOUSE.COM(EXE) v6.xx - 11.xx =    CTMOUSE.EXE v2.0 = Serial and PS/2 DOS
  1206. Serial and PS/2 DOS Mouse driver:    mouse driver (free GNU): 3.3 KB of
  1207. 16 - 52 KB of upper DOS mem.        upper DOS mem.
  1208. Slower!                    Faster!
  1209. Takes more RAM!                Takes less RAM!
  1210.  
  1211. DOSKEY.COM = DOS command line        RECALL.COM v1.2c = DOS command line
  1212. recall/editor: 3.5 KB of upper DOS    recall/editor (public domain): 2.5 KB
  1213. mem.                    of upper DOS mem.
  1214. Slower!                    Faster!
  1215. Takes more RAM!                Takes less RAM!
  1216.  
  1217. MODE.COM = DOS keyboard accelerator:    HYPERKEY.EXE v4.77 = HyperWare
  1218. no DOS mem.                keyboard accelerator (nag shareware):
  1219. Slower!                    2.5 KB of upper DOS mem.
  1220.                     Faster!
  1221.  
  1222. DOS text mode video BIOS accelerator    ZENO174.EXE v1.74 = DOS text mode
  1223. = NOT provided!                video BIOS accelerator (public
  1224.                     domain): 1 KB of upper DOS mem.
  1225.                     Fast!
  1226.  
  1227. NOTES:
  1228. - *READ* each program's provided documentation *FIRST* for proper usage!
  1229. - See SOFTWARE.TXT (included) for ALL related download links.
  1230.  
  1231. ... And here are my CONFIG.SYS + AUTOEXEC.BAT lines (ONLY AS EXAMPLES!) for
  1232. all devices, drivers + TSRs listed above, tested and used successfully ONLY on
  1233. my PCs (see "BASIC *ESSENTIAL* MEMORY TIPS" further above), using MY OWN
  1234. CUSTOM system SETTINGS: directory NAMES (my MS-DOS 6.22 directory is called
  1235. C:\DOS), CPU, ROM BIOS, Video BIOS, motherboard chipset, hard disk controller
  1236. BIOS etc!
  1237. You NEED to adapt them to YOUR OWN system to make them work PROPERLY, and
  1238. BEWARE that some MAY NOT work with YOUR particular hardware/software/OS
  1239. "combo":
  1240.  
  1241. - UMBPCI.SYS v3.39a, HIRAM.EXE v1.9 + HIMEM.SYS v3.10 in CONFIG.SYS to load
  1242. HIMEM.SYS in UMA [lines below MUST appear in this *EXACT* order!]:
  1243. DOS=HIGH,UMB
  1244. DEVICE=C:\MAX\UMBPCI.SYS
  1245. DEVICE=C:\MAX\HIRAM.EXE
  1246. DEVICEHIGH=C:\DOS\HIMEM.SYS /NUMHANDLES=128 /TESTMEM:OFF /Q
  1247. NOTE: HIRAM.EXE canNOT be used with Windows ME [a.k.a. MS-DOS 8.00] because
  1248. HIMEM.SYS loads from IO.SYS, BEFORE CONFIG.SYS is processed!
  1249. If you dual-boot between Window 95/98/ME [a.k.a. MS-DOS 7.xx/8.00] and MS-DOS
  1250. 6.xx [from 6.00 up to 6.22] + Windows/WfWG 3.1x it is STRONGLY RECOMMENDED to
  1251. use the newer HIMEM.SYS v3.95 bundled with Windows 9x/ME in BOTH your Win9x/ME
  1252. CONFIG.SYS [renamed to CONFIG.W40 by MS-DOS 6.xx] AND MS-DOS 6.xx CONFIG.SYS
  1253. [renamed to CONFIG.DOS by Win9x/ME] for improved compatibility!
  1254. See my Complete UMBPCI.SYS Guide for more details:
  1255. http://members.aol.com/axcel216/umb.htm
  1256.  
  1257. - VIDE-CDD.SYS v2.14 in CONFIG.SYS (using 2 CD/DVD drives):
  1258. DEVICEHIGH=C:\CDROM\VIDE-CDD.SYS /D:DVD--ROM /D:CD--RW
  1259. See "CD-ROM DRIVERS 4 DOS" in MYTIPS31.TXT (included) for more details.
  1260.  
  1261. - NANSI.SYS v3.4 in CONFIG.SYS:
  1262. DEVICEHIGH=C:\MAX\NANSI.SYS /K /X
  1263.  
  1264. - XMSDSK.EXE v1.9i creates here a 40 MB RAM disk (F) in extended (XMS) memory
  1265. (loads itself high if UMA is available) in CONFIG.SYS:
  1266. INSTALL=C:\MAX\XMSDSK.EXE 40960 F: /T /Y
  1267. or in AUTOEXEC.BAT:
  1268. C:\MAX\XMSDSK.EXE 40960 F: /T /Y
  1269. You MUST load XMSDSK.EXE BEFORE your CD-ROM Extensions driver (MSCDEX.EXE,
  1270. NWCDEX.EXE etc) in CONFIG.SYS or AUTOEXEC.BAT to avoid CD/DVD drive letters
  1271. SHIFTING!
  1272.  
  1273. - NWCDEX.EXE v2.81 (using 2 CD/DVD drives) in CONFIG.SYS:
  1274. INSTALLHIGH=C:\DRDOS\NWCDEX.EXE /D:DVD--ROM /D:CD--RW /M:20 /E /F:99
  1275. or in AUTOEXEC.BAT:
  1276. LOADHIGH=C:\DRDOS\NWCDEX.EXE /D:DVD--ROM /D:CD--RW /M:20 /E /F:99
  1277. NWCDEX.EXE (same as Microsoft MSCDEX.EXE) REQUIRES a CD/DVD driver (like
  1278. VIDE-CDD.SYS above) ALREADY loaded in CONFIG.SYS.
  1279.  
  1280. - CACHECLK.EXE v4.2 in AUTOEXEC.BAT requires one of these Helix drivers to
  1281. load FIRST:
  1282. * CLOAKING.EXE v1.02 in AUTOEXEC.BAT:
  1283. LOADHIGH=C:\HELIX\CLOAKING.EXE
  1284. or in CONFIG.SYS:
  1285. INSTALLHIGH=C:\HELIX\CLOAKING.EXE
  1286. * or NetRoom RM386.EXE memory manager in CONFIG.SYS:
  1287. DEVICE=C:\HELIX\RM386.EXE X=F000-FFFF I=B000-B7FF AUTO H=128 NMION NOC NOPS2 NOT NOTR Q
  1288. CACHECLK.EXE is set here NOT to cache ANY drives, but I use it in combination
  1289. with Microsoft SMARTDRV.EXE in my AUTOEXEC.BAT (which loads itself high if UMA
  1290. is available), in this EXACT order in AUTOEXEC.BAT:
  1291. LOADHIGH=C:\HELIX\CACHECLK.EXE EX=1 EX=2 EX=3 EX=4 NOCD NOWF NOF K=1 WB=1
  1292. C:\DOS\SMARTDRV.EXE 6144 16 A+ B- C+ D E /N /B:8192 /E:32768
  1293. or in CONFIG.SYS:
  1294. INSTALLHIGH=C:\HELIX\CACHECLK.EXE EX=1 EX=2 EX=3 EX=4 NOCD NOWF NOF K=1 WB=1
  1295. INSTALL=C:\DOS\SMARTDRV.EXE 6144 16 A+ B- C+ D E /N /B:8192 /E:32768
  1296. to BOOST cached disk transfer for ALL installed drives.
  1297. CAUTION: CACHECLK.EXE may cause disk errors or lockups on some older PCs!
  1298.  
  1299. - CTMOUSE.EXE v2.0 (loads itself high if UMA enabled) in CONFIG.SYS:
  1300. INSTALL=C:\MAX\CTMOUSE.EXE /R44
  1301. or in AUTOEXEC.BAT:
  1302. C:\MAX\CTMOUSE.EXE /R44
  1303.  
  1304. - RECALL.COM v1.2c in CONFIG.SYS:
  1305. INSTALLHIGH=C:\MAX\RECALL.COM -I
  1306. or in AUTOEXEC.BAT:
  1307. LOADHIGH=C:\MAX\RECALL.COM -I
  1308.  
  1309. - HYPERKEY.EXE v4.77 (loads itself high with the "XS" switch if UMA enabled)
  1310. in CONFIG.SYS:
  1311. 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:+
  1312. or in AUTOEXEC.BAT:
  1313. C:\MAX\HYPERKEY.EXE XS A:+ C:1 C:- CR:- D:300 H:127 KW:- L:1 P:30 R:30 W:+ OK:- OX:+
  1314. in combination with Microsoft MODE.COM (uses NO memory) in AUTOEXEC.BAT:
  1315. C:\DOS\MODE.COM CON: RATE=32 DELAY=1
  1316. for FASTEST keyboard response in ALL DOS modes.
  1317.  
  1318. - ZENO174.EXE v1.74 in CONFIG.SYS (takes less memory):
  1319. DEVICEHIGH=C:\MAX\ZENO174.EXE /Q
  1320. or in AUTOEXEC.BAT (takes more memory):
  1321. LOADHIGH=C:\MAX\ZENO174.EXE /Q
  1322.  
  1323.  
  1324.  
  1325.                 Notes + Wrap-Up
  1326.  
  1327.  
  1328.  
  1329. * My MS-DOS 6.22 [+ MS WfWG 3.11] CONFIG.SYS and AUTOEXEC.BAT files, with
  1330. EVERYTHING loaded high, give me 625 KB of FREE low (conventional) memory (RAM)
  1331. and at least 23 KB of FREE upper memory (UMA) using Microsoft's HIMEM.SYS +
  1332. EMM386.EXE memory managers.
  1333. This is ENOUGH to run ANY "memory hungry" DOS program/game in native/real
  1334. MS-DOS mode, OUTSIDE Windows/WfWG 3.1x GUI.
  1335.  
  1336. * ALWAYS make sure to allocate ALL your computer's memory (RAM) as expanded or
  1337. extended, using EMM386.EXE:
  1338. - the "RAM" switch to provide expanded memory (EMS) combined with "AUTO" to
  1339. provide also extended memory upon demand or:
  1340. - the "NOEMS" switch to provide ONLY extended memory (XMS).
  1341. Do NOT use the "NOEMS" parameter on your EMM386.EXE line in CONFIG.SYS IF your
  1342. DOS based programs/games need EXPANDED MEMORY!
  1343.  
  1344. * If your DOS TSRs/drivers/devices are loaded "high" in your CONFIG.SYS (with
  1345. DEVICEHIGH) and AUTOEXEC.BAT (with LH), and have in native MS-DOS before
  1346. launching Windows, less than 16 KB of free upper RAM (the first 384 KB of
  1347. memory above the 640 KB boundary), make sure to remove the following line,
  1348. remark it with a semicolon (;), or change its numeric value to 0, under the
  1349. [386enh] section of your SYSTEM.INI file, located in your Windows directory:
  1350. LocalLoadHigh=0
  1351. If this line has a value of 1, you won't be able to start Windows with less
  1352. than 16 KB of free upper memory on some systems, depending on your Video card
  1353. and/or BIOS ROM upper memory address locations!
  1354. This applies to Windows/WfWG 3.1x (386 enhanced mode ONLY) AND Windows 9x/ME.
  1355. See "LOCALLOADHIGH" in MYTIPS31.TXT (included) for more details.
  1356.  
  1357. * IF you don't use ANY DOS communications software and/or IF you're NOT
  1358. connected to a DOS based Network, DO NOT load SHARE.EXE in your AUTOEXEC.BAT!
  1359. REMark this line by adding a double colon (::) in front of it:
  1360. :: C:\DOS\SHARE.EXE
  1361. Use Win31's file sharing driver VSHARE.386 instead.
  1362. Download the updated VSHARE.386 v3.11.0.402 for Windows/WfWG 3.1x [22 KB,
  1363. free]:
  1364. ftp://ftp.microsoft.com/softlib/mslfiles/WW1000.EXE
  1365. Then change this line:
  1366. device=*vshare
  1367. to read:
  1368. device=vshare.386
  1369. under the [386enh] section of your SYSTEM.INI, and make sure VSHARE.386 resides
  1370. in your \WINDOWS\SYSTEM directory!
  1371. If you use ANY DOS programs (from a DOS box/session) that need a sharing
  1372. violation message for proper operation, turn it on in your SYSTEM.INI's
  1373. [386enh] section, by adding/editing this line:
  1374. EnableSharingPopups=ON
  1375.  
  1376. * There is a good probability that if you own a relatively new computer (486DX
  1377. or better), you won't need SETVER.EXE loaded in your CONFIG.SYS.
  1378. ONLY IF you determined you do NOT need SETVER.EXE: you're NOT using ANY older
  1379. IBM or ANY 3rd party ESDI/IDE/ATA hard disk drivers, older 3rd party disk
  1380. compression tools (other than Microsoft's DblSpace/DrvSpace), or ANY older DOS
  1381. Network drivers, delete (BUT BACKUP FIRST!) the SETVER.EXE file from your \DOS
  1382. directory (default location), and REMark with a semicolon (;) this CONFIG.SYS
  1383. line (example):
  1384. ; DEVICE=C:\DOS\SETVER.EXE
  1385. If you'll need it later on, you can always extract SETVER.EXE from your MS-DOS
  1386. 6.xx Setup floppies to your \DOS directory, by running:
  1387. EXPAND A:\SETVER.EX_ C:\DOS\SETVER.EXE
  1388. and then reenable its CONFIG.SYS line, by removing the preceding semicolon:
  1389. DEVICE=C:\DOS\SETVER.EXE
  1390.  
  1391. * NetRoom (Helix) or QEMM (Quarterdeck) users NEED to add/modify the following
  1392. lines into your SYSTEM.INI file (found in your Windows directory), under the
  1393. [386enh] section, to enable Windows to load properly with NetRoom or QEMM
  1394. memory managers' special features enabled in your CONFIG.SYS:
  1395.  
  1396. SystemROMBreakPoint=false    ONLY IF Stealth (QEMM) or VidCloak/SysCloak
  1397.                 (NetRoom) are enabled!
  1398.  
  1399. EMMExclude=A000-FFFF        With ANY QEMM/NetRoom configuration!
  1400.  
  1401. DualDisplay=ON            With ANY QEMM/NetRoom configuration!
  1402.  
  1403. The line "SystemROMBreakPoint=false" above is needed ONLY IF you use QEMM's
  1404. Stealth or NetRoom's VidCloak/SysCloak relocation features of moving the
  1405. Extended BIOS and/or Video BIOS areas to the upper/extended memory, and ONLY
  1406. IF using QEMM 8.0x or older (QEMM386.SYS) or NetRoom 3.0x (RM386.EXE).
  1407. Edit SYSTEM.INI with Notepad or Sysedit, and make your changes ONLY AFTER
  1408. BACKING IT UP! Restart Windows so your changes can take effect.
  1409. For more helpful SYSTEM.INI settings see "SYSTEM.INI TWEAKS" in MYTIPS31.TXT
  1410. (included).
  1411.  
  1412. * A MUST! = FREE for OWNERS of QuarterDeck QEMM memory manager v8.0x
  1413. (QEMM386.SYS) => upgrade to QEMM v8.03:
  1414. http://www.symantec.com/techsupp/files/qemm/qemm8.html
  1415. or get QEMM 97 v9.0 (current release):
  1416. http://www.chsoft.com/dv.html
  1417.  
  1418. * NetRoom manager uses a proprietary technology called Cloaking, to let other
  1419. Helix Software drivers (MSCDEX.EXE, MOUSE.EXE, CACHECLK.EXE included with
  1420. Multimedia Cloaking Package) load in 32-bit protected mode in extended memory.
  1421. Some Helix Cloaked devices (like Cacheclk) are not compatible with Windows or
  1422. with some of the DOS games that use the DOS Extender technology (DOS4GW) to
  1423. load and use the extended memory on your system at full extent (another 32-bit
  1424. protected mode approach). A DOS game that is not compatible with ANY of the
  1425. Helix memory management tools is Dragon Lore CD-ROM. It works ONLY with
  1426. Microsoft's EMM386.EXE memory manager, according to their tech support!
  1427. Get the cloaked MSCDEX v2.23 [18 KB]:
  1428. http://dos.li5.org/DOWNLOAD/MSCDEX.ZIP
  1429. and CLOAKING.EXE v1.02 [13 KB]:
  1430. http://dos.li5.org/DOWNLOAD/CLOAKING.ZIP
  1431. MSCDEX.EXE uses 1 KB of upper DOS RAM and 16-48 KB of extended RAM (depending
  1432. on the number of /M:XX buffers) if CLOAKING.EXE loads FIRST with LOADHIGH in
  1433. AUTOEXEC.BAT (upper memory manager required in CONFIG.SYS). Example:
  1434. LOADHIGH=C:\HELIX\CLOAKING.EXE
  1435. LOADHIGH=C:\HELIX\MSCDEX.EXE /D:MYCROM /M:20 /B
  1436.  
  1437. * Certain DOS programs and games using a DOS/4G extender (DPMI host:
  1438. CWSDPMI.EXE or DOS4GW.EXE) may generate: Error 35, A20 Handler Error,
  1439. "Himem.sys is missing" and/or "Unable to control A20 line" errors etc after
  1440. being installed, if this line does NOT exist in your AUTOEXEC.BAT file:
  1441. SET DOS16M=2
  1442. In some cases you also need to add the /M:1 (machine type 1 = generic IBM PC
  1443. clone) switch to your CONFIG.SYS HIMEM.SYS line (example):
  1444. DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF /M:1
  1445.  
  1446. * I primarily use Cute Mouse v2.0 16-bit Mouse Driver for DOS, which works
  1447. with all Microsoft, LogiTech, Mouse Systems and compatible serial + PS/2
  1448. mice/trackballs [50 KB, free GNU]:
  1449. http://cutemouse.sourceforge.net/
  1450. mostly for speed, as this is the FASTEST DOS mouse driver available!
  1451. CTMOUSE.EXE uses only 3.3 KB of upper DOS RAM (upper memory manager required
  1452. in CONFIG.SYS).
  1453. The AUTOEXEC.BAT LOADHIGH command (LH for short) is not needed, because
  1454. CTMOUSE loads itself "high". Example:
  1455. C:\MAX\CTMOUSE.EXE /R44
  1456.  
  1457. * I also use LogiTech MouseWare Cloaked Mouse Driver for DOS, which works with
  1458. most LogiTech, Microsoft and compatible serial + PS/2 mice/trackballs [free]:
  1459. - MOUSE.EXE v8.20 [103 KB]:
  1460. http://www2.driverguide.com/files/uploads4/2834/Mouse.exe
  1461. - CLOAKING.EXE v1.02 [13 KB]:
  1462. http://dos.li5.org/DOWNLOAD/CLOAKING.ZIP
  1463. MOUSE.EXE uses 1 KB of upper DOS RAM and 54 KB of extended RAM if CLOAKING.EXE
  1464. loads FIRST with LOADHIGH in AUTOEXEC.BAT (upper memory manager required in
  1465. CONFIG.SYS). Example:
  1466. LOADHIGH=C:\HELIX\CLOAKING.EXE
  1467. LOADHIGH=C:\MAX\MOUSE.EXE MEMSA AHIGH S04
  1468. WARNING: MOUSE.EXE may generate conflicts with certain Windows setups!
  1469.  
  1470. IMPORTANT: For details on using your 3rd party memory manager with MS
  1471. Windows/MS-DOS *READ* the provided documentation: UMBPCI, QEMM, CEMM, NetRoom,
  1472. EMM386, 386MAX, BlueMax etc!
  1473.  
  1474. * With all the TSRs/devices/drivers loaded in the upper memory area you may be
  1475. able to "squeeze" a maximum of 625 KB of free conventional memory in native
  1476. MS-DOS mode outside Windows, without using any 3rd party memory management
  1477. special features. You'll NEVER need more than 620 KB of free low RAM to run
  1478. ANY DOS program/game created in the last 3-6 years anyway.
  1479.  
  1480. Have fun.