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





osSyncPrintf

Syntax
#include <os.h>
void osSyncPrintf(const char *format, .../* args */);

Explanation
It does formatted printing through the debug port. Specifically, it performs text formatting similar to the libc function printf. The text output is transmitted from the target system through the debug port to the gload process running on the debug host workstation. The text is then written to the standard output device (normally a shell window) of the gload process.

To make osSyncPrintf more efficient, set up an rdb output buffer first by calling osInitRdb. The osSyncPrintf tool requires that the interrupt service handler be functional before it is used. Consequently, it should not be called from the boot thread.

Because multiple threads can use the printing facility, it is possible for data to be mixed as threads swap in and out. Changes effective with release 2.0f cause osSyncPrintf to have significantly less impact on game performance. In the past, a call to osSyncPrintf would cause the interrupt processing and thread swapping to stop until all data had been transferred to the host Indy. This is no longer the case.

Warning
If large quantities of data are printed at once, it is possible to overflow the kernel's printf buffers. When this happens, the system will attempt to print a warning message to the console. If a continual stream of data is printed, it is possible to generate enough data to cause the Indy to spend all of its time servicing the interrupts associated with the osSyncPrintf. When this happens it will appear as if the Indy is frozen because interrupts have priority over processing user interaction. If the stream of osSyncPrintf can be stopped, the Indy should recover and resume normal functioning.

See Also
osInitialize
printf
sprintf



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