VOGONS

Common searches


First post, by smevans526

User metadata
Rank Member
Rank
Member

Suppose my system has 16mb ram, with 6mb allocated to EMS. When a DOS extender is activated, will it let the game access all 16mb, or only the 10mb from xms/conventional? I am wonder if I should boot the system with NOEMS when I want to load such games.

Reply 1 of 14, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
smevans526 wrote:

Suppose my system has 16mb ram, with 6mb allocated to EMS. When a DOS extender is activated, will it let the game access all 16mb, or only the 10mb from xms/conventional? I am wonder if I should boot the system with NOEMS when I want to load such games.

I think EMM386 dynamically allocates XMS to provide EMS, so if you run MEM on your system you should see about 15MB of XMS being free and 15MB of EMS being free.
It really should not divide the space between XMS and EMS space, unless you have hardware EMS (separate EMS card or motherboard providing EMS).

And if DOS extender does activate, it should see everything that's free so EMS is not needed. Maybe not XMS either.
People may use DOS boot menu to have different memory configurations.

Reply 2 of 14, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie
smevans526 wrote:

if I should boot the system with NOEMS when I want to load such games.

It's better to use NOEMS if you don't need EMS, because EMS support uses more conventional memory.

But if a game runs fine with whatever configuration you have, why bother with making changes.

And if DOS extender does activate, it should see everything that's free so EMS is not needed. Maybe not XMS either.

In protected mode games (those using DOS extenders) neither XMS nor EMS is used (it could be, in theory, but that would be pointless Rube Goldberg-kind of memory usage).

Reply 3 of 14, by smevans526

User metadata
Rank Member
Rank
Member

I want to boot with one config.sys, so ideally I always have some EMS allocated for those games that use it.

My driver for the Cirrus Logic CL-GD5428 loads with an extender (not a standard one like DOS/4GW; I'll have to check the name when I get the chance). My system has (and I want to reduce it) 32mb ram. With NOEMS, the extender reads the system as having 32mb, but crashes saying 'not enough memory" -- some bug with too much memory.

But, if I allocate, say, 8mb to EMS, the extender says that I have 24mb - and doesn't crash. So it appears that, at least for this particular extender, it cannot see memory emulating EMS.

I am debating whether my system should have 16mb or 24mb. If I have 16mb, and EMS active, then I fear that some games will not see it all. Off the top of my head, 11th Hour recommends 16mb. So, I could go with the 24mb system, have EMS, and still have at least 16mb for the extender.

I am not having any trouble with a conventional memory shortage, so, I don't mind EMM386 using more conventional memory.

Reply 4 of 14, by collector

User metadata
Rank l33t
Rank
l33t

Note that for using real hardware you should be posting in Marvin. Marvin, the Paranoid Android This forum is for DOS games on modern systems.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 5 of 14, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

Using EMS will reduce how much UMB memory you have.

A dos extender will not use EMS memory that has been allocated, ems has whats know as DPMI or VCPI interface, dos extenders know this and use those to allocate memory, and they know how much EMS was allocated so you dont get overlapping stuff.

some extenders are smart like cwsdpmi and dos4gw will use a swap file on disk for extra ram (which is bad because so sloooooow)

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 6 of 14, by smevans526

User metadata
Rank Member
Rank
Member

The question I was asking was in general context, be the system genuine hardware, a virtual machine, emulator whatever. I just got specific with hardware because I was getting answers like only use EMS if you need it. I thought we were missing the point of the question a little and wanted us to focus.

Anyway, I'm gather the following. Either...

1) Dos extenders work differently, and this mysterious one just doesn't see EMS (I doubt this situation)

2) Something has my EMS used so that the extender will not double assign it. I might be using 'min' with EMM386. If there are more technicalities with this, specific to my system, I'll start a new thread in the appropriate section.

Reply 7 of 14, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

if a game needs ems, enable it. otherwise, generally, just disable ems.

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 9 of 14, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

Again, we are missing the point. I am NOT ASKING whether or not I should enable EMS on my system.

maybe you should be specific and ask your question plainly. and because, your original question clearly asked if you should use ems or not.

I am wonder if I should boot the system with NOEMS

so what, exactly, are you asking?

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 10 of 14, by smevans526

User metadata
Rank Member
Rank
Member

"When a DOS extender is activated, will it let the game access all 16mb, or only the 10mb from xms/conventional?'' is the question, and clearly asked.

No, 'I am wondering if I should boot the system with NOEMS' is not a question, hence why there is no question mark; it's a statement. The answer to the question above will influence whether or not I activate EMS, on any Dos setup - classic or modern.

But you did help and I now know the answer. If I use 'min' with emm386, then the extender will not acknowledge it because it's been assigned.

Reply 11 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi everyone,
I'm not so much into extender games, but..

Uhm, can't extender games access Extended Memory directly, without using XMS ?
If they can, someone could tell himem.sys to reserve a bit of memory :

device=c:\dos\himem.sys /int15=4096 ;for 4MiB

I've got it from here: http://www.vfrazee.com/ms-dos/6.22/help/himem.sys.htm

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 14, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

Correct.

if you have 16MB of memory, you have 15MB of extended memory and 1MB for conventional + UMB.

EMM386.EXE has the MIN parameter for say to allocate 6 megs, it forcibly allocates 6 megs of XMS from HIMEM.SYS to provide EMS, and thus DOS extenders see that only 9MB of XMS is free (the remaining 1MB being left for conventional memory and UMBs). But if you ask EMS driver, it will most likely show that there's about 15MB of EMS available.

If there is no MIN parameter to EMM386.EXE, then EMM386 does not forcibly allocate any XMS (except bare minimum for its own purposes) and thus programs asking memory would see about 15MB of EMS and 15MB of XMS free, and allocating EMS will cause the EMM386 driver to dynamically allocate XMS to provide the allocated EMS memory.

http://www.vfrazee.com/ms-dos/6.22/help/emm386.exe.htm

Reply 13 of 14, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

I want to boot with one config.sys, so ideally I always have some EMS allocated for those games that use it.

The problem is, there is no "one size fits all" memory configuration. The best way is to setup [MENU] in config.sys with different settings.

Reply 14 of 14, by smevans526

User metadata
Rank Member
Rank
Member

For my particular system, yes, there is. My concern was DOS extenders, not factors like conventional memory. But this is running into 'Help me setup my system'/marvin, which is not the purpose of this thread. Jepael and BloodyCactus answered the question, so, as far as I care, this thread should be closed.