OPTIMIZING YOUR WINDOWS 95 or 98 STARTUP FILES FOR DOS PROGRAMS/GAMES

 Windows 95 version "OSR2" users should note that "OSR2" as distributed does not support dual booting older DOS (without an "unofficial" patch-available from the OSR2 FAQ Pages noted below) like the original version of Windows 95. Windows 98 does support booting "old DOS." Note: With either Windows 95 OSR2.x or Windows 98-if any of your harddrives are "FAT32" formatted, "old DOS" will not be able to access them. The unofficial "fix" for this dual boot problem can be downloaded via the OSR2 FAQ Pages.
Also, some European versions of Windows 95 OSR2 have a BUG that causes HIMEM.SYS to occupy 45KB of conventional memory instead of less than 5KB. Read the Microsoft technote (Q170456) and download the fixes from Microsoft's Knowledge Base.


By: Mark Stotzer
Pacific Grove, California, USA
Original article: March 1996-Updated: January 26, 1999.

From observing numerous recent DOS user postings on numerous USENET newsgroups, I would like to offer some alternate ways of running "problem" DOS programs (Usually games) with/within Windows 95/98.


Things you should try to get those "problem" DOS applications to work with Windows 95 or 98:

Note: Many users advocate booting your Win95/98 system to "old DOS" OR from a special boot floppy disk to solve problems with DOS applications. Windows 95 version OSR2 does not support dual booting old DOS as noted above. I contend that you should be able to set up your Windows 95 or 98 system to handle those DOS applications with Windows 95 or 98 succssfully as noted in the following paragraphs. If you follow these tips you should be able to "ditch" your "old DOS" files.

I have found that if I run my "problem" DOS applications (especially games) from a bootup "DOS 7.x" prompt (That is what is under Windows 95) I have better performance and less problems largely because it gives the DOS app or game the entire machine by itself. I still frequently use many DOS applications and utilities and sometimes simply do not want to automatically enter the Windows 95 Graphical User Interface (GUI) every time I boot up my system. I realize that by pressing the F8 key when you reboot and see "Starting Windows 95...." this will cause the "Boot Menu" to pop up and you can select your choice (In this case it would be "Command Prompt Only") from there each time. My intent is to show you how to automate that process.

NOTE for advanced users only: To further optimize your free DOS conventional memory you could try to use MSDOS 6.xx MEMMAKER with Windows 95 to try to automate the optimization of your startup (autoexec.bat and config.sys) files if your main problem is a shortage of free DOS memory. Make backup copies of your startup files first. Then get copies of the following files (They can be found on the original Win95 CDROM in the "Other\OldMSDOS folder) and copy them into your \WINDOWS directory: Memmaker.exe, Memmaker.hlp, Memmaker.inf, Sizer.exe, and Chkstate.sys. In order for this to work you must ONLY let your Win95 system boot to a DOS prompt. The easiest way to do this is to edit your MSDOS.SYS file (See how below) and temporarily change the parameter "BootGUI=1" to BootGUI=0" then reboot, run Memmaker and see if it helps. I've gotten up to 625KB free conventional DOS memory this way at times with Win95a and OSR2.


BOOTING WINDOWS 95 OR 98 TO AN MSDOS 7. x PROMPT

Here are the procedures step by step:

Note: The above startup configuration also allows you to susequently enter the Windows 95 Graphical User Interface or GUI by simply typing "win"<Enter> at the C> prompt.

Note: If the above does not work, you may have a hidden, system text file named "Winboot.ini" or "Winstart.ini" in your root C> drive directory that is read, on startup, instead of MSDOS.SYS. Rename either and reboot. It should then read MSDOS.SYS and do what we changed it to. So, now we are either booting up to a DOS 7.0 prompt automatically or by selecting it off the Boot Menu. Let's continue by tweaking your startup files to maximize your DOS free conventional memory.


OPTIMIZING YOUR STARTUP FILES FOR MAXIMUM FREE DOS MEMORY

Many of you may find that your Windows 95 startup files AUTOEXEC.BAT and CONFIG.SYS are rather barren compared to your earlier DOS versions. This is because Windows 95 installs itself assuming you want to always boot directly into the Graphical User Interface (GUI) and run all your programs from there. Well, that's not what we're after here!

Note 1: Windows 95 will load these drivers HIMEM.SYS, SETVER.EXE and IFSHLP.SYS into your upper memory upon bootup even if corresponding DEVICE or DEVICEHIGH= lines are NOT in your CONFIG.SYS file! We will load them the old fashioned way below, just in case the memory manager needs to "see" the lines.

Note 2: Win95 also has built in defaults for the PATH statement (the default path is c:\windows;c:\windows\command) and other DOS parameters like LASTDRIVE, FILES, etc.

DEVICE=C:\WINDOWS\HIMEM.SYS /M:1 (This gives you Extended memory-XMS) If you do not load it Win95 will automatically-it must loaded for Win95 to start!
DEVICE=C:\WINDOWS\EMM386.EXE RAM HIGHSCAN I=B700-B7FF D=64 H=255
The "RAM" parameter enables Expanded Memory (EMS) which uses 64KB of Upper Memory for something called a "page frame." The RAM parameter is needed for many DOS games. If not needed, you can regain the 64KB of Upper Memory by using the "NOEMS" parameter instead.
(Note: if you run into problems with above-try first removing the "HIGHSCAN" then try removing the I=B700-B7FF)
DOS=HIGH,UMB Loads part of DOS in the HMA, allows access to upper memory blocks.
FILES=100
BUFFERS=20
LASTDRIVE= Z (Optional-whatever letter you need)
SHELL=C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:1024 /P The /E parameter increases the size of your DOS "Environment" to 1024 bytes from the 256 byte default.
DEVICEHIGH=C:\CDROM\CDDRV.SYS /D:xxxxxxx (Must agree with /D: in MSCDEX below! The ;D parameter IS NOT the CDROM drive letter but a device name like "MSCD0001" or "OEMCD001")
DEVICEHIGH= (Your real mode, DOS sound card driver if needed)
DEVICEHIGH=C:\WINDOWS\SETVER.EXE Win95 will autoload this too.
DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS Win95 autoloads this too.
DEVICEHIGH=C:\WINDOWS\COMMAND\ANSI.SYS (If you need it)
Save it with Alt-F, Exit, Yes.


@ECHO OFF
PROMPT $p$g
SET BLASTER=
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND; plus whatever else you need.
SET (any other needed SET commands)
LH C:\WINDOWS\COMMAND\MSCDEX.EXE /D:xxxxx /E <--The /D: must agree with CDROM driver parameter in config.sys-the /D: here IS NOT the CDROM drive letter it is a device name like "MSCD001" or "OEMCD001." The /E command loads the CDROM in/out buffers in EMS memory and should ONLY be used if you use the "RAM" switch with EMM386.EXE in config.sys above. If you want to force the CDROM drive Letter try /L:<Drive letter>.
LH (Sound card program if needed)
REM LH C:\WINDOWS\SMARTDRV.EXE /X It is not recommended that you use this DOS level disk caching program with Windows 95 or 98. SMARTDRV fences off a large block (2MB or more) of RAM on startup that Windows can't access for non DOS applications once you enter the GUI. Loading it can cause other problems including reduced performance. I only show it here (REM'd out/disabled) because some DOS users who use it now might ask why I did not mention or use it.
LH C:\MOUSE\MOUSE.COM or EXE This allows your mouse to work with any DOS apps in MSDOS Mode or if you boot to a DOS prompt.
Save it with Alt-F, Exit, Yes.


Final Notes:


This article was originally published in Volume 1 Issue 3 of Computer Pilot Magazine (Aus).

Special thanks to Robert Ferraro of CP for permission to post.


If the information on this page was useful-check out my Main Help Page at this site!!