
10: 2D BITBLT ENGINE
S1D13806 SERIES PROGRAMMING NOTES
EPSON
2-57
AND EXAMPLES (X28B-G-003-01)
10.2 BitBLT Descriptions
The S1D13806 supports 13 fundamental BitBLT operations:
Write BitBLT with ROP.
Read BitBLT.
Move BitBLT in positive direction with ROP.
Move BitBLT in negative direction with ROP.
Transparent Write BitBLT.
Transparent Move BitBLT in positive direction.
Pattern Fill with ROP.
Pattern Fill with Transparency.
Color Expansion.
Color Expansion with Transparency.
Move BitBLT with Color Expansion.
Move BitBLT with Color Expansion and Transparency.
Solid Fill.
Most of the 13 operations are self completing. This means once they begin they complete on their
own, not requiring data transfers with the CPU. The remaining five BitBLT operations (Write Bit-
BLT with ROP, Transparent Write BitBLT, Color Expansion, Color Expansion with Transparency,
Read BitBLT) require data to be written/read to/from the display buffer. This data must be trans-
ferred one word (16-bits) at a time. This does not imply only 16-bit CPU instructions are acceptable.
If a system is able to separate one DWORD write into two WORD writes and the CPU writes the
low word before the high word, then 32-bit CPU instructions are acceptable. Otherwise, 16-bit CPU
instructions are required.
The data is not directly written/read to/from the display buffer. It is written/read to/from the BitBLT
FIFO through the 1M BitBLT aperture specified at the address of REG[100000h]. The 16 word
FIFO can be written to only when not full and can be read from only when not empty. Failing to
monitor the FIFO status can result in a BitBLT FIFO overflow or underflow.
While the FIFO is being written to by the CPU, it is also being emptied by the S1D13806. If the
S1D13806 empties the FIFO faster than the CPU can fill it, it may not be possible to cause an over-
flow/underflow. In these cases, performance can be improved by not monitoring the FIFO status.
However, this is very much platform dependent and must be determined for each system.
Note: When TV with flicker filter is enabled or simultaneous display is active, always test the FIFO status
before reading from/writing to the FIFO.