This past Christmas I bought an N64 for my son (and me) to enjoy my collection of games. (Although the problem turned out to be dirty cartridges rather than a dead N64.) He's been having a blast playing Super Mario 64 and the Mario Party games.
This nostalgia rekindled my interest in what is under the hood of both it and the original PlayStation. It turns out there's a lot of similarities between the two, more than I would have expected.
Both used a MIPS CPU (PSX: 32bit R3051 @ 33.8688 MHz, N64: 64bit R4300 @ 93.75MHz), both have a vector coprocessor (PSX: Geometry Transformation Engine, N64: Reality Signal Processor) and a graphics / triangle / texture processor.
Of course there are the obvious differences too. The N64 is cartridge based, while the PSX is CD based. The PSX has a macroblock decoder for video decompression. The PSX GTE is integrated with the CPU (similar to the old 80x87 math coprocessors), while the N64 RSP has dedicated instruction & data RAM (like the SPEs in the PS3 Cell processor). The N64 has 4MB of main memory (500MB/s) while the PSX has 2MB of main memory (132MB/s) plus 1MB of memory dedicated to the GPU and 512K of memory dedicated to the sound processor.
And even though the N64 had better "numbers" (e.g. CPU clock) than the PSX, Sony sold three times as many PlayStations as Nintendo sold N64s. And I have some theories why:
- First, Sony released the PlayStation 20 months before Nintendo released the N64, which gave them definite traction in the marketplace. The N64 launch library was also very thin (no matter how good SM64 was). Developers could already see the "virtuous cycle" starting with the PlayStation.
- Second, Sony's decision to use CDs (an easy decision for them given they helped invent CDs) and Nintendo's decision to stick with cartridges had a huge impact for multiple reasons
- CDs allowed developers to store more - more game content and/or prerecorded audio & video (which the built-in decoder enabled)
- lower manufacturing cost, it cost much less to press a CD than to manufacture a cartridge so higher profit per sale at a given price
- I heard that one of the reasons Nintendo stuck with cartridges is Nintendo did all of the manufacturing (charging publishers up front for runs of cartridges to boot), whereas the PlayStation CD could be replicated by nearly anyone who could press CDs.
[*]Third, while Nintendo provided developers with C libraries, they didn't provide any low level details. And the provided graphics libraries were much slower than the "numbers" would suggest. So unless you were willing to spend a lot of time & effort reverse-engineering the libraries (e.g. Rare & Factor 5), it wasn't possible to fully exploit the N64 hardware and work around limitations. On the other hand, early third party developer Naughty Dog was able to leverage the PlayStation hardware at a very low level. [*]Finally, although the unified memory on the N64 allowed the CPU & RSP to update the frame buffer (which causes problems with emulators today), I suspect this caused bottlenecks in memory access (especially random access due to the latency of the Rambus memory).