The register index is derived from the address offset of the register's address and
can be calculated by dividing the address offset by 4. The index of each register
is given in the register descriptions chapter.
As the Drawing Engine registers are always 32 bit wide, each data, named data
word, to be written to a register is of the same size.
An address word that contains the indices of the register to be written is stored
in a packed notation, i.e. up to four indices are stored in one 32-bit 'address word'.
A display list command always starts with an address word, followed by up to
four data words, one for each register.
The indices are read and interpreted LSB to MSB, thus the register of the low byte
index is written first.
Example
In the following an example:
DWORD 0x201A1930 // start of list 'address word'
DWORD 0x00000013 // data word 1 (for register index 0x30)
DWORD 0xFFFFFFAA // data word 2 (for register index 0x19)
DWORD 0x40336480 // data word 3 (for register index 0x1A)
DWORD 0x00010000 // data word 4 (for register index 0x20)
DWORD ... // next 'address word'
This stream of dwords does essentially this :
•
write 00000013
H
to register 30
H
= 48, which is DRWIRQCTL
•
write FFFFFFAA
H
to register 19
H
= 25, which is DRWCOLOR1
•
write 40336480
H
to register 1A
H
= 26, which is DRWCOLOR2
•
write 00010000
H
to register 20
H
= 32, which is DRWORIGIN
Address word indices
Beside referencing a register the indices of an address word can also have other
meanings, depending on its value:
Table 8-1 Address indices function
Index
Function
00
H
to 7F
H
register indices
Two register indices trigger additional actions:
- 20
H
= 32:
A write to DRWORIGIN to set a new framebuffer address is
delayed until an ongoing framebuffer writeback is
completed, i.e. DRWSTATUS.BUSYWRITE = 0.
- 32
H
= 50:
A write to DRWDLISTSTART sets a new display list start
address stops the current display list and starts the new
one.
80
H
gap index, which is used to fill unused bytes of an address word. For
instance if less than four indices are required, the remaining bytes are filled
with 80
H
. Note that in this case the number of following data words must
be reduced accordingly.
FF
H
If the first index of an address word contains the special index FF
H
, the
following (second) index is interpreted as follows:
- bit 0 set :
display list end
- bit 1 set :
issue a full pipeline flush and wait (necessary before flip)
- bit 2 set :
wait for writeback complete (necessary before framebuffer
format change)
Setting of bit 1 and 2 exclude each other.
All indices after the special index FF
H
are ignored, and the next address
word will be read, if no display list end (bit 0 = 1) was set.
Chapter 8
Drawing Engine
248
Preliminary User's Manual S19203EE1V3UM00
Summary of Contents for uPD72256
Page 39: ...Pin Functions Chapter 2 Preliminary User s Manual S19203EE1V3UM00 39 ...
Page 44: ...Chapter 2 Pin Functions 44 Preliminary User s Manual S19203EE1V3UM00 ...
Page 46: ...Chapter 2 Pin Functions 46 Preliminary User s Manual S19203EE1V3UM00 ...
Page 49: ...Pin Functions Chapter 2 Preliminary User s Manual S19203EE1V3UM00 49 ...
Page 52: ...Chapter 2 Pin Functions 52 Preliminary User s Manual S19203EE1V3UM00 ...
Page 54: ...Chapter 2 Pin Functions 54 Preliminary User s Manual S19203EE1V3UM00 ...
Page 331: ...External Memory Interface Controller Chapter 9 Preliminary User s Manual S19203EE1V3UM00 331 ...
Page 343: ......