EMM386.EXE problem in MS-DOS 6.22 (Privateer-related)

buster_g

Spaceman
Hi, folks!

I created a 500MB MS-DOS 6.22 partition on my Pentium II system with 384MB of physical RAM, specifically to play Privateer. Unfortunately, everything I try to get Expanded Memory Services working doesn't seem to work. I tried running MEMMAKER, and specifying that I need EMS for applications, but when it finishes optimizing my memory it turns up with "Expanded Memory = Disabled." I tried enabling EMM386.EXE in my CONFIG.SYS, which I will post below, with no luck.

As you'll see below, I am loading a CD-ROM driver, and I know folks have recommended disabling this due to memory, but I thought that with 384MB of physical RAM this wouldn't be a problem. As I'm not an MS-DOS expert, can anyone advise me on what I may be doing wrong here? Thank you very much!

CONFIG.SYS
---------------

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE 16384 RAM
BUFFERS=15,0
FILES=30
DOS=UMB
LASTDRIVE=E
FCBS=4,0
DEVICEHIGH /L:3,12048 =C:\DOS\SETVER.EXE
DOS=HIGH
FILESHIGH=25
BUFFERSHIGH=25

REM ******** CDROM DEVICE DRIVER *******************
DEVICE=C:\CDROM\CDROM.SYS /D:MSCD001 /V



AUTOEXEC.BAT
-------------------

REM ******** CDROM DEVICE DRIVER *******************
LH /L:2,27952 c:\DOS\MSCDEX.EXE /D:MSCD001 /V
LH /L:0 C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
 
More info

Hi. I've been doing more research on this on my own. The specific error message I have been getting from EMM386.EXE is "unable to set page frame address." I did a web search on this phrase, and found very few links. One of these was to a BIOS manufacturer's site, wherein they recommended setting the BIOS to reserve memory address D000 at a size of 64k.

I checked my own BIOS (PhoenixBIOS), and it had a cruder interface for doing this. I was able to reserve memory addresses D000 through D3FF as a block, but could not specify the size of the reserved memory. I also couldn't reserve just D000, as recommended. It had to be D000 through D3FF or nothing.

So, after reserving the above memory resources, I suddenly found that expanded memory was now enabled. I'm still troubleshooting and haven't gotten Privateer to load. My question now would be: is that crude BIOS memory setting the only way to reserve the resources necessary to enable expanded memory? (I want to avoid this, as it seems to be hogging a lot of resources.) I noticed another reference on the web to setting the EMM386.EXE "frame" switch to "none." Would this work? I haven't looked into how to do that, yet.
 
Change it to this.
DEVICE=C:\DOS\EMM386.EXE 16384 RAM I=B000-B7FF
You will most likely get a warn messege about this line don't worry about it.
 
no luck

Hi, John! Thanks for the tip... Unfortunately it didn't seem to do anything to change the situation. Still got the "unable to set page frame address" error and "expanded memory disabled" as a result.
 
Also you dont want to load smartdrive for privateer 1.. as that game needs around 600KB (in my experience) conventional memory to load..

Smartdrive eventhough you type LH, will only load a portion of it into high memory, and the rest.. around 50kb will hog up conventional mem. You can devicehigh the cdrom driver as well, more free mem.

In your bios, make sure you dont have shadow caching enabled for a range of addresses.

Anyway, good luck.. it's a great sense of accomplishment to have a working dos boot disk running smoothly. Dos troubleshooting is a lot more satisfying than windows in my opinion..
 
Ooops.. sorry.

I meant shadow caching disabled.. not enabled as it will use up that address's allocated memory.
 
Back
Top