Hidden Os Functions - Nintendo Ultra64 Programmer's Manual

Rsp
Table of Contents

Advertisement

Revision 1.0

Hidden OS Functions

There are undocumented OS functions to access the RSP from the CPU.
These functions should
programming; their use may interfere with other core OS functionality. They
can be useful for RSP program development, particularly post-mortem
analysis of RSP state.
These functions are internal OS calls and are not guaranteed to be supported
in the future; use at your own risk.
__osSpDeviceBusy
int
__osSpDeviceBusy(void)
This function returns 1 if the RSP is busy performing IO operations.
__osSpRawStartDma()
s32
__osSpRawStartDma(s32 direction, u32 devAddr,
Based on the input direction (OS_READ or OS_WRITE), set up a DMA
transfer between RDRAM and RSP memory address space.
devAddr and dramAddr specifies the DMA buffer address of RSP
memory and RDRAM, respectively. size contains the number of bytes
to transfer. Note that these addresses must be 64-bit aligned and size
must be a multiple of 8 bytes. Maximum transfer size is 4K bytes.
If the interface is busy, return a -1 and abort the operation.
__osSpRawReadIo()
s32
__osSpRawReadIo(u32 devAddr, u32 *data)
Perform a 32-bit programmed IO read from RSP memory address
space. Note that devAddr must be 32-bit aligned.
If the interface is busy, return a -1 and abort the operation.
Controlling the RSP from the CPU
not
be used in the regular course of game
void *dramAddr, u32 size)
143

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents