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





blockmonkey



README_DEMOS CONTENTS:

A simple performance measuring app that lets the user vary display list sizes and parameters and see the effect on render time. Controller explanation is printed when app is run.

README CONTENTS:

The point behind this application is to demonstrate the performance penalty for various features. Through controller manipulation, the user is able to toggle parameters such as anti-aliasing, Z-buffering, and polygon count. A status bar at the bottom of the screen indicates what percent of a frame time the RCP processing overhead is for the generated display list. The actual variables which are controllable are printed in the xterm that gload was run in. Use the "G Button" (Z Button) to toggle between the different controller modes. The "START" Button in any controller mode will reset all parameters to their initial default values. Some notes to keep in mind: The status bar at the bottom of the screen is broken up into units of 1/60th of a second NTSC (1/50th of a second for PAL). The status bar self-scales itself to cover a larger range of processing time. Use "gload -a -s" to turn this feature off. The status bar measures *ONLY* the time limit that it takes for the RCP to process the display list (rsp->rdp), it does not include any of the setup time in the R4300 to construct the display list. Thus, the frame update rate on the screen probably will not correspond to the frame compute time displayed by the status bar. The blocks are sorted with respect to Z, but only for their initial configuration. This enables the user to rotate the scene and investigate the impact of single Z read modify writes vs. multiple Z reads single Z write vs. multiple Z reads multiple Z writes. The number of triangles displayed for the cubes includes all triangles being generated. Keep in mind that since backface culling is enabled, only half of the block polygons make it through the entire rsp->rdp pipe, the other half are discarded early in the rsp processing. Turning on global transformations causes more matrix transformations to be applied per primitive and thus impacts on performance. Turn off global transformations in order to decrease the transformation overhead. TIMER BAR DESCRIPTION. The timer bar looks different depending on which microcode is selected and how many tasks are being used to render the scene. In all cases, the black vertical tick marks indicate 60ths of a second. As the time varies, the timer bar's scale automatically changes and you will see more or fewer 60th of a second intervals on the screen at a time. xbus, 1 task: BLUE: rsp time GREEN: rdp time (simultaneous with rsp) dram, 1 task: BLUE: rsp time LIGHT GREEN: rdp time if rendered in the following fram (2 frame latency) DARK GREEN: rdp time if rendered following the rsp completion fifo, 1 task: BLUE: rsp time GREEN: rdp time (simultaneous with rsp) xbus, more than 1 task: BLUE: rsp time for all the tasks RED LINES: mark the boundary of each individual task GREEN: rdp time (simultaneous with rsp) dram, more than 1 task: BLUE (on top): rsp time if the rsp is run consecutively BLUE (on bottom): rsp time if the rdp is run in between the rsp tasks RED LINES (on blue): mark the boundary of each individual task LIGHT GREEN: rdp time if rendered in the following frame (2 frame latency) DARK GREEN: rdp time if rendered following each rsp task's completion fifo, more than 1 task: BLUE: rsp time RED LINES: mark the boundary of each individual task GREEN: rdp time (simultaneous with rsp) Number of tasks used to render the scene: The default is to draw all geometry in 1 task. If 2 tasks are selected, then the "planes" are drawn in the first task and the "cubes" are drawn in the second. If more than 2 tasks are selected, then the "planes" are drawn in the first task and the "cubes" are evenly distributed among the remaining tasks (the rendering order stays the same

DESCRIPTION:

64 multi-colored rotating cubes will appear inside a multi-colored box that is overlayed on a purple screen. Each cube will spin at a variable rate of speed and axis. The computer monitor will also display each result as you manipulate the controller. Task: Default: AA/RA AA = on ZB ZB = on Cubes Per Row 4 Cube Division {0,0,0} Cube Width 30 Cube tris 768 Plane tris 10 tasks 1 tris per task 778 Plane Dimensions X {10, 300} Plane Dimensions Z {15, 245} Plane Divisions {0, 0} Horizontal offset 0 Vertical offset 0 Current Vi Mode 0 Lpnl/Lani (320x240) Ucode xbus Display List Len 1021 Lighting GOURAUD Texture None Controller Mode 0 Global Transforms on Clip Ratio 2

CONTROLLER FUNCTIONS:

Controller Mode: 0 Up Pad blockwidths ++ Down Pad blockwidths -- Right Pad planesize ++ Left Pad planesize -- A Button toggle AA / RA B Button toggle ZB Arrow Right Cube Division ++ Arrow Left Cube Division -- Arrow Up Plane Divisions ++ Arrow Down Plane Divisions -- Right Cubes Per Axis ++ Left Cubes Per Axis -- G Button toggle controller mode (0,1,2,3) START Button reset parameters Controller Mode: 1 stick translate objects (Enabled) Up Pad move eye in Down Pad move eye out A Button toggle PRIMCOLOR / GOURAUD / LIGHTING B Button toggle texture OFF / ON / MIPMAP Arrow Right positive rotation about Y axis (Enabled) Arrow Left negative rotation about Y axis (Enabled) Arrow Up positive rotation about X axis (Enabled) Arrow Down negative rotation about X axis (Enabled) Right clip ratio ++ Left clip ratio -- G Button toggle controller mode (0,1,2,3) START Button reset parameters Controller Mode: 2 Arrow Up Xpni screen width +4 Arrow Up Xpni screen width -4 Down Pad increment first screen scanline Up Pad decrement first screen scanline Left Pad decrement first scanline pixel Right Pad incement first scanline pixel A Button toggle VI mode (Lpni and Xpni) B Button toggle global transformations G Button toggle controller mode (0,1,2,3) START Button reset parameters Controller Mode: 3 A Button Toggle ucode B Button Do a GBI hex dump (for gbi2mem) G Button toggle controller mode (0,1,2,3) Arrow Up increase DRAM FIFO buffer size Arrow Down decrease DRAM FIFO buffer size Arrow Right increase DRAM FIFO buffer size fast Arrow Left decrease DRAM FIFO buffer size fast Right increase variation in size among cubes Left decrease variation in size among cubes Pad Up increase number of tasks used to render Pad Down decrease number of tasks used to render START Button reset parameters


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