No announcement yet.

expanded memory error Windows 98

  • Filter
  • Time
  • Show
Clear All
new posts

  • expanded memory error Windows 98

    I have created a program with PB35 that has been running in Windows 95 that it uses expanded memory (dim virtual) and it has been working correctly for a while.
    Then I have changed to the Windows 98, and the program generates me an error 202 (error in expanded memory). When revising the properties of memory in the icon of the program, the expanded memory it is disactivated. I have tried to activate it including in the config.sys emm386.exe but the problem persists. I have also executed the program in way DOS and it continues equally.
    Please, he/she would thank a lot to who I could give a solution to my problem.


  • #2
    If I understand what you're saying, Marco, your problem is that you're going about this the wrong way.

    You don't activate EMS services in a Windows DOS box by adding EMM386 to the CONFIG.SYS file. You do it by changing the properties of your DOS program's shortcut, or those of the MS-DOS Prompt shortcut (depending on how you're launching your program.)

    Right-click on the icon, select "properties", then select the "Memory" tab in the Properties dialog. Go down to where it says "Expanded (EMS) Memory", and change that drop-down box from "none" to "auto". Then click "Apply", "OK", and try running your program then.

    "Too often those in the high-tech industry view their work as an unquestionable contribution to the greater good, without regard to long-term effects on the way we all live."
    --Chad Dickerson, InfoWorld CTO


    • #3
      For Win9x, I believe you do need EMM386 in the master CONFIG.SYS file. Let me check around here... looks like standard settings work on our Win98SE box:


      You will need to reboot before any CONFIG.SYS changes take effect.

      It is not always possible to set up EMS on all machines, due to unfortunate hardware designs. There are (or were) some Dell models where this was an issue. It's a rare problem, though, and chances are that a bit of fiddling will see it working.

      Tom Hanlin
      PowerBASIC Staff


      • #4
        May I recommend the following:
        to recover the 64KB of Mono Video RAM?
        Always handy in DOS, an extra 64KB



        • #5
          It's been a while since I had to use 9x on a daily basis, but I just carried out a few tests.

          I was able to edit the PIF file for DOS apps under Win95 and provide EMS to every single DOS app I tested with, without installing EMM386 in the (Win95b) CONFIG.SYS file.

          In fact, my CONFIG.SYS file is 0-bytes long on my test box.

          My understanding is that Windows 9x actually disables EMM386 during startup in order to use its "built-in" VMM which supports EMS,XMS, DPMI, etc, all automatically.

          Can you folks please reverify that EMM386 is actually *needed* on your 98 boxes? Be sure to check your PIF (shortcut) files MEMORY tab, then run the DOS app and check memory availablity (MEM should do nicely for this).

          PowerBASIC Support
          mailto:[email protected][email protected]</A>
          mailto:[email protected]


          • #6
            Thank you to have answered to my question.
            I forgot to comment them that I have two clients that run the program in PC's and Windows 98, lately they have also changed to more modern PC's and Windows 98 and now they have the inconvenience he/she gives that the program doesn't run because it is not available the expanded memory.

            Gary, in properties DOS program's shortcut tab Memory , the expanded memory is not available (it cannot be modified).

            Tom, I have already proven adding the line that you mention in the config.sys, but the expanded memory is not activated. Neither in way DOS.
            None gives the new PC's are DELL model.

            David, I have not still proven with the emm386.exe with the given options:
            DEVICE=C:\WINDOWS\EMM386.EXE /I=B700-B7FF
            I have also read in "The Windows Tricks" that this line should be:
            DEVICE=C:\WINDOWS\EMM386.EXE I=B000-B7FF RAM A=64 H=120 D=256 AUTO NOTR
            could you explain to me that they mean each one he/she gives these options, or where I can read something in this respect?.

            Lance, I have also installed the program in PC's with windows 98 in those that I have not needed to configure the config.sys and they don't have neither the himem.sys neither the emm386.exe and the program runs correctly. It is in and of itself that I am confused.
            I have also read in the forum he/she gives Frequently Asked Questions 000024.html that you EMM386 cannot configure to provide EMS with PC's containing a "Promise HDD controller card (Ultra-66)". I don't Still know if the PC's of give the clients they have these controllers he/she gives hard disk.

            Will problem be configuration of software or hardware?.

            I am sorry.
            I write spanish.
            I use L&H Power Translator Pro.



            • #7
              Hardware or Software? Hard to say, but I would suspect it's a software setup problem. Do these PC's have many plug-in cards or are they "basic" PC's?

              Anyway, here is what I would do:

              Edit CONFIG.SYS and set the RAM option for the EMM386 line:
              DEVICE=C:\WINDOWS\EMM386.EXE[b] RAM[/b]
              Note that the HIMEM driver is rarely (or never) required, since it is implicitly loaded anyway.

              Now, with the EMM386 line in place, reboot the computer in MSDOS mode, then check the MEM results. If EMS memory is included in the details, then the problem has to be the setup of Windows. If EMS is not running, you can suspect it's a hardware issue akin to our FAQ.

              From my research, Win98 uses the following registry key for EMS:
              It may be worth check the keys there. For a comparison to another PC's results, check out

              Finally, if this still does not get EMS going, then push the problem to either the vendor of the computer, or contact Microsoft for additional EMM setup help.

              PowerBASIC Support
              mailto:[email protected][email protected]</A>
              mailto:[email protected]


              • #8
                A quick test running MEM in Windows 95A:

                Without EMM386

                Memory Type Total Used Free
                ---------------- -------- -------- --------
                Conventional 636K 71K 565K
                Upper 0K 0K 0K
                Reserved 0K 0K 0K
                Extended (XMS) 64,512K 328K 64,184K
                ---------------- -------- -------- --------
                Total memory 65,148K 399K 64,749K

                Total under 1 MB 636K 71K 565K

                Total Expanded (EMS) 63M (66,437,120 bytes)
                Free Expanded (EMS) 16M (16,777,216 bytes)

                Largest executable program size 565K (578,048 bytes)
                Largest free upper memory block 0K (0 bytes)
                MS-DOS is resident in the high memory area.

                With EMM386 NOEMS /I=B000-B7ff

                Memory Type Total Used Free
                ---------------- -------- -------- --------
                Conventional 636K 28K 609K
                Upper 179K 179K 0K
                Reserved 0K 0K 0K
                Extended (XMS) 64,333K 217K 64,116K
                ---------------- -------- -------- --------
                Total memory 65,148K 424K 64,725K

                Total under 1 MB 815K 206K 609K

                Largest executable program size 608K (623,088 bytes)
                Largest free upper memory block 0K (0 bytes)
                MS-DOS is resident in the high memory area.



                • #9
                  I discovered way back in the days of win 3.1 that if you add

                  NoEMMDriver = OFF

                  to the [386enh] section of system.ini, that windows will provide
                  EMM support to your dos programs without the need for emm386.exe.
                  This also works in windows 95 and 98(I don't know about 98se)
                  Although off is the default for this setting. other settings
                  can change this activity without warning.

                  If a NoEMMDriver line already exists in your system.ini file
                  then just change it to match the line above.

                  P.S. you will need to restart windows after making this change
                  for it to take effect.



                  • #10
                    I'd like to refer to Gary Akins message of Jan 22 2002.
                    I also encountered error 202 when using PB DOS 3.5 in Windows XP
                    since I used "dim virtual and redim".
                    I right clicked "properties" at the MSDOS shortcut. However there
                    is no "memory" item to be found. What can I do ?

                    I'd be grateful to your help.



                    • #11
                      To Buck Huffman...
                      Thank you, thank you, thank you, thank you

                      I have a two year old Gateway computer (98SE) that has NEVER
                      supported EMS. I have tried every variation of
                      DEVICE=C:\WINDOWS\EMM386.EXE that anyone suggested.
                      One support techie even told me that my "Ultra ATA 66" disk
                      controller was causing the problem by using some address space
                      that EMS also used.

                      On a lark, I put "NoEMMDriver = OFF" into to the [386enh] section
                      of system.ini.

                      Eureka!! I suddenly had EMS for the first time!

                      Denny Moore

                      PS - Whenever I put a DEVICE=C:\WINDOWS\EMM386.EXE into Config.Sys
                      I would get "XMS Manager Not Present"... "EMM386 Not Installed"
                      during boot. Anyone know anything about XMS Manager?



                      • #12
                        sounds like "HIMEM.SYS" is not loading properly.
                        check your "CONFIG.SYS" file for a "dos=noauto" setting.
                        if there is one then there should also be a line to load
                        the "himem.sys" driver, like this:


                        you shold also be sure that the file "himem.sys" actually exists
                        at the specified location and that it is the correct one that
                        came with your OS.

                        Also the noauto switch may appear on a line with other items
                        such as:


                        and so on...

                        you may also try disabling the noauto switch, but this may cause
                        other problems.(but is not likely to)



                        • #13
                          "PS - Whenever I put a DEVICE=C:\WINDOWS\EMM386.EXE into Config.Sys
                          I would get "XMS Manager Not Present"... "EMM386 Not Installed"
                          during boot. Anyone know anything about XMS Manager?"

                          Should not have put that in prior message.

                          Previous attempts on my machine always had a HIMEM, followed by
                          the EMM386 line. That never worked. Your setting to System.ini
                          did the trick. BUT, when I put the HIMEM/EMM386 back in, the
                          EMS disappeared again!

                          Enough, I found a fix!! Again, Thanks.