delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2005/11/30/20:46:18

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: blk5743 AT yahoo DOT com DOT tw
Newsgroups: comp.os.msdos.djgpp
Subject: Re: code from BC31(16bits) to DJGPP(32 bits)
Date: 30 Nov 2005 17:34:54 -0800
Organization: http://groups.google.com
Lines: 33
Message-ID: <1133400894.054458.121960@o13g2000cwo.googlegroups.com>
References: <1133146328 DOT 335307 DOT 54810 AT g44g2000cwa DOT googlegroups DOT com>
<dmf6p4$kke$1 AT domitilla DOT aioe DOT org>
<1133226276 DOT 234728 DOT 136880 AT f14g2000cwb DOT googlegroups DOT com>
<dmgcpm$u34$1 AT domitilla DOT aioe DOT org>
<1133234864 DOT 835782 DOT 126770 AT g49g2000cwa DOT googlegroups DOT com>
<dmi003$ntf$1 AT domitilla DOT aioe DOT org>
<1133314507 DOT 884056 DOT 150990 AT f14g2000cwb DOT googlegroups DOT com>
<dmj2e3$9jo$1 AT domitilla DOT aioe DOT org>
<1133323344 DOT 550990 DOT 86450 AT g49g2000cwa DOT googlegroups DOT com>
<dmkd2l$4qs$1 AT domitilla DOT aioe DOT org>
NNTP-Posting-Host: 61.66.169.71
Mime-Version: 1.0
X-Trace: posting.google.com 1133400898 14576 127.0.0.1 (1 Dec 2005 01:34:58 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Thu, 1 Dec 2005 01:34:58 +0000 (UTC)
In-Reply-To: <dmkd2l$4qs$1@domitilla.aioe.org>
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1),gzip(gfe),gzip(gfe)
X-HTTP-Via: 1.0 SVRPROXY
Complaints-To: groups-abuse AT google DOT com
Injection-Info: o13g2000cwo.googlegroups.com; posting-host=61.66.169.71;
posting-account=fl8v7w0AAAAQV4ThVU509YNPI8o0JeB3
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

XMS should be above 1MB, right.
but DX:BX max is FFFF:FFFF can not over 1MB
therefore, the max allocated XMS buffer's start address = 1M+64K
if i allocate 2 region of 1MB block, how can i get the 2 region's start
address.

another question is about physical address of buf i declar
**************************************************************************************
-----r_buffer?-------   physical __djgpp_conventional_base+&r_buffer,
no RM
address, PM address &r_buffer
|              |               |
|              |               |
--------EXE--------   physical __djgpp_conventional_base, no RM
address, PM
***************************************************************************************
i have a test code as below
BYTE r_buffer[100],buf[20];
==>r_buffer's physical address
==> DWORD Addr = (DWORD)__djgpp_conventional_base+(DWORD)r_buffer
where )__djgpp_conventional_base = 0xEF810000, r_buffer = 0x126E8

dosmemget(Addr,10,buf);==> it will fail(seem Addr is too large, the max
i tried is 0x105FF7)
program exit code:255(0x00FF)

how can i make sure that physical address is correct.
i need to check the physical address is correct like this
==>PRD_DDS.Offset =(ULONG)PRD_Table+__djgpp_conventional_base; 


thanks

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019