Examples; Figure 4-4 Rdp Initialization Using The Xbus - Nintendo Ultra64 Programmer's Manual

Rsp
Table of Contents

Advertisement

Revision 1.0

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.
RDP Initialization Using the XBUS
Figure 4-4
# 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
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.
Controlling the RDP
101

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents