On Tue, Feb 12, 2002 at 10:17:55AM -0700, Kevin Geiss wrote:
> It's an LCD microdisplay, about 2 inches tall and 3 inches wide. it has
> a resolution of 800x600 and 8-bit color. it's meant to be held up to your
> eye for viewing. the optics are quite nice, you don't have to squint or
> anything to see it. It's called the 'Optiscape II' and it was made by
> Inviso who is now owned by Three Five Systems.
[snip]
> The microdisplay is a bit wierd in its mode of operation. When you want to 
> write a pixel value to it, you have to write 32 pixels at a time, on a
> 32-pixel boundary! (8 32-bit words at a time, on an 8 32-bit word boundary).
> Also, the memory you write the pixels into is a bit slow; if you write at
> full speed it kinda causes problems. in my frame buffer i delay for one
> microsecond between each write on a 450 MHz AMD K6-2 system.
[snip]
> So, what i need to do is figure out how to intercept accesses to the
> frame buffer memory to enforce the memory write speed limit and the
> 32-pixel-at-a-time rule.

Implement a driver using the ShadowFB layer; your RefreshArea routine
will just have to do the write slow enough to keep the hardware happy.

(Hmm, I wonder if there's any way to "schedule" those writes so that the
X server doesn't have to sit there waiting for the memory to catch up
after every screen modification... well, 32 bytes per microsecond is 30
MB / second, so it shouldn't be so slow as to be unusable -- just about
3 times slower than a standard PCI framebuffer.)

Look at the various drivers in xc/programs/Xserver/hw/xfree86/drivers/*
to see how ShadowFB is used.  The MGA is sorta the original standard...

-andy
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to