Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hello there
I am having a really big problem here (well actually someone else but I was kindly asked to fix it) and it is giving me headaches. He has been running a dos based program on windows 98 for years but just now an update came out which causes errors during certain operations such as printing. The problem is there isn't enough conventional memory available. The FAQ from the site addressed this problem and offered a solution.
Requirements for the program to run:
* Minimal of 590 Kilobytes conventional memory free.
* Minimal of 10 Kilobytes of Upper-Memory-Blocks free.
* share.exe can not be loaded.
* Filehandles=150 in config.sys.
* Localloadhigh=on in system.ini.-----------------------
Solution:This applies for Win 95 and Win 98, not for NT. You have to check your config.sys and system.ini (Start/Run.. sysedit), the followings must be in:
Config.sys:
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS
DOS=HIGH, UMB
FILES=150
BUFFERS=20Autoexec.bat:
ECHO OFF
PROMPT $p$g
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;
MODE CON CP PREPARE=((852) C:\WINDOWS\COMMAND\EGA.CPI) here 852 stands for Hungarian code page (chose else for other countries)
MODE CON CP SELECT=852
LH KEYB HU, ,C:\WINDOWS\COMMAND\KEYBRD.SYS here HU is the Hungarian country code (chose else for other countries)System.ini:
[386enh] at the end of this section
LocalLoadHigh=OnIf you check your memory with the Dos command MEM/c/p the available memory under 1 MB should be between 625Kb and 700 Kb depending on the database size and you license structure.[/quote]
Whatever I do I cannot get enough free memory. Even when I follow the steps above. I have 30 kb UMBs which are ALL being used. How can I make some of thos UMBs avaliable?
------------------------
This is how the autoexec.bat looked initially@echo OFF
SET PATH=%PATH%;c:\DMI\WIN32\BIN;"C:\ProgramFiles\MicrosoftSQLServer\80\Tools\Binn\";"C:\ProgramFiles\EA\bin"
SET WIN32DMIPATH=c:\dmi\win32
REM -disabled by Plato for SwingAll v1.1.1- SET CLASSPATH=C:\PROGRA~1\PLATOS~1\SWINGALL.JAR;.
SET CLASSPATH=C:\PROGRA~1\PLATOS~1\SWINGALL.JAR;C:\PROGRA~1\PLATOS~1\SWINGALL.JAR;.
mode con codepage prepare=((850) c:\windows\COMMAND\ega.cpi)
mode con codepage select=850
keyb br,,c:\windows\COMMAND\keyboard.sys
This is how the config.sys looked initiallyDEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS I=B000-B7FF
DOS=HIGH, UMB
FILES=100
REM BUFFERS=40REM - REMOVE 'REM' FROM FOLLOWING LINE IF YOU WANT TO LOAD THE REAL MODE CDROM DRIVER
REM DEVICE=C:\WINDOWS\COMMAND\CPQIDECD.SYS /D:IDECD001
device=c:\windows\COMMAND\display.sys con=(ega,,1)
Country=031,850,c:\windows\COMMAND\country.sysI thought I could change autoexec.bat into
ECHO OFF
PROMPT $p$g
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;lh mode con codepage prepare=((850) c:\windows\command\ega.cpi)
lh mode con codepage select=850
lh keyb nl,,c:\windows\command\keyboard.sysand config.sys into
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS I=B000-B7FF
DOS=HIGH, UMB
FILES=150
BUFFERS=20Devicehigh=c:\windows\COMMAND\display.sys con=(ega,,1)
Country=031,850,c:\windows\COMMAND\country.sys
Didn't free up any UMBs though :(I really hope someone can help. That would be sooooooooooooooo great!!!

You might check my #5 here:
http://computing.net/windows95/wwwb...
which describes running memmaker to modify config.sys and autoexec.bat for 9X.

Thanks for you help, interesting reads (I haven't worked with Dos for ages and I cannot seem to remember anything anymore)!
First there are a few things that I could try to give me at leat 10 kb free UMBs
'lh' and devicehigh means I loaded these drivers into UMBs, right. So maybe I should load some in the conventional memory.
also this should give me more UMBs: 'device=c:\dos\emm386.exe i=E000-EFFF i=B000-B7FF NOEMS'
I did try that but I wrote 'device=c:\dos\emm386.exe NOEMS i=E000-EFFF i=B000-B7FF' instead but then the computer didn't start up anymore
I will also try moving DOS=High UMB to the second line instead of the third
comments are more than welcome!

You could also right click the dos program from within Windows, choose properties. Then there is a tab on there (the name escapes me right now) which allows you to configure memory settings for the program. You never said if the person was running it from within Windows, or at the command prompt?
If this equals that, then why does that equal this?

Memmaker does a pretty good job of configuring the emm386 line. Your Files=150 is kind of high but it's possible your dos program needs it. If not you should remove that line and the buffers= line. As I mentioned in the link, I always do that as 98 has default setting for those.
The benefit of using memmaker instead of generic LH or DEVICEHIGH is it'll run the files in a specific place in the UMB.
Also from a dos prompt do a MEM/C/P to see if DBLSPACE and/or DRVSPACE are loading. As mentioned in the link they should be removed or disabled.

Thanks DAVEINCAPS I will definitely look into memmaker. I will try it later today
@Lupin3rd. He is using it from within windows. I actually just noticed that tab. ANy idea how I should configure the settings from there. If I entered the same as above it wouldn't make any difference I guess

It's basically the same as doing it manually but it only applies to that program instead of your whole computer. usually settings all the memory options to 16 meg (the last selectable option) works if not just tweak. All otehr advise above this is a valid way as well, this just makes things a bit easier :P at least I find it that way. HTH Regards Lupin3rd
If this equals that, then why does that equal this?

I got it to work but I have a few questions yet.
I am not loading:
DEVICE=C:\WINDOWS\COMMAND\DISPLAY.SYS CON=(EGA,,1)doesn't that mean the following lines are useless?
MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODE CON CODEPAGE SELECT=850Display.sys enables you to display international character sets on EGA, VGA, and LCD
monitors. But is that line absolutely necesssay? It seems to work without but we are experiencing a few other problems. I don't think they are caused by display.sys but you never knowConfig.sys new:
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS I=B000-B7FF
DOS=HIGH, UMB
FILES=150
BUFFERS=20
COUNTRY=031,850,C:\WINDOWS\COMMAND\COUNTRY.SYSAutoexec new:
@ECHO OFF
PROMPT $p$g
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;
MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODE CON CODEPAGE SELECT=850

The 'country=' line is set for the Netherlands so I assume that's where you are.
But the KB line in your original autoexec.bat file:
keyb br,,c:\windows\COMMAND\keyboard.sys
loads the character set for a brazilian keyboard.
I guess we need to know what country, language and keyboard layout is being used. If you're in the US or are using a US-only setup in another country you probably don't need any of the MODE or COUNTRY lines. Or does the software being used require those changes?

I am in the netherlands indeed and I was kinda puzzled to see the original keyboard.sys load a br. charset. No idea why that is
In the new files I deleted the lines altogether and it still seems to work fine. The us and dutch charsets don't differ that much so I am hoping to get away with it

I don't think I've had to set up any PCs for operation in another country so I'm probably not the best to advise on how to edit config.sys and autoexec.bat for that purpose. But if you can get by without loading some of that stuff it's probably best.
You could also check into Dosbox:
http://dosbox.sourceforge.net/news....
I don't know much about it but it's supposed to do a good job of running dos programs in windows.

![]() |
Problem in accessing DVD
|
getting dos to recognise ...
|

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |