LCD graphics controller

I am about to start a project using a Hitachi (actually Renesas) graphics LCD controller - HD66789R.

I've never done any graphics programming before and when reading the data sheet I noticed that the controller has graphics bit operations to "significantly lessen the graphics processing load on software".

The controller uses 18 bits per GRAM location (8*R, 8*G, 8*B) for

262,144 colours

The graphics bit operations include:

  1. Write data mask function that selectively rewrites some of the bits of 18-bit write data.

  1. Conditional rewrite function that compares the write data sent from the microcomputer and the data in the compare register and writes the data only when a condition is satisfied.

Can somebody with experience of this kind of controller explain exactly how these bit operations are intended to be used to reduce software overhead ?

Reply to
Steve
Loading thread data ...

Steve,

I'm not sure about (1), but (2) is commonly used in games for transferring (bit-blitting) images (sprites) with transparency to the video memory. Typically you designate one color (RGB triplet) to be transparent and when copying images to the video memory you only copy the pixels that differ from the transparent color thus preserving the background. This can also be used for text. For example, let's say you want to display the letter "A" but preserve the underlying background. The character "A" is stored as a rectangular image somewhere in memory. So in this image you mark all pixels that are not part of the character itself as transparent and the hardware will not modify the corresponding background pixels. Normally, if you do not have the conditional write in hardware you have to inspect every pixel or perform a two-stage image transfer by using an "and" mask and an "or" mask.

HTH,

-- Georgi

Reply to
Georgi Beloev

Wow. Steve, you will soon be either a graphics wiz or a basket case. Most guys that ;have never done grahiocs' start with a 2 line text lcd, then maybe got to a small monochrome graphics lcd, port some minimalist graphics functions like draw lines, draw text from some similare micro or similar lcd, THEN maybe try to push some of that functionality into a more complex lcd controller that will handle pages, text and graphics, and COLORS. That subject alone would be a thick book. There must be someone that understands how to draw rgb colors fast... thats how those hw graphics cards work... I think you should dl and try the Scitech MGL graphics library... it will do EVERY resolution and color combination, comes with MANY examples, and C SOURCE. Or just buy an expensive graphics library for your cpu and controller and study the graphics.h file to learn all the functions and their paramaters. Good luck!

Reply to
BobGardner

Some operations are used 2 xor a "moving" object into the bitmap such as a cursor or depressed button, then reverse it with the same bitblit operation.

Reply to
Rick Merrill

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.