Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
I have an error from a DOS program (DOS 6.22, no Windows or other OS) that I've just installed that says "Not Enough Memory to Continue - Available dynamic memory: 17504". The computer has 128MB RAM. How can I free more dynamic memory? This is the only program that runs on this computer (well, it uses a Btrieve database which is loaded first).
BTW this is also my first time running DOS as the only OS. Here is my config.sys:
DEVICE=C:\DOS\SETVER.exe
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DOS=HIGH,UMB
DEVICE=C:\DOS\EMM386.exe NOEMS
DEVICE=OAKCDROM.SYS /D:MSCD001
FILES=255 rem Thought I'd put the max
BUFFERS=20 rem 255 didn't work (invalid paramater) so I went with the min. recommended settingHere is autoexec.bat:
C:\DOS\SMRTDRV.exe /X rem DOS installation put everything but the last line here
@ECHO OFF
PROMPT $p$g
PATH=C:\DOS
SET TEMP=C:\DOS
MSCDEX.EXE /D:MSCD001Thanks for the help.

In CONFIG.SYS change:
DEVICE=OAKCDROM.SYS /D:MSCD001
DeviceHigh=OAKCDROM.SYS /D:MSCD001FILES=255
Files=25 or to 50, don't need that manyIn AUTOEXEC.BAT change:
C:\DOS\SMRTDRV.exe /X
LH C:\DOS\SMRTDRV.exe /XMSCDEX.exe /D:MSCD001
LH MSCDEX.exe /D:MSCD001The object is to free up as much Low ram as possible. The above changes tell DOS to try to load the OAKCDROM CD driver and the MSCDEX CD file system drivers into the Upper Memory Block area (if any space is there). If you do not need to access the CD-ROM drive, you can REM out these two lines to save a lot of memory space. You also want to Load High the Disk Cache program if you can. It is not necessary unless you are doing a lot of disk access. You could also REM it out to see if it frees up enough memory to run the GAME.
Run the MEM /d /p command to see where things are being loaded. There may not be enought memory in the UMB area to load all the CD drivers and SMARTDRIVE on newer machines with AGP cards and network cards.

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.exe NOEMS
DOS=HIGH,UMB
DEVICEHIGH=OAKCDROM.SYS /D:MSCD001
FILES=40
BUFFERS=20
@ECHO OFF
lh c:\dos\MSCDEX.exe /D:MSCD001
C:\DOS\SMRTDRV.exe /X
PATH=C:\DOS;\;..
SET TEMP=C:\DOS
C:\DOS\SMRTDRV.exe /XFWIW - smartdrv loads high by default - also, if loaded before MSCDEX, then the CD drive is not cached.
PROMPT $p$g is automatic (as is path=C:\dos - but may as well leave the path to build on later)
DEVICEHIGH=C:\DOS\SETVER.exe would be better - odds are this isn't needed (save about 1K)
SET TEMP=C:\DOS is the dopey way DOS installs the temp directory - better to make a separate one (C:\temp maybe?) and point to it - easier to clean up.Most useful breakdown of memory use (imo) is
mem/c/p
Upper memory availability can be shown by
mem/f
Oakcdrom.sys is something of a memory hog (36K) if you're getting low, might be a better one
Just wondering if the specs listed are for those of the machine in question.
Main thing is, it works now : )

jboy:
You can use Benq's cd-rom driver(vide-cdd.sys) to replace Oakcdrom.sys,it only use 5,024(5K) memory.

Thanks - actually it is what I use on my machine - oakcdrom gets a lot of mention, I guess due to it's wide compatability (and it's the '98 DOS driver).
Vide-cdd would take fewer resources, definitely worth trying if memory is tight.

![]() |
![]() |
![]() |

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