delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/11/21/10:37:15

Date: Sun, 21 Nov 1999 10:26:22 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Wynand Van Staden <s9800973 AT student DOT rau DOT ac DOT za>
cc: djgpp AT delorie DOT com
Subject: Re: real vs protected mode interrupts.
In-Reply-To: <9431167645339-2018525339s9800973@student.rau.ac.za>
Message-ID: <Pine.SUN.3.91.991121102603.25798U@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, 20 Nov 1999, Wynand Van Staden wrote:

> now, there still remains one thing that bugs me. in the CDROM, mscdex calls
> what you need to do is pass a control structure to ES:DI. Ok, easily
> done with __tb >> 4 thingy(you know what i mean), what now remains a
> problem is that in the control block you need to pass a pointer to
> another control block

Do the same thing you did before, but twice: use part of the transfer
buffer for the first block, another part for the second block, and
then place the seg:off of the first block into the pointer in the
second one.

The segment of any part of the transfer buffer is (__tb >> 4), and the
offset is the distance in bytes of that block from the beginning of
the transfer buffer.

> (perhaps i should go look in ID's quake source to see how they managed it?)

There's working code in the DJGPP library sources that talks to the
CDROM driver.  See the file src/libc/compat/sys/vfs/statfs.c in
djlsr202.c.

- Raw text -


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