That is incorrect. TPX runs in the Protected Mode to compile your programs
but it does not create Protected Mode programs!
CU
Jens
--
[ HOMEPAGE: http://home.t-online.de/home/jens.gesing/index.htm ]
[ PROGRAMMING-DO-IT-YOURSELF: http://www.pdiy.de ]
[ EMAIL: jens...@gmx.de ICQ: 60295457 ]
That's just the IDE, the code produced is exactly the same real-mode code.
TPX can just hold larger project source code in memory.
Pete Gates
Your approach is correct. However, you must be running in
protected mode to do this. The array needs 1.2mb.
Note that I suspect your ranges are off by 1.
--
Geoff Bagley
G3FHL.
The compilers in Borland Pascal 7 are named TPC and BPC. There is no TPX. I
think your referring to a previous version.
The manual (prog. ref.) says, and I quote
"BPC.EXE runs in protected mode and targets DOS real-mode, Windows, and DOS
protected-mode applications."
Protected mode I believe refers to the 286 protected-mode (16-bit) with
maximum 16Mb memory available in this mode.
Dean
However, a couple of lines of code will give you nearly 64mb on a
386+ machine.
*Turbo* Pascal 7 includes TPX. If you have *Borland* Pascal 7 then you
can compile with BP or BPC for real mode programs
>
>Protected mode I believe refers to the 286 protected-mode (16-bit) with
>maximum 16Mb memory available in this mode.
>
You can, of course, with a few lines of code create a swap file on disk.
--
This group unfortunately has no FAQ, comp.lang.pascal.borland does
Contains links to | http://www.pedt.serve.net.uk/faq/clpb-faq.txt
helpful information | http://www.merlyn.demon.co.uk/clpb-faq.txt
and some guidelines | ftp://garbo.uwasa.fi/pc/doc-net/faqclpb.zip
Nope. You don't need any lines of code to give you 64MB on a 386+ machine.
--
Jay
Jason Burgon - Author of "Graphic Vision"
Professional Win95-style GUI for DOS/DPMI
Graphic Vision evaluation (version 2.04) available from:
http://www.jayman.demon.co.uk
> >Protected mode I believe refers to the 286 protected-mode (16-bit) with
> >maximum 16Mb memory available in this mode.
>
> However, a couple of lines of code will give you nearly 64mb on a
> 386+ machine.
and what about more than 64 MB RAM?
I'm using a little trick to get a 32-Bit host: I exchange the DPMI16BI.OVL
with the DPMI32VM.OVL from TASM 5, so I get a 32-Bit host but how do I get
more than 64 MB RAM?
I don't know how to get more than 64mb under Windows. If you
find an easy way I would be interested. If you are not running
windows, I've encountered some routines that manipulate 48-bit
addresses. You can store up to the system memory, but you need to
copy in/out, you can't use the data in place effectively.
Please tell me more about it. Is this dependent whether HIMEM.SYS can use more
than 64 MB? Appearently some (if not most) HIMEM.SYS can't use more than 64 MB
or so...
> Please tell me more about it. Is this dependent whether HIMEM.SYS can use
more
> than 64 MB? Appearently some (if not most) HIMEM.SYS can't use more than
64
> MB or so...
As I understand it, since (useful) 16-bit DPMI selectors are limited to 64KB
in size, you can't allocate more than 256MB (64K x 4096) to a 16-bit
protected mode application because the other 4 bits of each selector are
used for other purposes.
This I do know for sure: The first versions of the Himem used 16-bit values
for specifying blocks sizes in KBytes, so this limits these versions of
Himem to a limit of 2^16 * 1024 = 64MB.
Later versions (3.0 and above I think) extended the API to allow 32-bit "KB"
values to be passed, thus allowing up to 4GB, but if the DPMI server only
uses the old functions....
Markus Humm wrote on 2000-07-07 12:23:
>
> Loren Pechtel schrieb:
>
> > >Protected mode I believe refers to the 286 protected-mode (16-bit) with
> > >maximum 16Mb memory available in this mode.
> >
> > However, a couple of lines of code will give you nearly 64mb on a
> > 386+ machine.
>
> and what about more than 64 MB RAM?
> I'm using a little trick to get a 32-Bit host: I exchange the DPMI16BI.OVL
> with the DPMI32VM.OVL from TASM 5, so I get a 32-Bit host but how do I get
> more than 64 MB RAM?
You cannot. RTM.EXE (which you cannot bypass, if you use BP7) uses a
16-bit counter to know how much memory it can use. And it counts memory
in 1K increments...
Or you can perhaps try to patch RTM.EXE to use a 32-bit counter instead,
but I do not know if it is worth the trouble.
Antoine
That is correct. Memory is claimed (ultimately) through XMS, and
the XMS server which is inside Windows (and which replace HIMEM.SYS)
is limited to 64 MB (it works like a 2.0 XMS server on this respect).
> Please tell me more about it. Is this dependent whether HIMEM.SYS can use more
> than 64 MB? Appearently some (if not most) HIMEM.SYS can't use more than 64 MB
> or so...
Antoine