[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[oc] Video controller core
Just read some of the messages about building a video controller core.
I have done some work on the other side of the aisle... writing Linux
kernel video device drivers.
Here are some ideas about video cores:
For ultra-low-cost embedded, CGA is the best choice.
If compatibility is a concern at all, though, it is much smarter to
develop a VGA core. VGA is pretty much universally supported.
But if you want to develop a GOOD video core.......
* Lives on a PCI or AGP bridge
* All 32-bit registers, 100% memory-mapped I/O (MMIO)
* Registers can optionally live in a DMA command buffer. This is a ring
buffer of register reads and writes, which the video chip processes
asynchronously.
* NO VGA compatibility. NO text mode. These can be emulated in BIOS or
other software.
* Integrated *DRAM controller, as the video chip must keep tight control
over both video clocks and memory clocks
* Standard set of 2D accels: fills, blits (fb/DMA mem -> fb/DMA mem
copy), etc.
* VESA features like DDC, power management
If someone is ambitious, this design can extended to support 3D ---
without changing any of the chip features/logic above. In most 3D chip
designs, 3D is seamlessly layered on top of 2D, and is very cheap to add
to the design.
--
Jeff Garzik | "Are you the police?"
Building 1024 |
MandrakeSoft, Inc. | "No ma'am. We're musicians."