N64d (v0.2) - The technical specs of the Nintendo 64
N64 Basic Architecture Document
Compiled by Bandages of Denary Notation
Sources: Too many to individually mention
Custom CPU
Custom 64-bit MIPS R4300i RISC CPU (clock speed 93.75 MHz)
64-bit data path/registers/buffer
5-stage pipeline
The benchmarks of the CPU are as follows:
125 Dhrystone MIPS - 93 million operations per second
60 SPECint92
45 SPECfp92
Co-Processor
Custom 64-bit MIPS RISC RCP (62.5 MHz)
Built-in Audio/Video Vector Processor (RSP)
The benchmarks of the RCP are as follows:
Over 500,000,000 operations per second (most Pentiums only achieve to 10% of this!)
Built-in Pixel-Drawing Processor (RDP) which handles:
Advanced Texture-Mapping
Detail Texturing
Environment Mapping
Perspective Correction
Tri-linear Mip-Map Interpolation
Depth Buffering
Environment mapping
Color Combining
Anti-Aliasing and Blending (eliminates jagged lines/edges, usually in a low res display)
Depth, color and texture clipping
Alpha channel effects (such as fog/transparency effects to a 256-level maximum)
Rasterizing
Gouraud Shading (for texture mapping)
Z-Buffering (handles polygons in x, y, z dimensions)
Automatic LOD Management
Vertex positioning and transformations
Note on Z-buffering: This particular aspect handles polygons on the z-axis as well as the standard x/y axis. The z-axis sets the depth of any object in a 3D landscape. This means when a 3D object is rendered the z-buffer calculates automatically the parts of the object that should be visible (and therefore the parts that have to be drawn on-screen) and displays only those.
This prevents processing time being wasted on drawing graphic elements that the gamesplayer will not see and also aids more precise collision detection.
Memory
Total RAM of 4 Megabytes or 36 megabits
Rambus DRAM subsystem - transferring up to 562.5 MBytes per second
Custom 9-bit Rambus Bus (to the DRAM) running to a maximum of 500 MHz
128-bit internal data bus to RCP
Note on memory: The Rambus DRAM used by the N64 is 9-bit* RAM (as opposed to 8-bit)
* 8 data bits + 1 parity bit
Sound
16-bit stereo output
ADPCM Compression
Wavetable Synthesis
Sampled at 48 KHz max
In theory, we could utilise up to 100 PCM channels - however this would work out at each channel taking 1% of CPU time. This being the case, it would be impractical to actually use the full 100. A useful "standard" if you like, would be to use 16-24 channels, thus achieving a balance between system speed and output quality.
Unique output generators:
Voice output with variable pitch
Reverb, chorus gain and pan are applicable to all sound output.
Display:
Video Output:
RF
Stereo A/V
S-Video
HDTV
Screen display:
256 x 224 low-res pixel resolution, 640 x 480 hi-res pixel resolution (with Flicker Free Interlace Mode support).
Maximum color palette of 16.8 million colors
21-bit color output with a 32-bit RGBA Pixel Color Frame Buffer.
This means the N64 can display 32000 colors (out of the 16.8 million total) on-screen at any one time.
User interface:
Standard N64 joypad;
Digital 8-direction crosskey pad
Six buttons on pad right (Two B and A buttons and Four C Group buttons)
Analogue thumbstick in center
Left and right fingerpads on top of controller
One finger-trigger on controller base
also:
Memory card port on c/back
Supports memory packs 256k - 2MB in size
Controller connection:
Via 4 controller ports each with three-prong feed
Other ports/hardware interfaces:
Cartridge slot (on top of main body)
Extension port (on base of main body)
Memory expansion option (top front of main body)
Basic Cartridge Specs:
256 Megabit carts max = four 64 meg ROMs, most carts are 32-128MB.
Uses JPEG image format for pre-rendered images
Possible on-board polygon-handling hardware
On-board hardware (optional software) decompression
Part of the N64d compilation of Nintendo64 documents.
1997 Denary Notation