Announcement

Collapse
No announcement yet.

EMS size

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

    EMS size

    Are DOS programs limited to 16Mbytes of EMS? I have 63M on this
    machine using Win98 but the EMS memory size on Properties will
    only allow 16M max.

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

    #2
    PowerBASIC itself does not limit EMS usage -- that limit is set by the memory manager installed on the target PC.

    32-bit Windows can typically allocate 16 to 32Mb of EMS to a DOS app, and some memory managers such as QEMM can provide up to 64Mb of EMS.

    Within PowerBASIC/DOS, individual arrays are limited to 32Mb each. However, the FRE(-11) function can only report up to a maximum value of 16Mb free EMS, even if more EMS is still available (theoretically we could report larger values, but some EMS memory managers were found to inaccurately report values above 16Mb).

    As an experiment, you could test the actual limit on your machine by allocating a bunch of virtual arrays of say, 4Mb each, until EMS is completely consumed.

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

    Comment


      #3
      Thanks Lance, I just wondered. Having sorted out access to EMS on
      Windows XP some of my program users can't access EMS on Win 2000,
      any ideas?

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

      Comment


        #4
        ems issues are the same from nt to windows 2000 to xp. try here
        for other ideas:

        http://www.powerbasic.com/support/pb...ead.php?t=1374

        ------------------
        tom hanlin
        powerbasic staff

        Comment


          #5
          We were not talking about ME as such, but you might try looking for answers on how to "switch it on" at places such as www.computing.net or (or dare I say it!) www.msdn.microsoft.com - in the latter, try searching in the Knowledge Base (MSKB) area.

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

          Comment


            #6
            Well, look what I found...
            http://support.microsoft.com/default...75423&LN=EN-US

            I hope it helps!

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

            Comment


              #7
              Windows ME started life as Win98 TE (third Edition), it is alleged that MS would sell more if they labelled it as a new OS, and added a few new features, such as hiding away the ability to boot to DOS.

              I can also tell you that Windows ME is no closer a relation to XP (which is NT-based) then Win95 or Win98/98SE.

              But no matter what is touted about ME, there is still a DOS layer under it, even if you can't see it immediately.

              Or to put it another way: 95, 98 and ME are all <U>hybrid</U> OS's... when running 32-bit applications they have to "thunk" to 16-bit mode to do most operations (graphics, file system, you name it!).

              Conversely, WinNT, Win2K, and WinXP are pure 32-bit OS's. All support for 16-bit and DOS applications is done in a 100% emulated environment layer known as NTVDM (NT Virtual DOS Machine). This works in conjunction with WOW32 - the Windows (16-bit) on Windows (32-bit) emulation layer to provide support to Win16 applications.

              ... and that makes it 100% different to how the hybrid versions operate.

              There are a number of books available on the internals of Windows... it almost makes for interesting reading, but there are some real nuggets of useful information to be gleaned if you are interested in Windows programming to any degree.

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

              Comment


                #8
                I really don't follow the logic here. What has C got to do anything being discussed in this topic (EMS)?

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

                Comment


                  #9
                  So, it becomes quite evident that applications based on use of EMS
                  are harder and harder to maintain everyday with the new MS
                  Operating systems and PC's. And the only reason why we are all so
                  interested in getting EMS is because PB 3.50 stores VIRTUAL
                  ARRAYS in EMS. So the question is 'Is anyone at POWERBASIC
                  redesigning the compiler in order to have VIRTUAL ARRAYS stored
                  in XMS? (please say yes!)


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

                  Comment


                    #10
                    All I can tell you is that XMS arrays are on the wish list...

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

                    Comment

                    Working...
                    X
                    😀
                    🥰
                    🤢
                    😎
                    😡
                    👍
                    👎