From: "Johan Venter" Newsgroups: comp.os.msdos.djgpp References: <376230d5 DOT 102598132 AT news DOT xmission DOT com> Subject: Re: Calling DOS functions Lines: 32 X-Newsreader: Microsoft Outlook Express 4.72.3110.1 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Message-ID: Date: Sun, 13 Jun 1999 11:54:33 +1000 NNTP-Posting-Host: 203.40.82.151 X-Trace: newsfeeds.bigpond.com 929249929 203.40.82.151 (Sun, 13 Jun 1999 14:58:49 EST) NNTP-Posting-Date: Sun, 13 Jun 1999 14:58:49 EST Organization: Telstra BigPond Internet Services (http://www.bigpond.com) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com >I've got as far as using >dosmemput and dosmemget to move my data to and from the go32 transfer >buffer, Great! You found the transfer buffer. Many ppl don't know anything about it. Anyway, on to your prob. > but I'm not clear on how I set up the _go32_dpmi_registers >with the correct segment and offset values before handing it off to >_go32_dpmi_simulate_int. NOTE:: __dpmi_regs is the actual structure, _go32_dpmi_registers is just a #define to it. Check dpmi.h. Also, I assume you want to load es and di with segment:offset pair. If not, just change registers. Do this: __dpmi_regs r; r.x.di = __tb & 0x0F; //get the offset r.x.es = (__tb >> 4) & 0xFFFF; //get the segment There you go! -- Johan Venter ICQ 3643877 Visit The TPU DJGPP Interest Group: http://surf.to/djgppig