www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2011/03/14/05:15:54

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: Jim Michaels <jmichae3 AT yahoo DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: csdpmi7 not working on virtualbox, how use dosmemget with seg ofs
from int21h?
Date: Mon, 14 Mar 2011 02:06:34 -0700 (PDT)
Organization: http://groups.google.com
Lines: 52
Message-ID: <3e035797-6b8e-4106-bd29-98e87a9cc121@a21g2000prj.googlegroups.com>
References: <39cdc18e-eccb-4213-b896-db3be020702e AT w9g2000prg DOT googlegroups DOT com> <iknmth$1lb$1 AT speranza DOT aioe DOT org>
NNTP-Posting-Host: 24.21.90.47
Mime-Version: 1.0
X-Trace: posting.google.com 1300093751 13803 127.0.0.1 (14 Mar 2011 09:09:11 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Mon, 14 Mar 2011 09:09:11 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: a21g2000prj.googlegroups.com; posting-host=24.21.90.47; posting-account=05hOMwoAAAB6R8xtiQKzEljSMzgOhVF1
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15)
Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729),gzip(gfe)
Bytes: 3418
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

On Mar 3, 2:31=A0am, "Rod Pemberton" <do_not_h DOT  DOT  DOT  AT notreplytome DOT cmm>
wrote:
> "Jim Michaels" <jmich DOT  DOT  DOT  AT yahoo DOT com> wrote in message
>
> news:39cdc18e-eccb-4213-b896-db3be020702e AT w9g2000prg DOT googlegroups DOT com...
>
> >.
> > I am doing an int 21h function 7303h disk free space call, and I need
> > to pass a structure to this function and when the function finishes,
> > it returns a similar structure back, but with different data filled
> > in.
> > [...]
>
> > the addresses of the structures in real mode memory in question are in
> > segment offset format coming from and going into int21h function 7303h
> > (a DOS FAT32 function) at es:di and I need a C string at ds:dx, and I
> > need to get at whatever is coming back from es:di.
>
> > any detailed clues/code as to how I should deal with that?
>
> Yes, look at the DJGPP portion of my lfn_71A0() routine here:
>
> http://groups.google.com/group/openwatcom.users.c_cpp/msg/a021f62b057...
>
> I'd think your routine would be very similar - basically identical - for
> 7303h instead of 7160h. =A0E.g., change ax =3D 7303h from 7160h, and set =
r.x.cx
> =3D 44 (2Ch). =A0The routine uses a DJGPP area called the "transfer buffe=
r" in
> low memory. =A0It's addressed as selector:offset as _dos_ds:__tb in prote=
cted
> mode, but you usually just need the offset for PM functions. =A0It's addr=
essed
> as segment:offset as __tb_segment:__tb_offset in real mode or for real-mo=
de
> functions. =A0ds:dx uses the first part of the tb as a path and a later
> portion, starting at OFFS, for the buffer at es:di. =A0You'll need to che=
ck
> RBIL to see if the flags and return related lines are correct.
>
> post 2 of 3.
>
> Rod Pemberton

that doesn't actually tell me how to to get a random memory location
value back from int21h in ES:DI and the structure is passed back in
that.  the code is not working.  I get garbage.

the code you showed me simply passes ES:DI to the function and the
same ES:DI buffer is passed back.  nothing useful there.  in 7303h,
the function returns new information.  big problem.  no code examples
from djgpp!

- Raw text -


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