Computing.Net > Forums > Disk Operating System > need more memory for DOS program!

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

need more memory for DOS program!

Reply to Message Icon

Name: cassady
Date: January 31, 2007 at 14:12:53 Pacific
OS: WIN98
CPU/Ram: 1ghz 128 MB
Product: Compaq
Comment:

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=20

Autoexec.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=On

If 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 initially

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS I=B000-B7FF
DOS=HIGH, UMB
FILES=100
REM BUFFERS=40

REM - 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.sys

I 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.sys

and config.sys into

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.exe NOEMS I=B000-B7FF
DOS=HIGH, UMB
FILES=150
BUFFERS=20

Devicehigh=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!!!



Sponsored Link
Ads by Google

Response Number 1
Name: orbital
Date: January 31, 2007 at 17:24:35 Pacific

Response Number 2
Name: DAVEINCAPS
Date: January 31, 2007 at 20:45:45 Pacific
Reply:

You might check my #5 here:

http://computing.net/windows95/wwwb...

which describes running memmaker to modify config.sys and autoexec.bat for 9X.


0

Response Number 3
Name: cassady
Date: February 1, 2007 at 00:22:48 Pacific
Reply:

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!


0

Response Number 4
Name: Lupin3rd
Date: February 1, 2007 at 00:47:58 Pacific
Reply:

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?


0

Response Number 5
Name: DAVEINCAPS
Date: February 1, 2007 at 00:54:05 Pacific
Reply:

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.


0

Related Posts

See More



Response Number 6
Name: cassady
Date: February 1, 2007 at 03:54:13 Pacific
Reply:

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


0

Response Number 7
Name: Lupin3rd
Date: February 2, 2007 at 12:58:10 Pacific
Reply:

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?


0

Response Number 8
Name: cup
Date: February 2, 2007 at 13:39:56 Pacific
Reply:

Is it possible to build the program using DOS4GW? Then you can go up to 16Mb in 32 bit mode.


0

Response Number 9
Name: cassady
Date: February 5, 2007 at 01:26:50 Pacific
Reply:

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=850

Display.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 know

Config.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.SYS

Autoexec 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


0

Response Number 10
Name: DAVEINCAPS
Date: February 5, 2007 at 13:55:56 Pacific
Reply:

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?


0

Response Number 11
Name: cassady
Date: February 6, 2007 at 00:04:10 Pacific
Reply:

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


0

Response Number 12
Name: DAVEINCAPS
Date: February 6, 2007 at 11:38:16 Pacific
Reply:

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.


0

Sponsored Link
Ads by Google
Reply to Message Icon

Problem in accessing DVD getting dos to recognise ...



Post Locked

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


Go to Disk Operating System Forum Home


Sponsored links

Ads by Google


Results for: need more memory for DOS program!

I Need More Cache In Dos www.computing.net/answers/dos/i-need-more-cache-in-dos/3298.html

Need an editor for DOS 5.0 www.computing.net/answers/dos/need-an-editor-for-dos-50/14760.html

need server.exe for DOS www.computing.net/answers/dos/need-serverexe-for-dos/6361.html