The encoded pixel data from the input FIFO is used as an address to index and select individual palette locations. 4-bit pixels address 16 locations, and 8-bit pixels select any of the 256 palette entries. Note that the user may program 1, 2 and 3 bits-per-pixel as well by zeroing-out the upper 3, 2 or 1 bits or each encoded pixel value in the frame buffer and within the LCD controller’s input FIFO.
Once a palette entry is selected by the encoded pixel value, the contents of the entry are sent to the color/grayscale space/time base dither circuit. In color mode, the value within the palette is made up of three 4-bit fields, one for each color component: red, green and blue. In monochrome mode, only one 4-bit value is present. For both modes, the 4-bit values represent 1 of 15 intensity levels. For color operation, an individual frame is limited to a selection of 256 colors (the number of palette entries). The LCD controller, however, is capable of generating a total of 3375 colors (15 levels per color x 3 colors). When 12 or 16 bit-per-pixel mode is enabled, the palette is bypassed. For passive displays, 12-bit pixels are sent directly to the dither logic, and 16-bit pixels are sent to the output FIFO to be driven directly to the LCD’s data pins.