al - Audio Library Functions gDP - DP GBI Macros gdSP - General GBI Macros gSP - SP GBI Macros gt - Turbo Microcode RDP gu - Graphics Utilities Math - Math Functions nuSys - NuSystem os - N64 Operating System sp - Sprite Library Functions uh - Host to Target IO 64DD - N64 Disk Drive
|
osPiRawStartDmaCannot be used beginning from os2.0I/patch5.
Syntax Based on the specified input direction (OS_READ or OS_WRITE), The osPiRawStartDma routine sets up a DMA transfer between RDRAM virtual address specified by vAddr and the PI device address specified by devAddr. The length count specified by the nbytes argument contains the number of bytes to transfer (up to 16 megabytes) and must be a multiple of two bytes. The PI device address specified by the devAddr argument must be two-byte aligned. The RDRAM virtual PI device address specified by vAddr must be at least eight-byte aligned, but for OS_READ DMA operations, a stricter alignment is recommended. See OS_DCACHE_ROUNDUP_ADDR for a description of the problems that can result when transfers are not an integral number of cache lines. The osPiRawStartDma routine also polls the interface for idleness before programming the DMA registers.
The osPiRawWriteIo routine performs a 32-bit programmed IO write to the
PI device address specified by the devAddr argument. It polls the interface for idleness before performing the operation. osPiGetStatus simply returns the PI hardware status. The 32-bit values returned include the following bit patterns.
The osPiGetStatus routine is most often used to confirm that the last of the latest series of IO requests has been completed.
|