Willow Schlanger wrote:
>
> OK Kevin, here's what I recommend.
>
> First we'll add VESA VBE 2.0 support via the BIOS. This will get SVGA
> working under the QNX boot disk.
>
> VES VBA 2.0 is _VERY_ easy to emulate. You just tell it which video
> modes are available, and we'll support only a flat video mode. What if a
> flat video mode (linear framebuffering) isn't requested? In that case,
> we'll pretend to be supporting a banked video mode... to be compatible
> with all programs we'll need to add bank support that uses 64KB segments
> whose banks can be flipped.
>
> Now I recommend that we _FIRST_ not emulate any chipset since we'll need
> to have VESA support anyways and since the VESA support would just be
> telling the chipset emulator what to do; initially let's skip chipset
> emulation and directly hook the video interrupt.
OK, VESA is a good start. After thinking about this video stuff, I realize
it is better to go with something that will simply work with existing OSes,
and worry about mega performance later. Something that can break us out
of the 640x480x16color mode is needed for now.
> That's what we should do, at least at first. Instead of using an I/O
> port we have to do the dirty trick of making a little mini-BIOS at
> C800:0 like I mentioned above, since I don't think we want to say to
> Elpin Systems, "ummm, can you add an OUT instruction please if it's an
> invalid function number so we can see if AH is 4Fh or something?"
Hey why not ask? Would this make things much simpler? Seems like
a reasonably simple mod.
> Basically, this is going to be a piece of cake to get most programs
> working.
Excellent. Are you volunteering to pioneer this effort? :^)
And sure, I agree, we don't need to implement everything. My general
design philosophy is that if you can sense when unimplemented functionality
is requested and panic, then you can fill it in later.
-Kevin
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Kevin Lawton [EMAIL PROTECTED]
MandrakeSoft, Inc. Plex86 developer
http://www.linux-mandrake.com/ http://www.plex86.org/