delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2005/11/29/20:45:55

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: 29 Nov 2005 17:35:07 -0800
Organization: http://groups.google.com
Lines: 30
Message-ID: <1133314507.884056.150990@f14g2000cwb.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>
NNTP-Posting-Host: 61.66.169.71
Mime-Version: 1.0
X-Trace: posting.google.com 1133314512 6556 127.0.0.1 (30 Nov 2005 01:35:12 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Wed, 30 Nov 2005 01:35:12 +0000 (UTC)
In-Reply-To: <dmi003$ntf$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: f14g2000cwb.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

Thanks, i will try it.
I have another question now.

the address of r_buffer as below, right
r_buffer: PM address = (ULONG)r_buffer
r_buffer: RM address = (ULONG)r_buffer+__djgpp_conventional_base;

// only if r_buffer points to data within this program...
does this mean that i just declare ****BYTE *r_buffer**** or **** BYTE
r_buffer[0x10000]**** in my program
and if i lock a region in XMS, i should use
    PRD_EDDS.Offset = r.x.dx;    // RM offset e.g., Lock XMS r.x.dx
segment
    PRD_EDDS.Segment = r.x.bx;   // RM segment e.g., Lock XMS r.x.bx
offset
if i need data, i use dosmemget/put to the XMS region, right.

#if 0
// only if r_buffer points to data within this program...
    PRD_EDDS.Offset = (ULONG)r_buffer+__djgpp_conventional_base;
    PRD_EDDS.Segment = 0;
#else
// only if r_buffer points to RM data outside this program, like XMS...

    PRD_EDDS.Offset = r.x.dx;    // RM offset e.g., Lock XMS r.x.dx
segment
    PRD_EDDS.Segment = r.x.bx;   // RM segment e.g., Lock XMS r.x.bx
offset 
#endif

- Raw text -


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