N64® Functions Menu

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

Nintendo® Confidential

## osPiGetStatus

Syntax

    #include <ultra64.h>
    u32 osPiGetStatus(void);

Explanation
The osPiRawStartDma, osPiRawWriteIo, osPiRawReadIo, and osPiGetStatus provide low-level, unmanaged access to the peripheral interface (PI). The peripheral interface (PI) is responsible for the transport of data between RDRAM and bulk-storage devices (BSD) such as ROM, RAM, CD-ROM, and other technologies. These functions provide low-level, unmanaged access to the PI; that is, they do not use the PI manager.
These functions should be used only when it is ensured that there is no other services using the PI. For this reason, Nintendo strongly recommends that "cooked" or managed, high-level PI access routines be used for most purposes; see osPiStartDma for details on this functionality. The raw routines may be useful, however, immediately after the application boot procedure is entered and before the operating system is initialized.
The osPiGetStatus routine returns the hardware status of PI. The 32-bit returned value contains the following bit patterns:

- PI_STATUS_IO_BUSY - A previously issued programmed IO request has not yet completed.
- PI_STATUS_DMA_BUSY - A previously issued DMA request has not yet completed.
- PI_STATUS_ERROR - An IO request was issued while DMA was busy.

The osPiGetStatus routine will most likely be used to ensure that the last of a string of raw IO requests has completed.
See Also
osPiRawStartDma
osPiRawWriteIo
osPiRawReadIo
osPiStartDma

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last updated March 1998