N64® OS Functions in Alphabetical Order Nintendo® Confidential

To search the list, choose Find from the Edit menu in your browser.

OS_CYCLES_TO_NSEC | Converts from CPU Count register cycles to nanoseconds
OS_CYCLES_TO_USEC | Converts from CPU Count register cycles to microseconds
OS_DCACHE_ROUNDUP_ADDR | Rounds up the address value to the physical address, to match the data cache line size
OS_DCACHE_ROUNDUP_SIZE | Rounds up the address value to the size value, to match the data cache line size
OS_K0_TO_PHYSICAL | Translates from a cached, direct-mapped CPU address to a physical address
OS_K1_TO_PHYSICAL | Converts from the CPU virtual address KSEG1 (cache disabled, no TLB mapping) to the physical address.
OS_NSEC_TO_CYCLES | Converts from nanoseconds to CPU Count register cycles
OS_PHYSICAL_TO_K0 | Convert from the physical address to a direct mapped CPU virtual address with cache enabled
OS_PHYSICAL_TO_K1 | Translates from a physical address to an uncached, direct-mapped CPU address
OS_USEC_TO_CYCLES | Converts from microseconds to CPU Count register cycles
osAfterPreNMI | Initializes the RSP's program counter (PC)
osAiGetLength | Returns the number of bytes remaining in the current DMA buffer
osAiGetStatus | Returns the hardware status of the audio interface
osAiSetFrequency | Based on a requested frequency (in Hz), it calculates the correct values for the internal divisors and returns the actual frequency generated by these divisors
osAiSetNextBuffer | Sets up the next DMA transfer from RDRAM to the AI buffer
osAppNMIBuffer | 64-byte buffer cleared by a cold reset
osCartRomInit | Returns information regarding the hardware settings necessary when using a cartridge.
osContGetQuery | Returns Controller's status and type
osContGetReadData | Returns the status of the 3D control stick and buttons to the pad in OSContPad structure
osContInit | Initializes the game Controller
osContReset | Resets all game Controllers
osContSetCh | Specifies the number of controllers that will be read into the system
osContStartQuery | Return the status and type of game controller to status
osContStartReadData | Generates a read command to get the status of the controllers
osCreateLog | Initializes the OSLog data structure
osCreateMesgQueue | Initializes a given OSMesgQueue structured message queue to an empty state
osCreatePiManager | Creates and starts the PI Manager system thread to provide mutual exclusion and synchronization support for the PI devices
osCreateRegion | Creates a region from the contiguous memory area starting from the address in startAddress and continuing for the number of bytes in length
osCreateScheduler | Creates an RCP task scheduler
osCreateThread | Registers a schedulable object
osCreateViManager | Specifies the VI manager
osDestroyThread | Deletes a schedulable object
osDpGetCounters | Get internal performance counters from the display processor
osDpGetStatus | Returns the hardware status of the display processor command status register
osDpSetNextBuffer | Updates the display processor pointers causing the display processor to begin reading an RDP display list from the DRAM buffer
osDpSetStatus | Updates the display processor command status register with status
osEepromLongRead | Reads multiple blocks of data from EEPROM
osEepromLongWrite | Writes multiple blocks of data to EEPROM
osEepromProbe | Confirms that EEPROM is installed
osEepromRead | Reads data from EEPROM
osEepromWrite | Writes data to EEPROM
osEPiGetDeviceType | Accesses EPI on low level (without using the PI manager)
osEPiLinkHandle | Sets a pointer to the next member when the EPI handler is set up
osEPiRawReadIo | Performs 32-bit IO read operation and stores the value
osEPiRawStartDma | Performs a polling operation to determine whether or not the interface is available before setting the DMA register
osEPiRawWriteIo | Performs a 32-bit IO write operation to the EPI's device address
osEPiReadIo | Expansion parallel interface (EPI) that uses the PI manager
osEPiStartDma | Sets up a DMA transfer between RDRAM and the PI device address space
osEPiWriteIo | Expansion parallel interface (EPI) that uses the PI manager
osFlushLog | Transfers the log data to the host which will print the log interpreted by the gload(1P) program
osFree | After executing a buffer address check, it returns the buffer to the free list for the region
osGbpakCheckConnector | Checks the Game Boy game pak connector
osGbpakGetStatus | Detects the status of the N64 Game Boy Pak
osGbpakInit | Initializes the N64 Game Boy Pak hardware and control structure pfs
osGbpakPower | Turns power ON/OFF to the N64 Game Boy game pak, inserted in the N64 Game Boy Pak
osGbpakReadId | Reads the Game Boy game pak registration area
osGbpakReadWrite | Reads/writes to the memory of the Game Boy gme pak using the N64 Game Boy Pak
osGetCause | Returns the current value of the MIPS R4300 Cause register that describes the cause of the most recent exception
osGetCompare | Returns the current value of the R4300 Compare register
osGetConfig | Returns the current value of the R4300 Configuration register
osGetCount | Returns the current value of the MIPS R4300 Count register, a free running counter that increments at half the CPU clock speed
osGetCurrFaultedThread | Returns the most recent faulted thread or NULL if there is no faulted thread
osGetFpcCsr | Returns the current value of the R4300 floating-point control/status register
osGetIntMask | Gets the enabled interrupt mask
osGetMemSize | Checks the Memory Expansion Pak (for 64DD)
osGetNextFaultedThread | Returns the next faulted thread from the active thread queue based on the last thread
osGetRegionBufCount | Returns the total number of buffers created for the region
osGetRegionBuffSize | Returns the size (in bytes) allocated for each buffer in the region
osGetSR | Returns the current value of the R4300 Status register
osGetThreadId | Obtains the debugger identifier of a thread
osGetThreadPri | Returns the priority of the given thread
osGetTime | Gets the real time counter value
osGetTLBASID | Returns the current TLB Address Space ID in the R4300 EntryHi register
osInitialize | Performs hardware and software initialization procedures
osInitRdb | Sets up an outgoing buffer for the rdb debug port
osInvalDCache | Invalidates CPU data cache lines
osInvalICache | Invalidates CPU instruction cache lines
osJamMesg | Copies the message to the front of the given message queue
osLogEvent | Adds an entry to the given log
osMalloc | Allocates a buffer by taking the buffer at the head of the region's free list and returns a pointer to that aligned buffer
osMapTLB | Sets the TLB entry index (ranges from 0 to 31)
osMemSize | Is a global variable that holds the installed main memory (DRAM) size in bytes
osMotorInit | Initializes the Rumble Pak
osMotorStart | Starts the Rumble Pak motor
osMotorStop | Stops the Rumble Pak motor
osPfsAllocateFile | Creates a new game note
osPfsChecker | Inspects and repairs the Controller Pak's file system
osPfsDeleteFile | Deletes a Controller Pak game note
osPfsFileState | Obtains game note information
osPfsFindFile | Searches the specified game note
osPfsFreeBlocks | Obtains the available number of bytes in a Controller Pak
osPfsGetLabel | Reads the label of a Controller Pak
osPfsInit | Removed (please use osPfsInitPak)
osPfsInitPak | Initializes 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
osPfsIsPlug | Detects which Controller contains a Controller Pak
osPfsNumFiles | Acquires the maximum note number and the number of notes used
osPfsReadWriteFile | Reading and writes game note game data
osPfsRepairId | Repairs the Controller Pak file system
osPfsReSizeFile | This 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.
osPfsSetLabel | Writes to the Controller Pak label
osPhysicalToVirtual | Converts any CPU physical address to its virtual address
osPiGetCmdQueue | Returns the pointer to the PI manager's command standby matrix, or NULL
osPiGetStatus | Returns the hardware status of the peripheral interface (PI)
osPiRawReadIo | Accesses the parallel interface (PI) without PI management.
osPiRawStartDma | Accesses the parallel interface (PI) without PI management.
osPiRawWriteIo | Accesses the parallel interface (PI) without PI management.
osPiReadIo | Performs a 32-bit programmed IO read from a specified PI device address and returns the value in data
osPiStartDma | Expanded Parallel Interface (EPI) using PI manager
osPiWriteIo | Performs a 32-bit programmed IO write to a specified PI device address
osProfile | Run time profile for text spaces without shared sources
osProfileFlush | Sent to stop profiling
osProfileInit | Initializes the profiled segment count buffers and starts an IO thread that communicates profile data to the host when requested by the gperf tool
osProfileStart | Starts the profiler's interval counter
osProfileStop | Turns off profiling
osReadHost | Sets up the connection on the side of the game that is receiving nbytes of data from the host
osRecvMesg | Copies the first message in the message queue into a specified address
osResetType | Saves the cause of a system reboot
osScAddClient | Adds a client to the RCP task scheduler
osScGetTaskQ | Gets the message queue used for communicating with the scheduler thread
osScRemoveClient | Removes a client from the RCP task scheduler
osSendMesg | Copies the message to the end of the given message queue
osSetCause | Sets the new value for the MIPS R4300 Cause register that describes the cause of the most recent exception
osSetCompare | Sets the new value for the R4300 Compare register
osSetConfig | Sets the new value for the R4300 Configuration register
osSetEventMesg | Associates a message queue and message with an event
osSetIntMask | Set the enabled interrupt mask
osSetThreadPri | Sets the priority of specified thread
osSetTime | Sets the real time counter value
osSetTimer | Starts an interval or countdown timer
osSetTLBASID | Sets a system-wide address space identifier register that makes valid only mappings of the given address space identifier (as well as global mappings)
osSpTaskLoad | Loads the given task into the serial processor
osSpTaskStart | Is a macro that performs an osSpTaskLoad call followed by an osSpTaskStartGo call
osSpTaskStartGo | Executes a task in SP
osSpTaskYield | Requests that the serial processor yield
osSpTaskYielded | Returns 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)
osStartThread | Starts or resumes a thread
osStopThread | Suspends a thread
osStopTimer | Stops an interval or countdown timer
osSyncPrintf | Outputs formatted text to degbug port
osTestHost | Simply returns a 0 until data from host is read
osTvType | Is a global variable that indicates whether the N64 system is configured for PAL video timing (0), NTSC (1), or MPAL (2)
osUnmapTLB | Removes any existing even or odd page mapping for the TLB entry index
osUnmapTLBAll | Removes all mappings at all indexes (invalidates the entire TLB)
osViBlack | Blacks out the screen until a vertical retrace signal is generated
osViExtendVStart | Adds PAL mode scan lines
osViFade | Fades between the first 2 scan lines of the frame buffer
osViGetCurrentField | Returns the field number (either 0 or 1) currently being used by the video interface
osViGetCurrentFramebuffer | Returns an opaque pointer to the currently displayed framebuffer
osViGetCurrentLine | Returns the current half line, sampled once per line
osViGetCurrentMode | Returns the video interface (VI) mode that is currently being used
osViGetNextFramebuffer | Returns an opaque pointer to the next framebuffer to be displayed
osViGetStatus | Returns the value of the video interface status/control register
osViRepeatLine | Repeats the first scan line of the frame buffer for the entire frame
osVirtualToPhysical | Translate an arbitrary CPU virtual address to its physical address, if such a translation exists
osViSetEvent | Registers a message queue and a message with the VI Manager
osViSetMode | Registers the VI and one of the modes to be used at the next vertical retrace
osViSetSpecialFeatures | Allows the caller to enable or disable various video interface special features such as GAMMA, GAMMA_DITHER, DIVOT, and DITHER_FILTER
osViSetXScale | Allows scaling the image up horizontally (in the X direction) to the required display format from a reduced number of rendered pixels per line
osViSetYScale | Allows scaling the image up vertically (in the Y direction) to the required display format from a reduced number of rendered lines per frame
osViSwapBuffer | Registers the frame buffer to be displayed at the next vertical retrace interrupt
osVoiceCheckWord | Initializes the Voice Recognition System word registration dictionary
osVoiceClearDictionary | Initializes the Voice Recognition System word registration dictionary
osVoiceControlGain | Adjust the Voice Recognition System input gain
osVoiceCountSyllables | Calculates the semi-syllables in a registered word in the Voice Recognition System
osVoiceGetReadData | Gets the Voice Recognition System voice recognition results
osVoiceInit | Initializes the Voice Recognition System structures and hardware
osVoiceMaskDictionary | Masks the registered words in the Voice Recognition System
osVoiceSetWord | Registers a word in the Voice Recognition System dictionary
osVoiceStartReadData | Starts voice recognition by the Voice Recognition System
osVoiceStopReadData | Forcibly stops voice recognition processing by the Voice Recognition System
osWritebackDCache | Writes back all data cache lines that contain the region
osWritebackDCacheAll | Writes back all cached locations to physical memory
osWriteHost | Attempts to copy data from the game to the host
osYieldThread | Yields 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