		NINTENDO64 TECHNICAL SUPPORT CENTER
		
		    NINTENDO64 SAMPLE PROGRAM 1

		Copyright (C) 1997, NINTENDO Co,Ltd.



Table of Contents

Introduction
make
Operation
Screen description
Rights and Reuse of Programs 
History

Introduction

This program is a sample of the scheduler program.  The scheduler used in this sample program was developed by the Nintendo 64 Technical Support Center and has the usual scheduler functions.  It can be improved and expanded to function with reasonably good efficiency, so please use this scheduler as a reference.   

make

Use make with either the Indy Emulator Board or Partner-N64NW.  It is used without changes to either device.   

Note: The japanese comments in the source file use EUC encoding.

Operation

Control Stick up or down rotates in depth direction, left or right rotates in the X-Y plane   

	Control Pad up 		Moves viewpoint toward home position 
	Control Pad down	Moves viewpoint away from home position
	Control Pad right		Not used
	Control Pad left		Not used

	A Button	Fires shots
	B Button 	Not used
	C Button	Rotational movement centered on home position of viewpoint 
	START Button	Switch between Fighter screen and Controller model screen

	Z Button		Change graphics thread priority order
			only while button pressed
			For details, see the graphic_01.c source file.  

	LR Button	Not used

The operation described above is for the Fighter screen.  Operation of the Controller model screen has been omitted. 

Screen Description 

	(1) Number of Polygons in Models

	Fighter No. 1	blue):  314 Triangles
	Fighter No. 2	red):  314 Triangles

	(2) Performance Meter Perspective

	The Performance Meter frames are the first, second, and third frames from the left.  The meters are  	as follows.  

	Red		 Processing time for audio tasks 
	Green		 RSP processing time for graphics tasks
	Yellow		 RDP processing time for graphics tasks

	Included in the RSP processing time is YIELD time resulting from audio tasks.

	(3) Screen Rendering

	With screen rendering, the following 3 graphics tasks are initiated for each frame.   

	  1. Clearance of the frame buffer and Z buffer (F3DEX microcode)
	  2. Rendering of opaque polygons (F3DEX microcode)
	  3. Line rendering (Line3D microcode)

	
Frame buffer and Z buffer clearance and opaque polygon rendering are separated because they are performed during the time the CPU creates audio tasks.  

Rights and Program Re-use

The copyright for this sample program is held by Nintendo Co., Ltd.  
Although the source code can be freely re-used and modified, this program has not been adequately debugged.  We, therefore, urge you to perform adequate debugging when using the program. 

History

	1.0	Jan 17,1997 	nnsample1 released
	1.1	Feb  3,1997 	nnsched.c problems fixed 
	1.2	Feb 10,1997 	In main01.c, viewpoint movement restricted so that 
				viewpoint and primary viewpoint remain distinct.
	1.3	Dec  9,1997	waring suppressed in compile
				RDP FIFO buffer size corrected
