EMS doesn't necessarily require a 64k frame but, it looks like Microsoft's
EMS managers do. This is probably not unreasonable. Most EMS programs
are written to expect a fixed frame.
If you dig around in old DOS archives (SIMTEL maybe?), you may be able
to find other solutions. Time was, you could find EMS emulators that
used low DOS memory for the page frame.
------------------
Tom Hanlin
PowerBASIC Staff
Announcement
Collapse
No announcement yet.
EMS memory and Windows XP
Collapse
X
-
Guest repliedThanks for the new feedback. From your messages I gather that on
some XP systems it is necessary to set _default.pif for EMS, even
when a specific non-default pif file is in use. This sounds
strange, but your messages seem to indicate that this is true.
On my system, however, it does not have any effect. I tried Tom
Hanlin's settings exactly.
I am now pretty well convinced that the problem on my system is
in fact not caused by XP, but rather by the ROM associated with
the hardware. I think that Tom Hanlin was right when he said
that "Some manufacturers have been overloading the old "DOS"
space with their hardware, because it's cheap and they figure no
one will notice." As I mentioned in my 8/2/02 message, on my
computer there is no place in memory for the 64K page frame that
apparently EMS memory requires. (It would help me a lot if I had
access to one 16K page, but I gather that EMS does not allow such
an option.)
Today I tried a control experiment that I think makes my
situation completely clear: I tried booting Windows 98 DOS from a
floppy, with a config.sys file reading:
DEVICE=HIMEM.SYS
DEVICE=EMM386.EXE RAM
DOS=HIGH,UMB
I got the messages:
EMM386 not installed - unable to set page frame base address.
Expanded memory services unavailable.
Total upper memory available 34KB
Largest Upper Memory Block available 34KB
So, even with old fashioned Win98, my IBM A30 laptop is not
capable of running EMM386. Using QEMM, booting Win98 DOS from a
floppy, I was able to get EMS to work, using QEMM's "I=" option to
make room for the page frame. With EMM386, however, I don't
think that there is any similar option.
If anyone knows how to eliminate video or system ROM, please let
me know. Otherwise I think I will have to plan on getting along
without EMS on this computer. It seems, however, that XP is not
the problem after all.
------------------
Leave a comment:
-
-
I have had little or no success with ANY DOS apps under XP, not just mine, but all sorts of other stuff that my clients want to run..
Apart from the memory, and I have fiddled endlessly with .PIFs, AUTOEXEC.BATs & CONFIG,SYSs, there is a big bug in the graphics when in full screen mode. Mostly it just crashes the app straight off.
The curious thing is, if you examine the DOS emulator, it has a number of improvements and added capabilities compared to NT4 & W2K.
So why has it got these, when M$ is claiming to be dumping DOS altogether?
Maybe the new SP will fix it, but I'm not holding my breath!
------------------
Leave a comment:
-
-
I remember in the past, I had some kind of memory problems with
one of my DOS programs running in windows, what kind of memory
problem, I don't remember.
Buy anyway, to solve the problem, I increased my FILES= in config.sys
to 20 more files. It might work in some cases.
------------------
Leave a comment:
-
-
I think there may be difference in the XP "preloaded version"
and the "user install version".
The _default.pif file(in WINDOWS DIR/Folder) may or may not be hardware related and comes
with the "preloaded version". Anyone any idea ?
If so,
I don't know if just copy the _default.pif file would make it work.
(copy to WINDOWS DIR/Folder)
Regards
------------------
[This message has been edited by John Lee (edited August 05, 2002).]
Leave a comment:
-
-
My system didn't have a _default.pif http://support.microsoft.com/default...EN-US;Q131877&
Got EMS to work with Tom's method, but have not been able
to get Microsoft's QBX to work with it.
So close, but so far.
------------------
Leave a comment:
-
-
Thanks Tom.
Like it or not, more and more people would use XP because it is "preloaded".
Rumors are MS would only support XP in the future.
I have no problem to use PBDOS on the XP but my experience is limited.
Since MS does not openly support DOS on the XP,
informations might only be available by the users.
I wish people can post details if DOS programs cannot run on XP,
better how they can fix the problem.
Regards
------------------
Leave a comment:
-
-
Code:Windows\System32\Config.NT dos=high, umb device=%SystemRoot%\system32\himem.sys files=40 Windows\_default[.pif] Properties, Memory tab: Conventional memory: auto Initial environment: auto EMS: 16384 XMS: 16384 DPMI: auto
in Windows Explorer, even if you have "Hide extensions for known
file types" turned off. Nasty little bug, that. I think Win2k also
has this problem.
------------------
Tom Hanlin
PowerBASIC Staff
Leave a comment:
-
-
I wish people can post some "findings" as to
under what situation is not working ?
and what is now working ?
Regards
------------------
Leave a comment:
-
-
found a link about a previous discussion on this which didn't
come up with a solution. hope you find something. http://www.powerbasic.com/support/pb...ad.php?t=18926
------------------
Leave a comment:
-
-
There are a number of models of computer with hardware that preclude the ability to configure EMS. The first model with this problem that was brought to my attention was a Gateway with a Promise IDE controller that simply blocks the creation of EMS. BTW, the Gateway/EMS saga became an FAQ which can be found in the FAQ forum.
Setting up EMS in Windows 2000 is dead easy if there are no hardware problems going on - editing the Properties of the shortcut I use to launch PB.EXE was sufficient. Eventually I remmed out everything in my CONFIG.NT and AUTOEXEC.NT files so that I could maximize conventional memory size for running the IDE. When I open the IDE in Win2K I get: "IDE memory available: 226384".
That said, I would not imagine XP would be any more difficult (given compatible hardware) since the NTVDM subsystems are supposed to be virtually identical, but I'm yet to put together a new box that is "powerful" enough to run XP (I own a copy of XP home, but it is still in its wrapper).
In any case, you might try looking for help on the EMS problem on some of the Windows "help" sites, such as at www.computing.net -- and maybe in the various XP-related UseNet groups.
After all, chances are pretty good that someone has travelled this road before you, and has laid down a map.
Good luck!
------------------
Lance
PowerBASIC Support
mailto:[email protected][email protected]</A>
Leave a comment:
-
-
Try this :
Search for _default.pif
Right Click on the file
select Properties
select Memory
set Expanded Memory Size
Apply
Exit
Re-boot and it should work
------------------
Leave a comment:
-
-
I have not been able to get ems to work on W2K, let alone XP!
Despite a lot of research.
What helps me to increase the memory for PB ide was to rem out
as much stuff as possible in Config.nt etc. and use
C:\winnt\system32\command.com /c pb as the cmd line in properties
for PB35. but I still only get 176kb of main mem and 4096 of ems.
So I just use that for small programs and when I need to run big,
I keep a dos partition with Qemm on the same machine.I have never
seen dos/qemm bettered for max dos mem.
By the way in w2k , you create an icon for command you can then you
can set properties like line numbers on screen etc.
On XP ,I decided sometime back that I didn't like the sound of it
so I will never upgrade to XP. W2k I do find stable and good though
apart from this.
Eric
------------------
Leave a comment:
-
-
Guest repliedThank you all for your feedback. I forgot to mention, by the
way, that I am using XP Pro, although I doubt that this is why
Tom Hanlin gets EMS memory and I don't.
Like Tom, I am embarrassed to be using Windows XP, so I trust
that the PB folk are giving PB/Linux a high priority. With XP
one really has the feeling the Microsoft owns the machine, but
they let me use it most of the time.
So far I still do not have EMS memory on my machine. Trying Roy
Scott's suggestion, I verified that the XP system on my computer
contains no file called emm*.*.
I would be curious to know if Tom Hanlin's machine uses an
emm386.exe file, or whether XP Home provides EMS memory through
some other route. I would also be curious to know what his
config file says.
I do have emm386.exe from other Windows and DOS versions, and
tried loading several of them with a device= statement in
config.nt. I get error messages like "EMM386 not installed -
protected mode software already running." I also tried loading
qemm386.sys in a similar way, with a similar error message:
"Cannot load because the processor is already in Virtual 86
mode."
It is quite possible that Tom Hanlin is right that it is a
hardware manufacturer problem. I discovered using Quarterdeck's
old Manifest program (part of the QEMM system) that when I start
a DOS window normally on my XP machine, there is no place in
upper memory where the 64K EMS page frame might be put. There is
a 32K "unused" segment (B000-B7FF), and a 40K "High Ram" segment
(D200-DBFF), but the rest is taken up by VGA graphics (64K), VGA
text (32K), video ROM (64K), ROM (8K and 80K segments), and
SYSTEM ROM (64K). I believe that EMS requires 64K of consecutive
memory for its page frame, so that could easily be the problem.
If so, I doubt that there is any feasible fix, except of
course buying a new machine and hoping, which is not very
attractive. There are of course workarounds, like XMS memory
(which is there) or disk storage.
The computer is an IBM A30 laptop, model 265233U, with a
1400x1050 TFT - active matrix screen, ATI Mobility Radeon
graphics chipset, and AGP 4X graphics bus interface, with max
resolution (for external monitors) 2048x1536. With the exception
of my EMS problem, by the way, it seems to be a wonderful
machine.
------------------
Leave a comment:
-
-
I have 16 Mb of EMS available on my XP Home Edition machine. My
favorite old DOS editor, TPE, says it's really there. I suspect a
configuration problem or hardware issue on your machine. Some
manufacturers have been overloading the old "DOS" space with their
hardware, because it's cheap and they figure no one will notice.
I am abashed to own any version of XP, which I find politically
creepy, and less stable than Windows 2000. But, it was "free" with
my new computer, a foolishly powerful machine at a foolishly low
price. My consolation is, at this rate, it will only be a few years
before the best hardware is $1.50 and no one is willing to spend
the $900 required for a Windows ZP license.
------------------
Tom Hanlin
PowerBASIC Staff
Leave a comment:
-
-
I vaguely remember trying that and an error
message like virtual memory manager invalid appears.
------------------
Leave a comment:
-
-
It sounds like MS is attempting to discourage use of this on XP.
Search your hard drive to see if "emm386.exe" exists on it. If it
does you may be able to activate it in the config.sys and approach
the problem in that way. Since I do not use XP, I don't know if
this will work or not.
------------------
Roy Scott
http://www.royscott.net
Leave a comment:
-
-
I tried for a long time to get it to work with
XP and finally gave up. Hope you are more succesful.
I still have to support some PDS 7.1 programs
and have not been able to get the IDE to load
anything other than the smallest program.
I've gone back to using Windows 98 SE.
I'm curious if Windows 2000 supports it.
------------------
Leave a comment:
-
-
EMS memory and Windows XP
I have not been able to get EMS memory to work with Windows
XP, and I have seen conflicting information about whether or not
it was ever intended to work. Yesterday I spent over an hour on
the phone with Microsoft Technical Support, and in the end the
person I spoke to told me that he did not know, and could not
find out!
For PB for DOS users, the easiest way to see if EMS is
enabled is to launch the PB 3.5 for DOS IDE, and click on COMPILE
> Get Info, and then look for "EMS:" in the lower left corner of
the panel. I would appreciate any info from other XP users about
whether EMS memory can be found.
The contradictory evidence that I have found so far consists
of the following:
Suggesting it should work:
1) The Properties windows for DOS programs include a setting
for the amount of EMS memory that should be provided.
2) \windows\system32\config.nt contains commented
instructions for enabling EMS memory.
3) A number of books on XP, including Peter Norton's
"Complete Guide to Microsoft Windows XP", describe how to
enable EMS memory simply by using the tab on the
properties window. (In Norton, this is on p. 600.)
Suggesting it does not work:
1) If I search for online help on the "Debug XA" command,
the command that allocates EMS memory, the help window
includes the following note: "Windows XP does not support
EMS. To use expanded memory, you must install an expanded
memory device driver that conforms to version 4.0 of the
Lotus/Intel/Microsoft Expanded Memory Specification (LIM
EMS)."
2) On my system, I cannot get it to work. I have allocated
EMS on the properties window, added the line "EMM=RAM" to
config.nt, immediately after the "dos=high, umb" line and
in other places, and no EMS memory can be found, either
by the PB IDE or any of a number of other programs that
use or include indicators for EMS memory.
One possibility is that there are different versions of Windows
XP. When I run cmd.exe, it tells me that my version is called
5.1.2600. Perhaps, however, that number does not tell the whole
story.
------------------
Tags: None
-
Leave a comment: