Board index » delphi » Access to big array in extended memory under DOS.

Access to big array in extended memory under DOS.

Hello.

I have the trouble with obtaining of the big array from other library. The
size of array is over 1Mb. The main problem is that my software must work
under DOS. Therefore I try to use special libraries for access to XMS and
EMS (from Borland's BC++ Developer's Support page, Simtel site and Cliff
Rhodes' EMS and XMS support functions from http://www.snippets.org ).
Specific of my problem that I need to pass to the procedure the values of
Segment and Offset of the beginning the reserved memory for array. The
common part of all libraries is that values are put to and get from XMS
memory using special functions. I understand how to reserve necessary
memory. But I don't reaaly understand now how to obtain the beginning of
reserved memory. I can obtain this address only using EMS library of Cliff
Rhodes, but this library returned correct data only for 64K - 4 pages of 16K
when I mapped each of these 4 pages to the bank. Is it possible at all to
use such big data in 16-bits DOS applications?

Thanks in advance,
Alexander Glasman.

 

Re:Access to big array in extended memory under DOS.


On Wed, 16 Aug 2000 02:17:18 +0400, "Alexander Glasman" <glas...@comset.net>
wrote:

Quote
>I have the trouble with obtaining of the big array ...
>The size of array is over 1Mb. ... Is it possible at all to
>use such big data in 16-bits DOS applications?

Yes, it's possible. To see it working, get the shareware library
memman2c.zip from the web (e.g. - Simtel or Garbo sites)
Its test/demo program allocates and uses a buffer of 1343488 bytes
from EMS, XMS and Virtual Memory in a 16-bit DOS program.

--
Wayne A. King
(ba...@torfree.net, wayne.k...@ablelink.org,
 wak...@idirect.com, Wayne_A_K...@compuserve.com)

Other Threads