Mail Archives: djgpp/1999/04/21/13:45:50
From: | "Sacha Guyon" <sachman AT multimania DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | translation of an MSCDEX Real mode function into djgpp and dpmi's Pmode ?
|
Date: | Wed, 21 Apr 1999 17:21:46 +0200
|
Organization: | Club-Internet (France)
|
Lines: | 31
|
Message-ID: | <7fkqpp$fo4$2@front6.grolier.fr>
|
NNTP-Posting-Host: | ppp-170-160.villette.club-internet.fr
|
Mime-Version: | 1.0
|
X-Trace: | front6.grolier.fr 924708473 16132 195.36.170.160 (21 Apr 1999 15:27:53 GMT)
|
NNTP-Posting-Date: | 21 Apr 1999 15:27:53 GMT
|
X-Newsreader: | Microsoft Outlook Express 4.72.3110.5
|
X-MimeOLE: | Produced By Microsoft MimeOLE V4.72.3110.3
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I have a problem to translate a real mode function to djgpp and dmpi's
protected mode laws.
I need to use the "MSCDEX Send Device Driver Request" function from int
2Fh, with ax = 1510h, cx = cdrom letter [i have a variable CDROM
containing this number] , and [here is my problem] es:bx = adress of cdrom
device driver request header.
I need to know the real mode equivalent segment and offset of ptr , and i
didn't find it in the dpmi specs and djgpp docs.
so here is the real mode function :
void CallDevice(void *ptr)
{
static union REGS reg;
static struct SREGS seg;
segread(&seg);
seg.es=FP_SEG(ptr);
reg.x.ax=0x1510;
reg.x.bx=FP_OFF(ptr);
reg.x.cx=CDROM;
int86x(0x2f, ®, ®, &seg);
}
Thanx,
--
Sacha - ICQ# : 14348724
<http://www.multimania.com/sachman>
- Raw text -