12

https://en.wikipedia.org/wiki/Nintendo_64_technical_specifications says that the N64 calculated with 24-bit color, but output 21-bit.

However, https://retrocdn.net/images/7/70/Nintendo_Ultra64_Programming_Manual_and_Addendums.pdf contradicts this; on page 210, it says that the console indeed calculated with 24-bit color, but output 15-bit.

Which of the two is accurate? I would guess the second, being an original source, but I might be missing something.

9

The Wiki Entry says that the N64 calculated with 24-bit color, but output 21-bit.

Right,that's the way it is.

The 15 or 24 Bit colour is what the Reality Display Processor can produce (see Video Interface on p.46). Internally it works with a 32 Bit RGBA based pipeline. Results are stored as 15 or 24 Bit values before being send to the DAC. This is where the 21 bit come into play, as the interface between the RDP and the DAC offers only 7 bit per colour. Here is a nice schematic showing how the data dan be decoded with standard IC can be used to decode the data stream (Thanks to traal for finding a more information)

However, the programming manual contradicts this; on page 210, it says that the console indeed calculated with 24-bit color, but output 15-bit.

The Framebuffer mentioned on page 210 isn't memory image of a whole picture. The closest equivalence of what is shown would be a sprite buffer. Although these sprites also have coverage and Z buffer information, so the RDP can decide if a pixel mentioned there is to be taken into account. And if, how the Colour Composer and Blender stages have to handle it.

All colour computation is done with 32 Bit RGBA values.

The resulting image is of course again stored in memory as a frame buffer, so the DMA can feed the DAC to generate a picture. It doesn't matter if the picture was stored in 15 or 24 bit format, it always get send as 21 bit RGB to the DAC. Since the N64s memory is organized as two 2 Mi by 9 RAMs, 15 bit format fits nicely into an 18 bit word, while 24 bit does need two words.

Switching to 15 bit format is effectively halving the memory need for a picture without losing much detail. With 'only' 4 MiB (9-bit-bytes) total RAM, the need for 'only' ~600 KiB instead of up to 1.2 MiB is a quite substantial saving. Even more helpful in full PAL with 900KiB/1.8MiB storage needed for a picture.


And no, I have no idea why they didn't go with an 18 bit format which would have offered the same space savings. My only guess is that it nicely goes with the (also space saving) 16 bit RGBA data format for textures.

2
  • Next Generation (24 Dec 1996) says "21-Bit color output". – snips-n-snails Apr 15 '18 at 19:57
  • @traal Jup, but at what base. it doesn'tmake any sense. Neither hardware, nor software would save anything with a 21 bit resolution. It's also nowhere mentioned in any N64 documentation I know. – Raffzahn Apr 15 '18 at 20:22
3

The video is generated by the Reality Co-Processor and clocked into the DAC through a bus 7 bits wide. This video data consists of four (7 bit) bytes synchronised with the 50Mhz Clock signal.

Byte 0 is sync information, byte 1 is digital red, byte 2 is digital green, and byte 3 is digital blue. So the DAC itself is the limiting factor: only 7 bits per color channel.

5
  • It is 100% unfair that this, the first correct answer, is not the accepted answer, and that the accepted answer has hastily been changed to reach a completely different conclusion by incorporating this information without accreditation. – Tommy Apr 16 '18 at 18:41
  • Thanks but I was credited. It's too late to accept a new answer but I'm happy that the accepted answer is now (mostly) complete. – snips-n-snails Apr 16 '18 at 19:11
  • Haha, so you were. I reduce my estimate to 40% unfairness. – Tommy Apr 16 '18 at 20:18
  • 1
    @Tommy It wasn't 'hastly' corrected, but new information was added. While Traal did find a belivable source for the 21 bit format which I was unaware of (see above comments), his answer does not explain the 15 bit format the OP also ask for. I would have been fine with traal adding my knowledge to his answer. there are many answers that took bits from what I wrote and ended up beeing the 'right' one. It's not a competition for SuperNerd (although it adds fun), but a quest for complete answers - later readers should not need to combine answers to get the whole picture. – Raffzahn Apr 16 '18 at 23:46
  • @Raffzahn 'Hastily' is perhaps too closely associated with its pejorative use to have been the word I should have chosen, so apologies for that. That's unambiguously my error. Offence not intended, despite poor wording that was likely to achieve otherwise. Please read as 'speedily'. Your answer was updated less than an hour after this one was posted. That's speedy. And if it helps to repeat it again, I'm clearly in the wrong re: wording. – Tommy Apr 17 '18 at 0:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.