• Please review our updated Terms and Rules here

Use of ems on a 8088 xt

genocho

Experienced Member
Joined
Jan 14, 2008
Messages
63
Hi,

I have an xt mobo with 640kb of base ram + 128kb of ems.
This mobo comes with msdos 3.3 version and the only sys driver to use this ems ram is ramdrive.sys, but this is not my purpose.

Exists any program like emm386, that use this 128kb of ram, and make me use himem.sys to load dos in high memory area???

All the programs I found requires 286 (emm286) or propietary ems hardware
(boca, ibm, etc).

My hope is to find an 8088-86 ems driver to solve the problem, perhaps a juko ems driver can works, I notice that juko xt mainboards come with 640 + 384kb of ems (1mbyte).

Any driver of juko or other are welcome to try it work my 128kb of ems.
Thanks in advance,

Genocho.
 
Hi,

I have an xt mobo with 640kb of base ram + 128kb of ems.

Genocho.
Are you shure, this is really ems in the proper sense ?

EMS is kind of a "window" into a usually much larger memory of, say 4 or 8 MB,
mapped into a frame of typically 64k which used to be placed above the "magic" 640k line.

What you have got, seems to be just some sort of "upper memory".
I am not shure whether drivers existed, that allowed to use this memory space,
but i would not totally exclude it either.

Some software, e.g. certain network drivers, may possibly be loaded there,
even without the need of additional software.
 
Yes, the bios of the xt says 640kb + 128 ems, but it really must be umb..........

The xt is a schneider euro pc II, in the internal menu bios you can configure 4 kind of memory starts:

512kb, 640kb, 640kb+128 and 512+256

In the manual of msdos, it uses that "ems" with ramdrive.sys in the config.sys
(device=ramdrive.sys 128/256) for creating a volatile ram disk.

Perhaps with another driver can manage that 128 or 256kb to use like umb and load msdos in high...........

If any know why......

Thanks,

Genocho.
 
Well I must admit, my memories about the details of MSDOS 3.3 are not as fresh anymore, as they should be to give you a definite answer.

But why don't you just give it a try ?

Get, or even better, make a system disquette with MSDOS 6.2 (or DRDOS 6.0 or 7.0 or so). This way you will have an environment which allows you to make all kinds of experiments without risking your running configuration on the hard disk.

Once you have got this, simply try whether MSDOS 6.2 can be highloaded on your mashine. Well actually not highloaded, you haven't got any memory beyond 1MB, but simply try something like DOS=UMB in CONFIG.SYS. MSDOS 3.3, as far as i remember, can't be highloaded anyway.
 
Wiwa64,

I try in msdos 6.22:

dos=high,umb
device=himem.sys

Himem.sys needs 80x86 machine....so dos can´t be loaded in high or umb......

I think with propietary drivers from juyo mainboard or other manufacters can use this 128kb like umb.

If any know any driver that uses 128kb as a umb I try it.

I know juko mainboards with 640kb+384kb come with drivers for manage this upper memory, philips xt´s too.

Any info and driver are welcome.


Regards.
 
Expanded memory boards require a driver that is proprietary to that board. The ramdrive.sys is just like it sounds, a driver to use the extra 128Kb as a RAM disk (can be quite useful). EMS memory can not be used for anything else, especially on an XT-compat. There is no high or upper memory to load anything into. The only way the EMS even works is because the driver re-maps it into the "page frame", which exists in lower memory.
EMM.SYS is a program that does just the opposite (on newer processors). It uses Extended memory to emulate Expanded memory, for backwards compatibility with the older EMS.

-T
 
I disagree; disk cache programs use EMS, and many applications use EMS (Turbo Pascal IDE, Microsoft Word, etc.). EMS, if you can get it, helps any XT.

That's what I meant to say...sorta. The EMS hardware has to support additional features, such as RAMdisk and disk caching, and the proper (proprietary) software is necessary for switching the hardware to those modes. DOS's RAMdrive program won't do anything with the extra RAM if the hardware don't support it. Additionally, as Trixter points out, the EMS memory can only be used with programs that are specifically written to use it. I also forgot to mention that even a meager 128Kb is a big improvement over having no EMS mem at all.

My main point is, EMS can't do what XMS can do.

--T
 
My main point is, EMS can't do what XMS can do.

I wouldn't want it to -- hardware EMS is faster than XMS :) (Reading from EMS involves some calls to the hardware to map pages in so the data can be read, but XMS can only be read by copying data to the lower 640K. So you read EMS, but you copy-then-read XMS.)
 
I wouldn't want it to -- hardware EMS is faster than XMS :) (Reading from EMS involves some calls to the hardware to map pages in so the data can be read, but XMS can only be read by copying data to the lower 640K. So you read EMS, but you copy-then-read XMS.)

Roger dat, but I got the impression that the OP wants to use his EMS to free-up conventional memory, which is a Bozo No-No.

--T
 
Wiwa64,

I try in msdos 6.22:

dos=high,umb
device=himem.sys

Have you tried to use just the "dos=high,umb" or perhaps even just "dos=umb" ?

I'm still not shure whether this will work. But it's worth a try.
The driver himem.sys is used, as far as i can remember, to manage memory above 1MB,
which you definitely haven't got, so this driver cannot work.

Expanded memory boards require a driver that is proprietary to that board. . . . EMS memory can not be used for anything else, especially on an XT-compat. There is no high or upper memory to load anything into. The only way the EMS even works is because the driver re-maps it into the "page frame", which exists in lower memory. . . .
This was correct if it were real ems memory.
But it isn't. It's just some RAM located in the upper memory region,
a little bit like using the ems386 driver in /noems mode.

Another possible use could be to use this memory as data buffer for network
cards which map their data buffer into main memory e.g. SMC8000
(as oposed to those ones, that come with their own on-board buffer, e.g. NE1000)
 
I think the OP is getting confused. Loading DOS high is not an EMS trick, it is a HMA trick which you need an 80286 for. Loading TSRs high is not an EMS trick, it is an UMB trick which you need an 80386 for. You cannot do either of these traditional things on an XT no matter what kind of hardware EMS you have.

EMS maintains a pool of memory "somewhere" with a page frame located in the lower 1MB of real-mode-addressable RAM. The page frame is a "window" into the pool of memory. Quarterdeck QRAM and other old utilities let you use the entire 64K page frame to load TSRs high, but this immediately disabled the rest of your EMS because your page frame was now used for holding TSRs.

Some operating systems (I think Caldera 7.03 and PC DOS 2000 can do this) can allow you to manually specify where RAM is in your system and load TSRs there. If you have this extra RAM and can tell the DOS/driver exactly where it is (E000, C000, etc) then you might be able to use it in that way.

Some motherboard BIOSes + special drivers let you configure extra RAM as EMS. (My Dell 386sx16 has EMS built into the BIOS, for example.) I suggest you do this, and find ways to use your EMS. For example, if you can wring 128KB EMS out of your system, you will find that you can use it for disk caches (Norton Cache 2 / ncache2.exe is my favorite), RAM drives, and many applications use it (Lotus 1-2-3, Microsoft Word, Turbo Pascal, others). That is the best use of your EMS, in my opinion.

Is this all clear now?
 
Is this all clear now?
Not really. Rather the contrary, as we are not talking about ems at all.

I think we all agree, that there ist no ems memory (aka "expanded" memory)
nor is there any HMA (above 1MB, aka "extended" memory).
All we have got is some memory in the UMB region (between 640K and 1MB).
As i already wrote above, this is like using the ems386 driver in /noems mode,
thus not providing any ems, just upper memory.

Now the question is: Does the software bother where this memory comes from
(does it explicitely check for the presence of an ems driver or somthing similar)
or is it simply happy to find some RAM "up there" which it may use?

Probably not all software and not all versions of DOS will deal the same way
with this not so common constallation, so one will actualy have to try.
 
"Some operating systems (I think Caldera 7.03 and PC DOS 2000 can do this) can allow you to manually specify where RAM is in your system and load TSRs there. If you have this extra RAM and can tell the DOS/driver exactly where it is (E000, C000, etc) then you might be able to use it in that way."

Find out where the RAM is, then load a DOS that supports UMBs without requiring EMM386, then tell that DOS where the RAM is. That's the only way it's going to work.
 
I´m trying with caldera dr-dos 7.0X versions and apparently himem.sys can manage my upper memory and video memory of the vga card.

The problem is locate the address of that memory, I use mem /u and says 3 address, all 3 rom address, trying in config.sys all 3 with no results.....

Any idea of how locate the address of the correct usable hma memory???

Regards.
 
I think we all agree, that there ist no ems memory (aka "expanded" memory)
nor is there any HMA (above 1MB, aka "extended" memory).
All we have got is some memory in the UMB region (between 640K and 1MB).

Not really, I see that there's some dis-agreement here. I've just re-read the whole thread, and the only place(s) where non-EMS above 640Kb is suggested is in your posts. OP genocho, OTOH, clearly states at least twice that it is definitely EMS, according to his startup messages. While your insights are certainly valid in dealing with computers that do have "extra" memory between 640Kb & 1Mb, (such as the Tandy 1400-series laptops, et. al.), lengthy discussion of that type of (usually proprietary) memory configuration in this thread only serves to confuse the issue even more.

--T
 
In fact, I think that if the startup banner mentions the EMS at all, it's a pretty good sign that the driver for it is loading at boot time, else DOS wouldn't even see it. Trouble is, "real" EMS is virtually undetectable without running a utility that sees and reports it (except that certain operations run considerably faster). MSD is not available in that version of DOS, but a quick google should turn up a freeware program somewhere which can be used to confirm the presence of EMS, as well as addresses, etc.

OP (genocho), could you copy for us the contents of your config.sys & autoexec.bat files?

--T
 
<snip>
Loading TSRs high is not an EMS trick, it is an UMB trick which you need an 80386 for. You cannot do either of these traditional things on an XT no matter what kind of hardware EMS you have.
<snip>
Some operating systems (I think Caldera 7.03 and PC DOS 2000 can do this) can allow you to manually specify where RAM is in your system and load TSRs there.

Is this all clear now?
-----------
Umm, no; in fact it reads self-contradictory to me.

m
 
Not really, I see that there's some dis-agreement here. I've just re-read the whole thread, and the only place(s) where non-EMS above 640Kb is suggested is in your posts. OP genocho, OTOH, clearly states at least twice that it is definitely EMS, according to his startup messages.
<snip>
--T
-----------
You didn't read very carefully then; the OP said that the startup banner *calls it* EMS, but he also said that "it really must be umb" (and that it should be possible to load TSRs there).

I seem to recall that Juko did indeed do some unusual things with the 640-1024K area; will have to see if I can find an old manual/driver disk.

m
 
i don't know if this is relevant to this thread but there is ems magic from phatcode.net.
 

Attachments

  • emsmgc11.zip
    51.5 KB · Views: 29
Back
Top