He was responsible for designing the RDP. He gives some insight into the reasoning behind some of the design decisions they made such as the trilinear filtering implementation, the texture cache and the choice of Rambus memory. Also get to hear about other influential Nintendo hardware designers Wei Yen and Tim Van Hook.
Skip to about 41:12 to hear the N64 stuff
Partial transcript
Skip to about 41:12 to hear the N64 stuff
Partial transcript
Gossett: I got a call from another set of, you know, friends that I’d worked with in the past who were at SGI, and they wanted to do a project with Nintendo, okay, which was sort of an odd thing, okay. I don’t think that was really in the genome of SGI to do low-end things. They were the super-high end. So, you know, they were thinking about doing it using people internally, but it became obvious that this was probably not a good idea, so they hired people like me and a bunch of other people, who had done lower-end things.
Mashey: Was also a terrific financial deal for SGI.
Gossett: Indeed, indeed. So the financial part of it was they got royalties on not just every console that was sold but also on every cartridge, every game that was sold, and this is a goldmine, okay.
Mashey: Dave Corbin, Andy Kean special
Gossett: So, you know, I don’t know who’s responsible for this, but it was genius.
Mashey: Yeah, it was those guys. Yes.
Gossett: Best deal ever.
Mashey: Yes.
Gossett: It was the perfect deal. There’s no down side and all up side. So anyway, they hired this-- well, they hired one architect who didn’t last very long. I saw his work and it wasn’t very inspired. Then they hired this guy, Tim Van Hook, who was very clever, and he had an outline, a sketch, I think he called it, and it was like 80 pages or something like that, that, you know, didn’t go into too much nitty-gritty detail but just kind of spec’ed out what it was, how it worked, how things were connected, blah, blah, blah. So anyway, and he was mostly interested in two parts of this design, so there were two sections to it. There was the reality signal processor, was called Project Reality internally. There was the reality signal processor, the RSP, and the reality data processor or display processor, I forget which, the RDP, and the RSP was like the geometry engine, and it was also all the audio processing, okay. So depending on what you were doing you wanted different size data, okay, so it had this vector unit that would be either eigth 8-bit units, I think it was, or four 16-bit units or two 32-bit units. Something like that. I could be off by a factor of two on that, but anyway, there were some problems with that, okay. I mean, for the adds, that all makes perfect sense, but these were multiply adds, and multiplies go quadratically, right. It’s a square of the size. So it didn’t really tile very well, and we just ended up duplicating logic, right, you know, but that was fine. It actually still made sense, because from a programming point of view it was slick. Okay. So I didn’t really have that much to do with that side of the chip. That was Mary Jo Dougherty was the overall
architect of that, and she was very good, and I was sort of the architect of the RDP side, okay. So the thing you have to remember, this is like ’94, I think?
Mashey: Yeah, ’94, yeah.
Gossett: And, you know, technology was kind of just barely adequate. Okay. And, you know, the real graphics engines, the RealityEngine, I think. Yeah, yeah. Were like a million dollars, okay, so--
Mashey: Run multiple screens, the whole bit. Yes.
Gossett: Exactly. Exactly, and we were trying to make something that was going to retail for like 150 bucks, okay, so--
Mashey: Yeah, but with one chip.
Gossett: Yeah, yeah. So you can’t do that. I mean, you can’t do anything like that, okay. But we didn’t want it to look cheesy, okay, right, so we wanted it to look like it came from a RealityEngine, you know, be it a clearly reduced resolution, but, you know, we wanted all the fixings, so we wanted, you know, texture mapping--
Mashey: Texture mapping and the whole bit, yeah.
Gossett: --and we wanted anti-aliasing and, you know, all that good stuff. So the sort of classic ways of doing that were just way too expensive, not even close. So what we did, so it was mostly me, but Tim Van Hook added a nice little embellishment, which I’ll get to in a sec, but, well, Tim came up with this clever way of folding the texture memory, okay, so you had mipmaps, they were called, and so power of two different resolutions and you’d sort of interpolate between two of them, depending on what level of detail you were at. This was the cheap way to do that. So he had this very clever way of folding the memory addressing so that it all, you know, optimized the use of memory, on-chip memory. But pretty much everything else was mine. So, you know, I didn’t design every gate but, you know, most of the gates, and I designed the architecture, you know, the detailed architecture. Oh, I also-- I think I designed every arithmetic element on that chip, okay, so that was one of my specialties was doing, you know, math units, and that-- we had a very limited choice of cell libraries to use for this chip, okay2. It was a full custom chip, but you don’t design everything from scratch. You have a cell library, right. So there was the so-called high-performance library and there was the so-called high-density library, which were really the low-density library and the low-performance library.