Computer Help Forums

Computer Help Forum > Computers > Software > [tweak] Increase / free up conventional memory for Windows 98

Reply
Thread Tools Display Modes

[tweak] Increase / free up conventional memory for Windows 98

 
 
Photojournalist

Join Date: Dec 2002
Location: Maine, USA
Posts: 6,662
Thanked: 0

James's Avatar

 
      Jul 13th, 03, 12:39 AM
Free up Conventional Memory Windows 9X

What is conventional memory?
The first 640 KB of system memory is called conventional memory. The name refers to the fact that this is where DOS, and DOS programs, conventionally run. Originally, this was the only place that programs could run; today, despite much more memory being added to the PC, this 640 KB area remains the most important in many cases. The reason is that without special software support, DOS cannot run programs that are not in this special area. Conventional memory occupies addresses 00000h to 9FFFFh.

MS-DOS-based programs require a certain amount of Conventional Memory to run,
even when you run them in Windows.
If you attempt to run an MS-DOS-based program that requires more Conventional Memory than is currently
available on your computer, the program may not run correctly or at all,
and an error message indicating that there is insufficient memory to run the program may be displayed.
When this occurs, you must reconfigure your computer so that more Conventional Memory is available.

To will free up a huge chunk of Conventional memory if your Hard Drive is not compressed .
Edit your Msdos.sys so it doesn't load the compression drivers
Note: This works only on Uncompressed Drives as most drives aren't compressed these days
Always have a back up MSDOS.SYS before editing it, such as on a Boot Disk.
This will make Msdos.sys stop loading your drivespace & doublespace compression drivers
Make these changes in your Msdos.sys under options.
Code:
[options]
 drvspace=0
 dblspace=0
This is how a basic MSDOS.SYS looks
Note in this example the XXXXXXes are in the middle of the Options Section which is fine but can be moved below.
It might be easier to deal with if the Options Section is all in one place but just don't remove the XXXXXXX filler.
This is just an example for gaining conventional memory I'd have more suggestions on the Msdos.sys page.
Code:
[Paths]
 WinDir=C:\WINDOWS
 WinBootDir=C:\WINDOWS
 HostWinBootDrv=C
 
 [Options]
 BootMulti=0
 BootGUI=1
 ;
 ;The following lines are required for compatibility with other programs.
 ;Do not remove them (MSDOS.SYS needs to be >1024 bytes).
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxh
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxj
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxm
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxn
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxo
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxp
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr
 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs
 BootDelay=2
 Logo=0
 Network=0
 BootWarn=0
 DblSpace=0
 DrvSpace=0
 DoubleBuffer=0
 BootKeys=1
Next you can modify your Config.sys and Autoexec.bat files for Running Windows or DOS

Many people choose not to use the Config.sys and Autoexec.bat
You can just Rename or Empty your Config.sys and Autoexec.bat and Windows will run Default values

Or you can use some of these tips.

To edit these files it's easiest to use the System Editor - SYSEDIT.EXE
You can use RUN on the Start Button Menu and type SYSEDIT.EXE

Or you can Right Click on any blank space on the Desktop or a Folder and Select
New | Shortcut | Command Line | SYSEDIT.EXE and name it | System Editor

Then just select the Window of the file you wish to edit.

Loading High in these files for a Windows bootup is not really a good idea

If you're not loading Compression Drivers from the Msdos.sys you shouldn't have to worry about Coventional Memory

Then the idea would be freeing up Upper Memory

First you'll need to load the Himem.sys because it needs to load before the Emm386.exe
Then DOS=HIGH,UMB is used specify the memory location for DOS
And by using the
DEVICE=C:\WINDOWS\EMM386.EXE noems frame=none
To disabled use of a 64K page frame in upper memory for expanded memory use frame=none
DEVICE=C:\WINDOWS\EMM386.EXE noems frame=none I=B000-B7FF
This disables the monochrome area that is used by old DOS programs that used monochrome.

Also you can add these lines to System.ini for Windows
Code:
[386Enh]
 NoEMMDriver=True
 EMMInclude=B000-B7FF
Then you can free up some more Upper Memory by using these lines

The first line is not need but it makes the IFSHLP.SYS load in Conventional Memory freeing up some Upper Memory
Code:
DEVICE=C:\WINDOWS\IFSHLP.SYS
 BUFFERS=13
 FILES=40
Here is an example of how a plain Config.sys looks using these tips
Code:
DEVICE=C:\WINDOWS\HIMEM.SYS /testmem:off
 DOS=HIGH,UMB
 DEVICE=C:\WINDOWS\EMM386.EXE noems frame=none I=B000-B7FF
 DEVICE=C:\WINDOWS\IFSHLP.SYS
 BUFFERS=13
 FILES=40
Nothing is needed in the Autoexec.bat for a plain Windows Boot

The echo off is used so if you add command to the Autoexec.bat the Command isn't displayed just the results of that Command
You might want to create a MEM.TXT "explained below"
Or have your Anti-virus scan you Boot files

A example of a plain Autoexec.bat would be
Code:
ECHO OFF
 MEM /C > MEM.TXT
Now if you need to free up more Conventional Memory for running in DOS you can Load High

But this will take away Upper Memory from Windows so it's best to use these lines for just Dos
Loading High in the Autoexec.bat
LH C:\MOUSE.EXE
instead the of the current mouse.exe line.
Use the current path if mouse.exe is not in the Root Directory C:\
LH stands for Load High.
Loading the Mouse or any other Hardware Driver for Normal Windows use is not needed -"just an example"

Loading Devices High in the Config.sys
Replace "Device" on the *****_ CD line with DEVICEHIGH, for example:
Code:
DEVICEHIGH=C:\*****_CD.SYS /D:MSCD000 /I:O
 Loading Hardware Drivers for Normal Windows use is not needed -"this just an example"
Note: Himem or EMM386 cannot load High because these are the memory managers.

If you're setting up for System to Boot in DOS I suggest you edit the Config.sys to create another Boot Menu
That way you can have things set for both a Windows Boot and a DOS Boot.

If you put this line in your Autoexec.bat
Code:
MEM /C > MEM.TXT
It will create a text file called MEM in your C:\ drive everytime your computer boots up.
This is created before Windows loads from your Autoexec.bat
You can compare it with MEM from a Windows command prompt after Windows loads.
This Text file will be copied over every boot up when Autoexec.bat runs.
Copy this Text file if you want to keep a record to compare.

Quick tips:
Use this DOS command to check memory usage and the amount free: "MEM /C /P".

The one really tricky thing is Windows 95's compression driver and how to manage it. (Well, the best way is not to use compression at all if this is possible...) The DRVSPACE compression driver is large--110 KB in size--so it's difficult to handle. You have a couple of choices of how to configure loading the driver, as there is a tradeoff here:
  • Maximize DOS Conventional Memory In DOS Mode: If you tell the system to load the compression driver into upper memory (by using DEVICEHIGH on the command in CONFIG.SYS that loads DRVSPACE.SYS), this will save 110 KB of conventional memory when you are running in MS-DOS mode. However, the 110 KB of upper memory will force other drivers into conventional memory, causing the free conventional memory to decrease. This is still better than leaving the 110 KB also in conventional memory. When you run "true" Windows 95, with the graphical interface, Windows will leave the compression driver in the upper memory area instead of loading an extended-memory version, so your DOS sessions in Windows 95 will have less conventional memory.
  • Maximize DOS Conventional Memory In DOS Sessions: If free conventional memory is more important to you in DOS sessions under Windows 95 proper, do not load DriveSpace using DEVICEHIGH, but rather leave it in conventional memory. If you do this, and add the "/MOVE" parameter to the DRVSPACE line, then Windows 95 will automatically move the driver to extended memory when the graphical interface starts, thus saving the entire 110 KB from both conventional and upper memory. This is the best solution when running inside the graphical interface, since the driver is completely out of the way. The drawback is that if you shut down to "MS-DOS mode", Windows will move the driver back into conventional memory, and you will take a 110 KB hit leaving many DOS programs unable to load. The line in CONFIG.SYS if you select this option should look like: "DEVICE=C:\WINDOWS\COMMAND\DRVSPACE.SYS /MOVE". Note that if you use DEVICEHIGH, Windows will not relocate the driver to extended memory, as mentioned above.
 

 
Learn about the man behind the screen.

J&R Ogden Photography
Reply With Quote
 
 
 
 
Resident Filmaker

Join Date: Nov 2003
Location: North Wales, Britain
Posts: 2,534
Thanked: 4

Nickweb's Avatar

 
      Nov 28th, 03, 12:43 PM
whoa
 

 

Heh apparently I did merge 2 threads in my head. I win. - Cryptoboats
Films by Nick | Stuff by Nick | My YouTube
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
conventional memory replacement cisz PC Hardware 10 Feb 12th, 10 1:24 AM
[SOLVED] Selling my conventional laptop to buy EEE PC Nick Le Lievre DIY Computers 3 Sep 9th, 08 11:31 AM
[SOLVED] Re: not enough conventional mem on CD boot plato Computing 0 Oct 9th, 05 12:46 AM
Limited Virtual Memory - Pagefile Increase sunandoghosh Software 7 Aug 2nd, 05 5:08 PM
[SOLVED] How much speed increase from doubling the cpu cache? Puck DIY Computers 5 Sep 13th, 03 12:31 AM