---
created_at: '2014-08-10T21:45:54.000Z'
title: Inside Nintendo 64 (1997)
url: http://n64.icequake.net/mirror/www.white-tower.demon.co.uk/n64/
author: CrazedGeek
points: 83
story_text: ''
comment_text: 
num_comments: 28
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1407707154
_tags:
- story
- author_CrazedGeek
- story_8160857
objectID: '8160857'

---
[Source](http://n64.icequake.net/mirror/www.white-tower.demon.co.uk/n64/ "Permalink to Inside Nintendo 64")

# Inside Nintendo 64

SHOW / HIDE 

![][1]

![Inside Nintendo 64][2] Designed for 1024x768 resolution and Netscape Navigator 4

This page is included for interest purposes only. It will not be developed further.

This page contains all the information about the Nintendo 64 hardware that I have managed to find on the net. You won't find games previews, reviews or screenshots here. You also won't find advocacy or "my system is better than your system" arguments. We're also going to ignore little addons such as the Rumble Pack, and hardware that isn't out yet (64DD). The purpose of this page is to appeal to the hardware techie, not the average gamer. If you are one of the aforementioned "techie's", read on...

In essence, the Nintendo 64 is a dedicated 3D machine, similar in concept to the 2D optimised 16bit Super Nintendo - a machine dedicated to doing one task very well. While the machine is capable of 2D graphics and audio processing, the special hardware - the custom chip - have been designed for 3D processing.

The specifications of the machine are widely available. This page aims to be different so we won't be printing the same stuff that everyone else is. For the benefit of new readers, the N64 has the following capabilities (actual hardware performance is detailed below):

| ----- |
| 

* 235x224 to 640x480 flicker free interlaced screen resolution.
* Hardware Z-Buffering
* Hardware Anti-aliasing
* Hardware Texture Mapping (32x32 pixel texture maps)
* Tri-Linear filtered MIP Mapping
* Perspective Correction (Inverse Texture Mapping)
* Environment Mapping
* 32bit RGBA pixel-colour frame buffer
* 21bit colour output
* Stereo 16bit PCM audio
* Capable of 64 channels at 44Khz
 | 

From what has been seen so far, the N64 does not process many more polygons per second than the Playstation or Saturn. The difference is that the graphics hardware can add smoothing and lighting that the other systems are not able to do easily or at all.

The Nintendo 64 has three main features. Edge magazine provided an excellent photo of the N64 motherboard and information about the various chips:

![Nintendo 64 Motherboard][3]

* * *

![Processor Diagram of R4300i][4]

### The CPU:

The heart of the console is the NEC MIPS R4300i processor. This is a low-cost chip based on the workstation-class MIPS 4400. The processor is able to operate in either a 32bit or 64bit mode and includes both a 64bit integer data execution unit and a 64bit floating point unit.

The chip has a single issue, five stage instruction pipeline that handles both the integer and floating point instructions. The chip also has two 64bit wide on-chip caches, a 16k instruction cache and an 8k data cache. The caches provide a 20% performance increase. Memory management is provided off-chip on the RCP.

The R4300i used in the Nintendo 64 is internally clocked at 93.75Mhz which is slower than the original 100Mhz design specification, but is still faster than any other currently available console. Externally, the R4300i uses a 32bit system interface. It can execute 125 Dhrystone MIPS and is rated at 60 SPECint92 and 45 SPECfp92.

For more information about the R4300i, check out the [MIPS website][5]

* * *

### Reality Co-Processor:

The second component of interest is the custom chip - the Reality Co-Processor (RCP). This is a 62.5Mhz chip that interfaces directly to the CPU. The RCP is designed to handle most of the audio and graphics processing. In addition to this, the chip also contains DMA logic, audio and video outputs, and a joystick input. The chip also supports timing and signals for the game cartridges. 

There are two processors inside the RCP:

* RSP: Short for Reality Signal Processor. The RSP performs all 3D manipulations and audio functions. A special feature is that this processor is configurable via microcode allowing the system to be optimised over time.
* RDP: Reality Drawing Processor. A pixel drawing processor. This unit performs all pixel-level operations including texture mapping, anti-aliasing, tri-linear interpolation, MIP mapping and z-buffering.The RDP operates on a display list to provide it's graphics output meaning the RDP is essentially an Object List Processor.

SGI claim that the RCP contains a vector processor (probably the RSP) that can perform over half a billion arithmetic operations per second - approximately 10 times the raw compute power of a lowend Pentium. Internally the RCP performs 128bit processing, although this could be "split" between the RSP and RDP.

The audio is generated by both the R4300i and the RCP, presumably using the CPU to provide the music data, while the RCP performs the actual sound generation. It is possible to produce 16bit stereo sound at up to 48Khz (greater than CD at 44.1Khz). The number of sound channels is not defined in hardware. The total number of simultaneous voices depends on the software although 64 channels is apparently possible.

The process of designing the RCP took six supercomputers running simulations for 24 hours that took seven days to complete. The result is a processor smaller than a fingernail.

* * *

### RAMBUS Unified Memory Architecture

There is a trend forming to use a Unified Memory Architecture (UMA) in forthcoming systems. The abortive M2 console also features a UMA. Although the Atari Jaguar was the first console to use a UMA, the Nintendo 64 is the most successful. A UMA uses a single chunk of RAM. All processors access and share the same memory.

The advantages of using a UMA is that the programmer can decide how much memory to allocate to program code, graphics data, screen buffer, audio data etc. In older systems (including the Sony Playstation and Sega Saturn), memory was assigned for certain tasks (1 megabyte VRAM, 2 Megabytes Main RAM etc). If a game does not use all the sound memory, it cannot be used for bitmaps. The UMA is a more flexible architecture.

The Nintendo 64 uses 36Mbits of RAMBUS 9bit DRAM. In more common terms this equates to 4 megabytes. The extra bit is presumably used for parity. The chips use a fast 8bit channel running at approximately 500Mhz. This yields a bandwidth of 520.5MB/sec or 4,500M bit/sec (exact benchmarks vary). The high speed of the memory, coupled with a 256k cache for both the R4300i and RCP, allow the system to make full use of the UMA.

It is rumoured that the 64DD will have an extra 4 megabytes of RDRAM which will plug into the front expansion connector on the top of the N64 taking the total amount of RAM in the system to 8 megabytes.

I didn't think the RAMBUS website was very good, but here's a [link][6] to it anyway.

* * *

### How it works:

_Much of the following is courtesy of BYTE magazine, an excellent read about the serious side of the computer industry - recommended! Check out the [BYTE website][7] for more information._

![Nintendo 64 Architecture][8]

The Nintendo 64 partitions audio and graphics into separate tasks. The R4300i works as the central controller and interrupt handler. It also handles all high-level audio processing functions (the number of channels depends on what else the CPU is doing).

For example, the R4300i uses the FPU to synthesise high-precision audio wave forms. The RCP handles those jobs where software algorithms alone can't meet the bandwidth requirements. To generate sounds, the R4300i processes a list of musical events (for example, MIDI notes) to determine the resource and timing requirements. It then builds a digital signal processing command list, starts a DMA transfer of data from mass storage to main memory, and then goes to the next task. The RCP parses the command stream and processes the data in main memory. The DMA controller then sends the processed data to a digital-to-analog converter (DAC) for sound generation. 

For generating graphics, the R4300i can readily create and manipulate models (3-D objects described as a mesh of polygons) for use in game scenes. When the game code needs to update the position and the attributes of the models, the R4300i can handle these updates in real time. The models are next forwarded to the graphics coprocessor, which performs matrix manipulation and renders the image. The R4300i's 64-bit mode gives game developers extra precision for models and other calculations without having to write high-precision algorithms or incurring a performance penalty. 

* * *

_Much of this page would not have been possible without EDGE and BYTE magazines. Excellent and recommended reading!_

This page was designed by Julian Regel. If you would like to email me: [webmaster@white-tower.demon.co.uk][9].   
Visitors to the White Tower since 27th December 1997: 

* * *

[Click here to return to the White Tower][10]

* * *

[1]: http://www.icequake.net/piwik/piwik.php?idsite=1
[2]: http://n64.icequake.net/banner.gif
[3]: http://n64.icequake.net/n64board.jpg
[4]: http://n64.icequake.net/r4300i.gif
[5]: http://www.mips.com/
[6]: http://www.rambus.com/
[7]: http://www.byte.com/
[8]: http://n64.icequake.net/n64arch.gif
[9]: mailto:webmaster%40white-tower.demon.co.uk
[10]: http://www.white-tower.demon.co.uk/

