Revision 1.0
Controlling the RDP
101
Examples
The XBUS is a direct memory path between the RSP (and DMEM) and the
RDP. This example uses a portion of DMEM as a circular FIFO to send data
to the RDP.
This example uses an “open” and “close” interface; the “open” reserves
space in the circular buffer, then the data is written, the “close” advances the
RDP command buffer registers.
The first code fragment illustrates the initial conditions for the RDP
command buffer registers.
Figure 4-4
RDP Initialization Using the XBUS
The
OutputOpen
function contains the most complicated part of the
algorithm, handling the “wrapping” condition of the circular FIFO. The
wrapping condition waits for
CMD_CURRENT
to advance before
re-programming new
CMD_START
and
CMD_END
registers.
# XBUS initialization
addi $4, zero, DPC_SET_XBUS_DMEM_DMA
addi outp, zero, 0x1000 # DP init conditions
mtc0 $4, CMD_STATUS
mtc0 outp, CMD_START
mtc0 outp, CMD_END
Содержание Ultra64
Страница 2: ...2 ...
Страница 10: ...10 ...
Страница 12: ...12 Figure 6 2 buildtask Operation 137 ...
Страница 14: ...14 ...
Страница 80: ...80 Vector Unit Instructions vmadm dres_int dres_int vconst 3 vmadn dres_frac vconst vconst 0 ...
Страница 104: ...104 RSP Coprocessor 0 ...
Страница 150: ...150 Advanced Information ...
Страница 155: ...Revision 1 0 155 ...
Страница 248: ...248 Exceptions None ...
Страница 251: ...Revision 1 0 251 Exceptions None ...
Страница 254: ...254 Exceptions None ...
Страница 257: ...Revision 1 0 257 Exceptions None ...
Страница 293: ...Revision 1 0 293 Exceptions None ...
Страница 316: ...316 Exceptions None ...