![]() |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
![]() |
osCreatePiManagerSyntax#include <ultra64.h> void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt);Explanation The osPiStartDma, osPiWriteIo, osPiReadIo, osCreatePiManager, and osPiGetCmdQueue functions provide managed access to the parallel (or peripheral) interface (PI). The 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 "managed" control of the PI; they provide synchronization and mutual exclusion support when the PI is to be shared for simple peripheral IO. The use of these PI routines require that the operating system be correctly initialized. The osCreatePiManager function creates and starts the PI manager system thread to provide mutual exclusion and synchronization support for the PI devices. The caller specifies the priority (pri) at which the PI manager will run and the command message queue (cmdQ) where the PI manager will accept its request messages. Together, cmdBuf and cmdMsgCnt specify the message buffer and its number of entries needed by the command message queue. Notes Nintendo strongly recommends that you use these high-level functions to manage PI access rather than using the raw, low-level functions. Be very careful when intermixing low-level (raw, unmanaged access) and high-level (managed access) PI functions. Without proper synchronization, this mix can cause an error in the PI because the PI can only support one IO operation at any one time. See Also osPiStartDma osPiWriteIo osPiReadIo osPiGetCmdQueue osPiRawStartDma osSendMesg osJamMesg
|