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
|
|
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
|
|