From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <41AC4E03.7010004@sitetronics.com> Date: Tue, 30 Nov 2004 11:40:03 +0100 From: "Devon H. O'Dell" User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] VBE 1.2/2.0+ functions for Plan9 References: <74f32320e9b5042e0d79f57b4c38aeca@vitanuova.com> In-Reply-To: <74f32320e9b5042e0d79f57b4c38aeca@vitanuova.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 0f2d1050-eace-11e9-9e20-41e7f4b1d025 rog@vitanuova.com wrote: >>I got some tips to look in Inferno code, since Roger Peppe had >>implemented a VESA driver there. After looking through the Inferno >>source, it appears that any VESA code has been left out of the public >>source. > > [snip] > life would have been much easier if i had been able to figure > a way of invoking 16-bit BIOS calls from 32-bit real mode, > but i failed. anyone know how? other systems seem to manage it. > > my memory is very rusty, but email me if you want help figuring > out my crappy code! > > cheers, > rog. Well, I must admit, I'm not the best assembly developer out there. I've been taking a look at how DragonFly BSD [1] and NetBSD [2] are doing it [executing real mode code under protected mode], and I'm having a bit of trouble understanding how it works. If somebody with more assembler experience might be able to help me go through this code to understand what's happening, or would be able to work on implementing it with me, this would be highly appreciated. Specifically, I can follow the flow of the code (I'm not completely hopeless ;)), but I don't understand why certain values and registers are used in their context. When this is done, implementing the VBE 1.2/2.0/3.0 functions will be quite a snap. So, anybody who can give me a hand, I invite you to please do so! I'm pretty easy to contact for live discussion on most chat media; see http://www.the-bofh.org/contact.html for a pretty comprehensive list. Of course, email works too :). Don't be shy! Kind regards, Devon H. O'Dell [1] http://dragonfly.the-bofh.org/cgi-bin/cvsweb.cgi/src/sys/i386/i386/vm86bios.s?rev=1.12&content-type=text/x-cvsweb-markup [2] http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/i386/kvm86call.S?rev=1.4&content-type=text/x-cvsweb-markup