N64® OS Functions
in Alphabetical Order

Nintendo® Confidential
      
To search the list, choose Find from the Edit menu in your browser.
OS_CYCLES_TO_NSECConverts from CPU Count register cycles to nanoseconds
OS_CYCLES_TO_USECConverts from CPU Count register cycles to microseconds
OS_DCACHE_ROUNDUP_ADDRRounds up the address value to the physical address, to match the data cache line size
OS_DCACHE_ROUNDUP_SIZERounds up the address value to the size value, to match the data cache line size
OS_K0_TO_PHYSICALTranslates from a cached, direct-mapped CPU address to a physical address
OS_K1_TO_PHYSICALConverts from the CPU virtual address KSEG1 (cache disabled, no TLB mapping) to the physical address.
OS_NSEC_TO_CYCLESConverts from nanoseconds to CPU Count register cycles
OS_PHYSICAL_TO_K0Convert from the physical address to a direct mapped CPU virtual address with cache enabled
OS_PHYSICAL_TO_K1Translates from a physical address to an uncached, direct-mapped CPU address
OS_USEC_TO_CYCLESConverts from microseconds to CPU Count register cycles
osAfterPreNMIInitializes the RSP's program counter (PC)
osAiGetLengthReturns the number of bytes remaining in the current DMA buffer
osAiGetStatusReturns the hardware status of the audio interface
osAiSetFrequencyBased on a requested frequency (in Hz), it calculates the correct values for the internal divisors and returns the actual frequency generated by these divisors
osAiSetNextBufferSets up the next DMA transfer from RDRAM to the AI buffer
osAppNMIBuffer64-byte buffer cleared by a cold reset
osCartRomInitReturns information regarding the hardware settings necessary when using a cartridge.
osContGetQueryReturns Controller's status and type
osContGetReadDataReturns the status of the 3D control stick and buttons to the pad in OSContPad structure
osContInitInitializes the game Controller
osContResetResets all game Controllers
osContSetChSpecifies the number of controllers that will be read into the system
osContStartQueryReturn the status and type of game controller to status
osContStartReadDataGenerates a read command to get the status of the controllers
osCreateLogInitializes the OSLog data structure
osCreateMesgQueueInitializes a given OSMesgQueue structured message queue to an empty state
osCreatePiManagerCreates and starts the PI Manager system thread to provide mutual exclusion and synchronization support for the PI devices
osCreateRegionCreates a region from the contiguous memory area starting from the address in startAddress and continuing for the number of bytes in length
osCreateSchedulerCreates an RCP task scheduler
osCreateThreadRegisters a schedulable object
osCreateViManagerSpecifies the VI manager
osDestroyThreadDeletes a schedulable object
osDpGetCountersGet internal performance counters from the display processor
osDpGetStatusReturns the hardware status of the display processor command status register
osDpSetNextBufferUpdates the display processor pointers causing the display processor to begin reading an RDP display list from the DRAM buffer
osDpSetStatusUpdates the display processor command status register with status
osEepromLongReadReads multiple blocks of data from EEPROM
osEepromLongWriteWrites multiple blocks of data to EEPROM
osEepromProbeConfirms that EEPROM is installed
osEepromReadReads data from EEPROM
osEepromWriteWrites data to EEPROM
osEPiGetDeviceTypeAccesses EPI on low level (without using the PI manager)
osEPiLinkHandleSets a pointer to the next member when the EPI handler is set up
osEPiRawReadIoPerforms 32-bit IO read operation and stores the value
osEPiRawStartDmaPerforms a polling operation to determine whether or not the interface is available before setting the DMA register
osEPiRawWriteIoPerforms a 32-bit IO write operation to the EPI's device address
osEPiReadIoExpansion parallel interface (EPI) that uses the PI manager
osEPiStartDmaSets up a DMA transfer between RDRAM and the PI device address space
osEPiWriteIoExpansion parallel interface (EPI) that uses the PI manager
osFlushLogTransfers the log data to the host which will print the log interpreted by the gload(1P) program
osFreeAfter executing a buffer address check, it returns the buffer to the free list for the region
osGbpakCheckConnectorChecks the Game Boy game pak connector
osGbpakGetStatusDetects the status of the N64 Game Boy Pak
osGbpakInitInitializes the N64 Game Boy Pak hardware and control structure pfs
osGbpakPowerTurns power ON/OFF to the N64 Game Boy game pak, inserted in the N64 Game Boy Pak
osGbpakReadIdReads the Game Boy game pak registration area
osGbpakReadWriteReads/writes to the memory of the Game Boy gme pak using the N64 Game Boy Pak
osGetCauseReturns the current value of the MIPS R4300 Cause register that describes the cause of the most recent exception
osGetCompareReturns the current value of the R4300 Compare register
osGetConfigReturns the current value of the R4300 Configuration register
osGetCountReturns the current value of the MIPS R4300 Count register, a free running counter that increments at half the CPU clock speed
osGetCurrFaultedThreadReturns the most recent faulted thread or NULL if there is no faulted thread
osGetFpcCsrReturns the current value of the R4300 floating-point control/status register
osGetIntMaskGets the enabled interrupt mask
osGetMemSizeChecks the Memory Expansion Pak (for 64DD)
osGetNextFaultedThreadReturns the next faulted thread from the active thread queue based on the last thread
osGetRegionBufCountReturns the total number of buffers created for the region
osGetRegionBuffSizeReturns the size (in bytes) allocated for each buffer in the region
osGetSRReturns the current value of the R4300 Status register
osGetThreadIdObtains the debugger identifier of a thread
osGetThreadPriReturns the priority of the given thread
osGetTimeGets the real time counter value
osGetTLBASIDReturns the current TLB Address Space ID in the R4300 EntryHi register
osInitializePerforms hardware and software initialization procedures
osInitRdbSets up an outgoing buffer for the rdb debug port
osInvalDCacheInvalidates CPU data cache lines
osInvalICacheInvalidates CPU instruction cache lines
osJamMesgCopies the message to the front of the given message queue
osLogEventAdds an entry to the given log
osMallocAllocates a buffer by taking the buffer at the head of the region's free list and returns a pointer to that aligned buffer
osMapTLBSets the TLB entry index (ranges from 0 to 31)
osMemSizeIs a global variable that holds the installed main memory (DRAM) size in bytes
osMotorInitInitializes the Rumble Pak
osMotorStartStarts the Rumble Pak motor
osMotorStopStops the Rumble Pak motor
osPfsAllocateFileCreates a new game note
osPfsCheckerInspects and repairs the Controller Pak's file system
osPfsDeleteFileDeletes a Controller Pak game note
osPfsFileStateObtains game note information
osPfsFindFileSearches the specified game note
osPfsFreeBlocksObtains the available number of bytes in a Controller Pak
osPfsGetLabelReads the label of a Controller Pak
osPfsInitRemoved (please use osPfsInitPak)
osPfsInitPakInitializes the Controller Pak's file handle. Call this function when dealing with the Controller Pak for the first time or when the Controller Pak is initially inserted
osPfsIsPlugDetects which Controller contains a Controller Pak
osPfsNumFilesAcquires the maximum note number and the number of notes used
osPfsReadWriteFileReading and writes game note game data
osPfsRepairIdRepairs the Controller Pak file system
osPfsReSizeFileThis function was removed from the N64 operating system. It is no longer supported. In previous versions, you could use it to change the capacity reserved for game notes; however, this frequently confused the game user, so this function was removed.
osPfsSetLabelWrites to the Controller Pak label
osPhysicalToVirtualConverts any CPU physical address to its virtual address
osPiGetCmdQueueReturns the pointer to the PI manager's command standby matrix, or NULL
osPiGetStatusReturns the hardware status of the peripheral interface (PI)
osPiRawReadIoAccesses the parallel interface (PI) without PI management.
osPiRawStartDmaAccesses the parallel interface (PI) without PI management.
osPiRawWriteIoAccesses the parallel interface (PI) without PI management.
osPiReadIoPerforms a 32-bit programmed IO read from a specified PI device address and returns the value in data
osPiStartDmaExpanded Parallel Interface (EPI) using PI manager
osPiWriteIoPerforms a 32-bit programmed IO write to a specified PI device address
osProfileRun time profile for text spaces without shared sources
osProfileFlushSent to stop profiling
osProfileInitInitializes the profiled segment count buffers and starts an IO thread that communicates profile data to the host when requested by the gperf tool
osProfileStartStarts the profiler's interval counter
osProfileStopTurns off profiling
osReadHostSets up the connection on the side of the game that is receiving nbytes of data from the host
osRecvMesgCopies the first message in the message queue into a specified address
osResetTypeSaves the cause of a system reboot
osScAddClientAdds a client to the RCP task scheduler
osScGetTaskQGets the message queue used for communicating with the scheduler thread
osScRemoveClientRemoves a client from the RCP task scheduler
osSendMesgCopies the message to the end of the given message queue
osSetCauseSets the new value for the MIPS R4300 Cause register that describes the cause of the most recent exception
osSetCompareSets the new value for the R4300 Compare register
osSetConfigSets the new value for the R4300 Configuration register
osSetEventMesgAssociates a message queue and message with an event
osSetIntMaskSet the enabled interrupt mask
osSetThreadPriSets the priority of specified thread
osSetTimeSets the real time counter value
osSetTimerStarts an interval or countdown timer
osSetTLBASIDSets a system-wide address space identifier register that makes valid only mappings of the given address space identifier (as well as global mappings)
osSpTaskLoadLoads the given task into the serial processor
osSpTaskStartIs a macro that performs an osSpTaskLoad call followed by an osSpTaskStartGo call
osSpTaskStartGoExecutes a task in SP
osSpTaskYieldRequests that the serial processor yield
osSpTaskYieldedReturns OS_TASK_YIELDED if the task successfully yielded; otherwise it returns 0 which indicates that the task finished normally before it could yield (and therefore should not be restarted later)
osStartThreadStarts or resumes a thread
osStopThreadSuspends a thread
osStopTimerStops an interval or countdown timer
osSyncPrintfOutputs formatted text to degbug port
osTestHostSimply returns a 0 until data from host is read
osTvTypeIs a global variable that indicates whether the N64 system is configured for PAL video timing (0), NTSC (1), or MPAL (2)
osUnmapTLBRemoves any existing even or odd page mapping for the TLB entry index
osUnmapTLBAllRemoves all mappings at all indexes (invalidates the entire TLB)
osViBlackBlacks out the screen until a vertical retrace signal is generated
osViExtendVStartAdds PAL mode scan lines
osViFadeFades between the first 2 scan lines of the frame buffer
osViGetCurrentFieldReturns the field number (either 0 or 1) currently being used by the video interface
osViGetCurrentFramebufferReturns an opaque pointer to the currently displayed framebuffer
osViGetCurrentLineReturns the current half line, sampled once per line
osViGetCurrentModeReturns the video interface (VI) mode that is currently being used
osViGetNextFramebufferReturns an opaque pointer to the next framebuffer to be displayed
osViGetStatusReturns the value of the video interface status/control register
osViRepeatLineRepeats the first scan line of the frame buffer for the entire frame
osVirtualToPhysicalTranslate an arbitrary CPU virtual address to its physical address, if such a translation exists
osViSetEventRegisters a message queue and a message with the VI Manager
osViSetModeRegisters the VI and one of the modes to be used at the next vertical retrace
osViSetSpecialFeaturesAllows the caller to enable or disable various video interface special features such as GAMMA, GAMMA_DITHER, DIVOT, and DITHER_FILTER
osViSetXScaleAllows scaling the image up horizontally (in the X direction) to the required display format from a reduced number of rendered pixels per line
osViSetYScaleAllows scaling the image up vertically (in the Y direction) to the required display format from a reduced number of rendered lines per frame
osViSwapBufferRegisters the frame buffer to be displayed at the next vertical retrace interrupt
osVoiceCheckWordInitializes the Voice Recognition System word registration dictionary
osVoiceClearDictionaryInitializes the Voice Recognition System word registration dictionary
osVoiceControlGainAdjust the Voice Recognition System input gain
osVoiceCountSyllablesCalculates the semi-syllables in a registered word in the Voice Recognition System
osVoiceGetReadDataGets the Voice Recognition System voice recognition results
osVoiceInitInitializes the Voice Recognition System structures and hardware
osVoiceMaskDictionaryMasks the registered words in the Voice Recognition System
osVoiceSetWordRegisters a word in the Voice Recognition System dictionary
osVoiceStartReadDataStarts voice recognition by the Voice Recognition System
osVoiceStopReadDataForcibly stops voice recognition processing by the Voice Recognition System
osWritebackDCacheWrites back all data cache lines that contain the region
osWritebackDCacheAllWrites back all cached locations to physical memory
osWriteHostAttempts to copy data from the game to the host
osYieldThreadYields the CPU and invokes the thread dispatcher
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.
Last updated March 1998