ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/30/00:23:20

From: jonklipp AT freenet DOT edmonton DOT ab DOT ca ()
Newsgroups: comp.os.msdos.djgpp
Subject: Passing an address in ES:BX to and int.
Date: 30 Nov 1996 04:07:09 GMT
Organization: Edmonton FreeNet, Edmonton, Alberta, Canada
Lines: 34
Message-ID: <57obtd$9ro@news.sas.ab.ca>
NNTP-Posting-Host: fn2.freenet.edmonton.ab.ca
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi All!

First of all, I love djgpp, it's a great compiler!

Anyway, I'm trying to port some code written for Borland C.  I need to
call interrupt 2eh.  I know hoe to call the interrupt and everything, BUT,
it needs ES:BX to point to a structures address in my code.  In Borland,
this is easy, you just use FP_SEG and FP_OFF.  Offset can be figured out
in DJGPP just by using &variable, unless I'm terribly wrong.  I don't know
how to figure out the variables segment is.  Assuming that the structure
is in the same segment as the code, would something like: 

	sregs.es =_my_cs(); 
work?

Anybody know how to do this?  I guess I'm basically wondering if there is
a DJGPP equivilant of FP_OFF and FP_SEG.

For the curious, a little background on what I'm attempting (if you don't
care, just skip this bit :) ).  I found a small Borland C program that
controls your CDROM player for playing audio tracks via MSCDEX.  MSCDEX
hooks INT 2Eh, function 15h.  It needs to be passed some structures with
commands in them via ES:BX like I mentioned above.  I'm hoping I might be
able to put this in the game I'm working on so you can listen to a CD,
instead of my corny attempts at computer music :)

hope somone knows the answer,
thanx,
-jon!

--
jon klippenstein internet:  klip AT cryogen DOT com
                 uucp:      alberta!ve6kik!dparrot!{root,klip}
                 ham radio: ve6klp

- Raw text -


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