You are not logged in. You can browse in the PowerBASIC Community, but you must click Login (top right) before you can post. If this is your first visit, check out the FAQ or Sign Up.
I can't get EMS in Windows XP because fre(-11) does not work.
I have set the properties of a test program and CMD.EXE to 16M
for EMS and XMS but no joy.
Any ideas out there?
The only thing I know about XP is that I don't want to use it.
Don't know if XP supports HIMEM.SYS and EMM386.SYS in your
CONFIG.SYS file, but you may want to give it a try.
------------------
There are no atheists in a fox hole or the morning of a math test.
If my flag offends you, I'll help you pack.
Windows-XP, being DOS-less Windows-NT-based O/S, does not use AUTOEXEC.BAT and CONFIG.SYS. It may use AUTOEXEC.NT and CONFIG.NT though, and these may need adjustment - they are usually found in the \WINNT\SYSTEM32 folder.
No Joy so far Lance.
I put a copy of EMM386.EXE into the the SYSTEM32 Folder
which already had HIMEM.SYS.
I then replaced the existing CONFIG.NT (in the SYSTEM32 folder)
with the following:
XP then displayed a Window with "EMM386 not loaded, already
in Protected Mode" or words to that effect, I can't remember the
precise report (I don't have my friends laptop here).
Good question. I don't have XP here to test with, but I understand the DOS emulation configuration is the same a Windows 2000.
Firstly, you should not need to install HIMEM.SYS and EMM386 to give EMS to your DOS apps under XP, since the O/S should provide those services automatically.
One note regarding your editing of CONFIG.NT though: are you sure XP is installed in the C:\WINDOWS folder and not a folder named C:\WINNT ?
Next, the CONFIG.NT file most likely contains a whole slurry of notes on editing it... did you have a chance to review these notes?
Finally, what are the memory properties of the shortcut you are using to start up the DOS app or DOS session? Is EMS enabled there?
Thanks Lance,
I only have limited access to my friends laptop and XP so it is
proving a struggle as I can't play until I get it right.
Yes I found CONFIG.NT in the WINDOWS\SYSTEM32 folder.
Since my last post I have had a look at CONFIG.NT and here is
what it says about DOS:
------------------------------------------------------------
REM DOSONLY
REM By default, you can start any type of application when running
REM COMMAND.COM. If you start an application other than an MS-DOS-based
REM application, any running TSR may be disrupted. To ensure that only
REM MS-DOS-based applications can be started, add the command dosonly to
REM CONFIG.NT or other startup file.
REM
REM EMM
REM You can use EMM command line to configure EMM(Expanded Memory Manager).
REM The syntax is:
REM
REM EMM = [A=AltRegSets] [B=BaseSegment] [RAM]
REM
REM AltRegSets
REM specifies the total Alternative Mapping Register Sets you
REM want the system to support. 1 <= AltRegSets <= 255. The
REM default value is 8.
REM BaseSegment
REM specifies the starting segment address in the Dos conventional
REM memory you want the system to allocate for EMM page frames.
REM The value must be given in Hexdecimal.
REM 0x1000 <= BaseSegment <= 0x4000. The value is rounded down to
REM 16KB boundary. The default value is 0x4000
REM RAM
REM specifies that the system should only allocate 64Kb address
REM space from the Upper Memory Block(UMB) area for EMM page frames
REM and leave the rests(if available) to be used by DOS to support
REM loadhigh and devicehigh commands. The system, by default, would
REM allocate all possible and available UMB for page frames.
REM
REM The EMM size is determined by pif file(either the one associated
REM with your application or _default.pif). If the size from PIF file
REM is zero, EMM will be disabled and the EMM line will be ignored.
REM
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=40
---------------------------------------------------------------
Does this imply that EMM need only be called if a change is
needed?
I will now set up a short cut and set the properties,
Wish me luck!
[This message has been edited by Don Ward (edited March 24, 2002).]
Cracked it Lance!
Search for _default.pif
right click on the file
select Properties
select Memory
set Expanded Memory size
Apply
Exit
Re boot and FRE(-11) works.
However, that suggests that you had not actually created a app-specific shortcut to the app? You would have found the same properties in there if you had performed that step.
No Lance, I tried setting the memory properties of a short cut
and it did not work.
On a different subject if I compile a program in the IDE that
is too big to run in the IDE then load a small program that can
run in the IDE PB thinks I am trying to run the earlier program.
It gives the message "Not enough Memory". To run the smaller
program I have to re boot PB.
Tried replacing himem.sys and emm386.exe
unsuccessfully. Whenever I try using emm386.exe
it reports another memory manager is in use.
Tried using the EMM = RAM option with the options
in config.nt unsuccessfully. Converted all but
a few programs in PDS 7.1 and would like to be
able to get QBX to work on an XP machine.
Using _default.pif didn't help.
Get the message "NTVDM CPU has encountered
an illegal instruction". Anyone been able
to use QBX. I need it to convert some programs, but
only the smallest of them could be loaded into QBX
if the EMM = RAM option was used.
default.pif was set to allow 16,384 K.
------------------
[This message has been edited by Mike Doty (edited April 07, 2002).]
DOS sessions under Windows NT/2000/XP are actually provided by an <U>emulation</U> application called NTVDM or "NT Virtual DOS Machine".
Therefore, XP, like it's Windows 2000 counterpart, provides all EMS and XMS services natively through the NTVDM. Since a EMM or HIMEM driver from another O/S will try to access the hardware directly, XP will shut it down pretty quickly.
However, if PowerBASIC works on that machine, I'm afraid there is little more we can offer for these other brands of BASIC.
Have you asked QBX and PDS Tech Support if there are any known incompatibilities with XP?
Haven't found any support for PDS or QBX in years.
If anyone knows a web site, please let me know.
Sounds like I'm going to have to dedicate one
machine to just XP and the network. My ideal
new machine would be XP that runs DOS correctly
on a portable with wireless networking.
Lance.
After some thought I have found an answer to the compile problem:
ALT-F9 to compile the second program
F9 to run it.
This works, don't know why I did not think of it before.
[This message has been edited by Don Ward (edited April 10, 2002).]
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment