when i removed emm386 from config.sys, the "dos=high" line doesn't seem to work, and dos is completely loaded in conventional memory.
also, are there any dos games very demanding in conventional memory(needs over 600kb), yet incompatible with emm386?
emm386 is just a "driver" and enables UMB and EMS. You can disable EMS memory if some game isn't compatible with it. But the driver itself should work fine.
You can disable EMS memory if some game isn't compatible with it.
There isn't a lot of software that takes advantage of EMS. I would suggest not using any EMS unless an application needs it.
Most software uses XMS.
And yes, there is software that needs a lot of memory and isn't compatible with EMM386. For DOS I have a boot menu with 6 different memory configurations:
MENUITEM= FULL,Full configuration (No EMS)
MENUITEM=DEMO,EMS configuration […] Show full quote
MENUITEM= FULL,Full configuration (No EMS)
MENUITEM=DEMO,EMS configuration (Autosizing EMS/XMS memory)
MENUITEM=DEMO2,Standard configuration (No EMS/v86 mode)
MENUITEM=NOCD,Standard configuration without CD-ROM drivers (No EMS/v86 mode)
MENUITEM=BASIC,Basic configuration for DOS extenders (No EMS/XMS/v86 mode)
MENUITEM=BASIC2,Basic configuration without CD-ROM drivers (No EMS/XMS/v86 mode)
So I had some special configurations that didn't enable any EMS, XMS or v86 mode, and loaded as few drivers as possible, to get the maximum amount of free conventional memory.
Blackthorne needs EMS for some reason, which is odd because its a 1994 game. You'd think EMS was phased out by then.
Personally I had 2 memory configs, one with EMS and one without. but since I discovered that JEMM is incompatible with SoftMPU I changed those two
to one with JEMM+EMS and 629K and one with EMM386+EMS and 622K free. which seems to do the trick.
Where does it say that though? The forum description only states "Getting old DOS games working."
We even have a "Dos 6 conventional memory tricks" thread going on here. (he probably should have posted it in there though)
when i removed emm386 from config.sys, the "dos=high" line doesn't seem to work, and dos is completely loaded in conventional memory.
also, are there any dos games very demanding in conventional memory(needs over 600kb), yet incompatible with emm386?
You didn't specify which DOS version you're running, but I'm assuming it's DOS 6.22 or an earlier version?
You should still be able to load DOS into the high memory area without having to load an expanded memory driver (like EMM386.EXE).
You do, however, have to load HIMEM.SYS in your Config.sys file before you can use the "DOS=HIGH" command.
Just take note that, if you load EMM386.EXE (either with the RAM or NOEMS switch), you can also load other drivers (like your mouse, CD-ROM, etc.) into the upper memory area via the LOADHIGH (or LH) command (in your Autoexec.bat) or the DEVICEHIGH command (in your Config.sys), until that memory space is used up.
This frees up some conventional memory, which some DOS games desperately need.
The order in which you load your drivers into the upper memory area will also determine how much conventional memory you can free up.
Try and load those that takes up the most memory first and then move onto the ones that takes up less memory.
A typical example of what your Config.sys file would look like:
By placing the DOS=HIGH,UMB on the second line, this can (in some cases), save memory because it is loading DOS into upper memory before loading the memory manager.
Where does it say that though? The forum description only states "Getting old DOS games working."
We even have a "Dos 6 conventional memory tricks" thread going on here. (he probably should have posted it in there though)
It says it in the forum name: "Very Old Games On New Systems"
Prior to the invasion of the "retro hardware" collectors and the eventual creation of the Marvin subforum - the VOGONS forum, in total, was *only* for compatibility hacks/patches/tips trading, emulators, wrappers and associated utilities discussion.
You didn't specify which DOS version you're running, but I'm assuming it's DOS 6.22 or an earlier version?
You should still be able to load DOS into the high memory area without having to load an expanded memory driver (like EMM386.EXE).
You do, however, have to load HIMEM.SYS in your Config.sys file before you can use the "DOS=HIGH" command.
of course i have himem.sys loaded. you know emm386 wouldn't work without it, and i just removed the emm386 line.
its plain simple aswell:
mem indicates that all of dos are loaded in conventional memory, and there is no "upper memory" at all. "lh smartdrv 4096" doesn't work either.
oh and i am actually using win98 dos mode(f8 menu, not a dos window), does it behave very differently from dos6.22?
On previous occasions, people have experienced problems using upper memory due to a virus infection. You might want to scan your PC before you start tearing your hair out looking for alternative explanations.
noshutdown wrote:of course i have himem.sys loaded. you know emm386 wouldn't work without it, and i just removed the emm386 line.
its plain simpl […] Show full quote
of course i have himem.sys loaded. you know emm386 wouldn't work without it, and i just removed the emm386 line.
its plain simple aswell:
mem indicates that all of dos are loaded in conventional memory, and there is no "upper memory" at all. "lh smartdrv 4096" doesn't work either.
oh and i am actually using win98 dos mode(f8 menu, not a dos window), does it behave very differently from dos6.22?
One thing that stands out is that you need to also remove the "UMB" in your DOS=HIGH,UMB statement, since you are not loading an expanded memory driver (however, I think that DOS will just ignore it if there are no UMB available).
I also noticed that you do not have a path specified in front of your "DEVICE" statements. I would suggest that you add the path in the front of your "DEVICE" statement (like in my example).
You cannot "LH" anything without EMM386.EXE loaded, since EMM386.EXE is what gives you access to the UMB.
Regardless of the above, I would strongly recommend that you set up a boot (startup) menu configuration - refer this thread for a guide: How to create a boot (start up) menu under Windows 9x/ME
The "F8" menu option didn't always work for me.
Jorpho also made a good point and this is an option that you also might want to explore.
emm386 is just a "driver" and enables UMB and EMS.
I'd like to clarify this...
EMM386 is not 'just' a driver.
It switches the CPU to v86 mode (requiring a 386) and then emulates an EMS card by remapping physical memory to an EMS 'window' in a very similar way that a real EMS card would do. It is very slow compared to real EMS, but at least it makes your system compatible with software that requires EMS.
The problem is with this v86 mode: some software will not work correctly under it (mainly when the software itself has some kind of DOS extender that wants to switch the CPU into a special mode).
Real EMS dates from the 8086/8086-era, and obviously doesn't require a 386 or v86-mode. Some 286/386 chipsets have support for EMS in the BIOS, which is much preferred over using EMM386 to emulate it. You get better performance, and you don't need to have v86 mode, so you don't get into compatibility problems.
So the short answer is: use the NOEMS switch unless you really need EMS memory. And avoid using EMM386 unless you really need the extra conventional memory it can free up by using UMBs. The compatibility and performance issues aren't worth the trouble.
i think it also depends on the mainboard how many upper memory you can access.
I have a Nforce2 Mainboard A7N8X-X, with that i can not get access to upper memory.
Dos is always in conventional Memory.
Emm386 reports "no page frame found".
And on other P4 Mainboards the UMBs are so small that only little driver like mouse oder keyb can be loaded in upper Memory but not big things like MSCDEX.
Sammy wrote:i think it also depends on the mainboard how many upper memory you can access. […] Show full quote
i think it also depends on the mainboard how many upper memory you can access.
I have a Nforce2 Mainboard A7N8X-X, with that i can not get access to upper memory.
Dos is always in conventional Memory.
Emm386 reports "no page frame found".
And on other P4 Mainboards the UMBs are so small that only little driver like mouse oder keyb can be loaded in upper Memory but not big things like MSCDEX.
I've seen problems with bootloaders (Grub) due to the memory mapping of the NForce2. There may be BIOS options to mitigate it, but I've never experimented with it.
i think it also depends on the mainboard how many upper memory you can access.
The main culprit is the videocard.
If I use something like Matrox Mystique on P4P800 SE - I get around 92 kB of UMBs.
Modern videocards not support DOS and just grab all possible areas to itself.