Announcement

Collapse
No announcement yet.

EMS memory and Windows XP

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

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


      #22
      asking just once is sufficient thanks... please see the reply to your other post at http://www.powerbasic.com/support/pb...read.php?t=895



      ------------------
      lance
      powerbasic support
      mailto:[email protected][email protected]</a>
      Lance
      mailto:[email protected]

      Comment


        #23
        Just for info I have bought the latest CYBERCOM 1.7gig 256Mbyte
        system with XP and the dreaded NO EMS arrived. After a great
        deal of trying all the fixes with no success I booted it with
        DOS 6, set up CONFIG.SYS with HIMEM.SYS and EMM386.
        On boot up EMM386 failed to load with the message "High memory
        already in use by RAM or ROM".
        So that appears to be the end of my DOS programming on this new
        machine. I recommend using this method before wasting fruitless
        hours.
        Good job I bought PB for Windows.


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

        Comment


          #24
          Further to my last post I detected (by eye) a bit of spare RAM
          at 0xE000 so I set EMM386 frame=E000. Hey presto my PBDOS
          program reported FRE(-11) 32Mbytes. The problem now is that I
          get an EMM syntax error when I put any form of EMM command in to
          CONFIG.NT


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

          Comment


            #25
            I just got an XP machine and was stymied by memory problems for DOS apps, particularly qetting QBX (PDS 7.1) to load anything but very small code files. I finally stumbled across a solution that builds upon the one Tom Hanlin mentioned above.

            To the CONFIG.NT file, add "BUFFERS=40", like this:

            dos=high, umb
            device=%SystemRoot%\system32\himem.sys
            files=40
            buffers=40

            This solved the problem with QBX completely, although I do not understand why (any takers?) This may solve other memory-related problems in XP's CMD.EXE, so I thought I'd post it here for consideration.

            (I cleared out my AUTOEXEC.NT file as well, BTW.)

            --Tom


            ------------------
            Tom Brodhead
            Tom Brodhead

            Comment


              #26
              Sorry Tom, but it looks like your results were coincidence with something else you changed... the following is from Windows Help:
              Buffers
              Windows XP does not use this command. It is accepted only for compatibility with MS-DOS files.
              The same thing is mentioned in Windows 2000 help.



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

              Comment


                #27
                Lance,

                Re-read that statement (which I had read before trying out BUFFERS in the first place); it doesn't say that CMD.EXE and COMMAND.COM aren't effected by the results of BUFFERS; it says that XP isn't affected by BUFFERS. This does not mean that DOS sessions within COMMAND.COM and CMD.EXE are not affected by BUFFERS, does it?

                My proof:

                When I REM out the "BUFFERS=40" line in my CONFIG.NT and restart my CMD.EXE session, QBX cannot open my larger BAS code files, blanching to the screen "Out of memory". On the other hand, when I un-REM the "BUFFERS=40" line in my CONFIG.NT and restart CMD.EXE, QBX loads my larger BAS files without a hitch. Nothing else on my system is changed when I perform this test; the proof is in the pudding, as they say...

                Now, I take that HELP entry on BUFFERS not to mean that BUFFERS is not supported, just that it has no relevance within the main XP environment; the phrase "it is accepted for compatibility" implies that it is supported within CMD.EXE and COMMAND.COM.

                If, however, that HELP entry is to mean that BUFFERS is not supported at all, then it looks like I've come across a "hidden" feature in XP-Pro, ServicePak 1a...

                --Tom

                ------------------
                Tom Brodhead

                [This message has been edited by Tom Brodhead (edited December 17, 2003).]
                Tom Brodhead

                Comment


                  #28
                  Heh! Anything is possible!

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

                  Comment


                    #29
                    Tom,
                    Didn't work on my XP Pro system.
                    Is there anything else not remarked in config.nt?
                    Are you starting QBX with some switches?
                    Did you create a .PIF file or something?
                    I have to run Windows 98 SE to use QBX.

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

                    Comment


                      #30
                      Someone at this forum(or some forum??) mentioned a program called
                      DosBox http://dosbox.sf.net but no one ever said if they had ever
                      tried it. I don't have XP(thank god) but am curious to see if it would
                      be a viable solution in the tragic event that I might have to use it
                      some day. Has anyone here tried it?

                      also there's a program called X-Setup http://www.xteq.com that
                      allows you to adjust hundreds of windows hidden settings via a handy
                      point and click interface with detailed descriptions of each setting.
                      It might help with some of those more difficult settings. Sure beats
                      the heck out of regedit.

                      Buck


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




                      [This message has been edited by Buck Huffman (edited December 19, 2003).]

                      Comment


                        #31
                        Still curious as to what is different with Tom's machine.

                        I've tried unsuccessfully to get QBX to load anything other
                        than the smallest program. Did Buffers=40 work on any other machine?


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

                        Comment


                          #32
                          In MyComputer, move to C:\WINDOWS and right-click _DEFAULT; select [Properties]; select [Program] tab; clear-out [Close on exit] (it should be unchecked.) This causes the effects of AUTOEXEC.NT and CONFIG.NT to be instated and remain persistent in CMD (DOS) sessions.

                          Under the Memory tab, I have AUTO for both forms of Conventional Memory (with the Protected box unchecked); Expanded Memory = 16384; Extended Memory = 16384, with "Uses HMA" checked, and MS-DOS Protected Mode (DPMI) Memory set at AUTO.

                          My CONFIG.NT file:

                          dos=high, umb
                          device=%SystemRoot%\system32\himem.sys
                          files=40
                          buffers=40

                          My AUTOEXEC.NT file:

                          @echo off
                          floppy off

                          FLOPPY.COM is a freeware utility that shuts off the floppy drive, which is necessary when running QBX in XP, because in that environment QBX will check the floppy drive whenever a new file is selected to be opened within the QBX editor, which is extremely annoying.

                          FLOPPY.COM is available at http://advsys.net/ken/utils.htm

                          I'm using CMD.EXE for running QBX, not COMMAND.COM. I'm using a full-screen DOS display with window width=80 and height=25, to reproduce the standard DOS display. My command history buffer size = 50, number of buffers = 4, edit options = insert mode.

                          I'm starting QBX within a command prompt generated with CMD.EXE.

                          Good luck!

                          --Tom


                          ------------------
                          Tom Brodhead
                          Tom Brodhead

                          Comment


                            #33
                            Thank Tom.
                            Tried everything, but no luck.
                            Can only load small programs or "Out of Memory"


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

                            Comment


                              #34
                              hi yall and merry christmas.

                              i have noticed a difference when shellin/executing the commands COMMMAND and CMD
                              in win2k that there are different options in the properties settings.
                              maybe this will cause low memory.


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


                              [This message has been edited by paul d purvis (edited December 23, 2003).]
                              p purvis

                              Comment


                                #35
                                I was under the impressions that COMMAND was the 16bit emulation
                                command prompt and CMD was 32bit.

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

                                Comment


                                  #36
                                  In Win XP, DOS programs take on the properties of "_default.pif"
                                  unless thay have their own PIF file (which is different than a
                                  LNK shortcut file). All you have to do to designate EMS, XMS,
                                  and other options is locate DOS executables (e.g., PB.EXE) using
                                  Windows Explorer or PowerDesk, right-click on the file, select
                                  Properties, set all options (as in Win95/Win98), and click Ok.
                                  This will create a PIF file for the DOS program (e.g., PB.PIF).

                                  Note that when you run DOS programs from a CMD prompt
                                  (C:\ prompt), Win XP switches to the Command.Com interpreter
                                  and system environment defined by "_default.pif". However, if
                                  you have defined a corresponding PIF as described above, that
                                  PIF environment is set up by NTVDM.

                                  Thus, if you right-click and select Properties for PB.EXE
                                  (PBC.EXE, PBLIB.EXE, or other DOS programs), you can set up
                                  environments tailored to the needs of each program (by creating
                                  a PIF for each program).

                                  Also note that PIFs are valid XP Desktop and Start Menu
                                  shortcuts, just as they were in Win95 and Win98.

                                  For some DOS programs, it "may" also be desirable to edit
                                  Config.Nt (as previously suggested in this thread) in order to
                                  set "files=nn" and/or "buffers=nn".

                                  If your PIF files associated with DOS programs specify EMS
                                  and/or XMS, NTDVM will emulate both the presence and functions
                                  of himem.sys when you run programs associated with such PIF
                                  files, providing your Config.Nt file specifies:

                                  dos=high, umb
                                  device=%SystemRoot%\system32\himem.sys

                                  When you set up PIF files for DOS programs that access XMS
                                  (but not EMS), you should specify "NONE" for EMS memory so that
                                  you get the maximum amount of available memory in the emulated
                                  DOS environment for such programs.

                                  ------------------
                                  Jim C.
                                  Jim C.

                                  Comment


                                    #37
                                    I find it interesting that no one figured out the solution on this one, so far. This is what you do:

                                    It is not important what _default.pif is set at. Go to properties of QBX.exe, click memory, set EMS to None, everything else to Auto and check uses HMA. You don't set compatibility to windows 95 or 98, and you can check the "close on exit" (optional), and then click OK. The system automatically creates the qbx.pif file that has the same attributes.

                                    You can double click on either qbx.exe or qbx.pif and it will load any size file. You tell me if it works on your machine?

                                    Comment


                                      #38
                                      That works!
                                      Went to My Computer, found QBX.EXE and followed directions.
                                      Great, only took a few years, but can now work in XP!
                                      Thank you very much!


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

                                      Comment


                                        #39
                                        Using XP Pro SP2 this allows large programs to load into QBX.
                                        In c:\windows\system32\config.nt
                                        EMM = RAM

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

                                        Comment

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