Epson Research and Development
Page 49
Vancouver Design Center
Example 6: Initializing the Ink Layer
The following example places an Ink Layer at the end of a 2M byte display buffer.
SwivelView™ modes require software rotation of the Ink Layer. Color 0 is set to black, and
color 1 is set to white.
For a system with a 640x480 LCD display, the ink layer size is calculated as follows.
InkLayerSize
= (PanelWidth x PanelHeight) ÷ 4
= (640 x 480) ÷ 4
= 76,800 bytes
The Ink Layer must be allocated in 8K byte blocks. The value of the LCD Ink/Cursor Start
Address register is determined from the following table and calculation.
Table 8-4: Ink Layer Start Address Encoding
Ink/Cursor Start Address Bits [7:0]
Start Address (Bytes)
Display Buffer Size - 1024
Display Buffer Size - (n x 8192)
0
1 - FFh
n
= InkLayerSize ÷ RequiredBlockSize
= 76,800 ÷ 8192
= 9.375
Fractional values cannot be programmed, therefore round up to an address of 10 (0Ah).
This reserves 10 x 8192 = 81,920 bytes for the Ink Layer from the end of display buffer.
Note
Always round up the Ink/Cursor Start Address when calculating, otherwise insufficient
memory will be allocated for the Ink Layer.
Table 8-5: LCD Ink Layer Initialization Sequence
Register
[070h]
Value
Notes
0000 0010
0000 1010
Enable LCD ink layer
[071h]
Set cursor start address to 0Ah (Memory Size - (8192 x 10))
[076h]
[077h]
[078h]
0000 0000
0000 0000
0000 0000
Set Color 0 to black
[07Ah]
[07Bh]
[07Ch]
0001 1111
0011 1111
0001 1111
Set Color 1 to white
[07Eh]
0000 0000
Set FIFO High Threshold to default
Programming Notes and Examples
Issue Date: 01/02/06
S1D13506
X25B-G-003-03