Announcement

Collapse
No announcement yet.

EMS memory and Windows XP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.


    ------------------

  • #2
    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.


    ------------------
    How long is an idea? Write it down.

    Comment


    • #3
      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
      Roy Scott
      http://www.royscott.net

      Comment


      • #4
        I vaguely remember trying that and an error
        message like virtual memory manager invalid appears.

        ------------------
        How long is an idea? Write it down.

        Comment


        • #5
          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

          Comment


          • #6
            Thank 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.


            ------------------

            Comment


            • #7
              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

              ------------------

              Comment


              • #8

                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

                ------------------

                Comment


                • #9
                  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>
                  Lance
                  mailto:[email protected]

                  Comment


                  • #10
                    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

                    ------------------
                    How long is an idea? Write it down.

                    Comment


                    • #11

                      I wish people can post some "findings" as to

                      under what situation is not working ?
                      and what is now working ?

                      Regards



                      ------------------

                      Comment


                      • #12
                        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
                        Note that the extension for the _default.pif file doesn't show up
                        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

                        Comment


                        • #13
                          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

                          ------------------

                          Comment


                          • #14
                            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.

                            ------------------
                            How long is an idea? Write it down.

                            Comment


                            • #15
                              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).]

                              Comment


                              • #16
                                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.

                                ------------------

                                Comment


                                • #17
                                  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!

                                  ------------------

                                  Comment


                                  • #18
                                    Thanks 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.



                                    ------------------

                                    Comment


                                    • #19
                                      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

                                      Comment


                                      • #20
                                        If anyone knows how to eliminate video or system ROM, please let me know
                                        You might check BIOS setup for possible related options.

                                        ------------------
                                        Davide Vecchi
                                        [email protected]

                                        Comment

                                        Working...
                                        X