From: "Andrew Jones" Newsgroups: comp.os.msdos.djgpp References: Subject: Re: VESA, DJGPP, calling far-functions Lines: 38 X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Message-ID: <3mna4.65261$X47.355690@quark.idirect.com> Date: Wed, 29 Dec 1999 12:43:43 GMT NNTP-Posting-Host: 216.154.7.25 X-Complaints-To: abuse AT idirect DOT com X-Trace: quark.idirect.com 946471423 216.154.7.25 (Wed, 29 Dec 1999 07:43:43 EST) NNTP-Posting-Date: Wed, 29 Dec 1999 07:43:43 EST Organization: Internet Direct - http://www.mydirect.com To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com This is also being CC'd as my ISP's news server is rather unreliable. I think you would have to look into the DPMI function __dpmi_simulate_real_mode_procedure_retf, which, as you can probably tell from the name, calls a real mode procedure which is terminated with a far return instruction. You just set up the __dpmi_regs structure like any other, and have the CS/IP pair point to the segment:offset given from VBE function 1 (Get Mode Information). The registers you need are just put into the __dpmi_regs structure as well. Although I could be wrong. I don't use VESA 1.2 anymore (VBE2/3, Linear Frame Buffer!). Hope this helps, Andrew Jones xluminous AT NOSPAM DOT hotmail DOT com > Hi, > > I'm working on a VESA 1.2 library.. One of the features of the 1.2 > specification requires me to call a function pointed to by a far-pointer with > specific values inside my registers.. Now, up to this point I made us of > __dpmi_int() whenever I wanted to manipulate real-mode interrupts using > DJGPP, but this is totally different. > > How do I: > > 1) Call this function which is accessible in real-mode (since its pointed to > by a far-pointer) > > 2) Control what values are in the registers right before I call this > function?