Can N64 RAM be changed?

fearsomepirate

Dinosaur Hunter
Veteran
I'm not a computer engineer, so I don't know much about these things. Anyway, I hear that one of the main culprits behind N64's laggy framerates was the high-latency RAM. I was wondering if it would be possible to replace the RAM in the machine with something lower latency, assuming I could find 4 MB chips somewhere. It's probably out of my capability, but is it even possible?
 
IIRC, the high latency was due to the fact that the CPU had to go through the graphics/audio co-processor to access main memory. Don't think swapping memory modules would help you out too much, if thats the case.
 
Well, RDRAM inherently has high latency. I'm not sure how they setup the memory config, but you may not be able to do anything as you'd have to replace the existing 4MiB inside the N64 itself.

Here's the patent for the console: http://www.freepatentsonline.com/20010016517.html

I haven't looked through it in detail, but you may learn something of the RAM setup.

edit: nm, the patent doesn't say much about that.

Anyways, you might have a problem regarding the memory controller if it's inflexible.
 
Last edited by a moderator:
Well, RDRAM inherently has high latency.
BS. It's one of those universally agreed upon "truths", that everybody knows but if you ask for concrete evidence all you get vague explanations and references to the first two major applications of RDRAM: N64 and Intels early experiments with the tech, where the latency can be purely attributed to poor setup.
 
BS. It's one of those universally agreed upon "truths", that everybody knows but if you ask for concrete evidence all you get vague explanations and references to the first two major applications of RDRAM: N64 and Intels early experiments with the tech, where the latency can be purely attributed to poor setup.

hm.... interesting. Can you explain the rather high latency for row access times as listed in the specs on Rambus' website, which are, presumably, not taking into account any Intel or Nintendo implementation :?:
 
The devs on here have said that the CPU accessing RAM thru the RCP was not a good thing at all. The CPU also has no L2 cache. But, considering a VR4300 @ 93 MHz is kinda like a DX4/100 or maybe a slow Pentium, I was always very impressed with N64 games. Especially what ERP did for my fav N64 racers. :)

We do know from even modern GPUs though that RAM latency isn't a big problem for graphics, so I dunno if it was a problem for the RCP itself.

As for putting new RAM in there, I can't see how that could be possible. You aren't going to be able to alter what the RCP does for settings with regards to the RAM. And I'm sure it only supports RDRAM.
 
Last edited by a moderator:
Even if the machine would work with a other chip, wouldnt it be very hard, or even impossible to actually fit the chip on the board? I assume you'll need to atleast solder it on but ive seen how much trouble a mate had with replacing a mosfet (it was in the way for his cooler) wouldnt it be extremely hard to get all the connections solderd good?
 
Even if you could get faster RAM with pins that line up and comptable in all other respects, you'd still have to figure out how to overclock the memory bus and hope the memory controller would hold up.
 
AlStrong said:
Can you explain the rather high latency for row access times as listed in the specs on Rambus' website, which are, presumably, not taking into account any Intel or Nintendo implementation
I haven't looked at detailed low-level Ram specs in ages, but ultimately they are irellevant to the application-level, if I have to wait "x" nanoseconds for a cache miss, it doesn't make much difference if it's the ram chip or something else that makes me wait, it's a hw problem either way :p What I see is the end-latency, and history has shown ram often doesn't contribute the major part of it.

In case of N64/early Intel stuff it was obviously an implementation issue. On PS2(which IIRC uses the same chips as many of those early intels), cache miss latency was a bit faster then contemporary SDR/DDR variants (somewhere in the range of 100-200ns, with PS2 RDR a bit closer to the 100 then others).

On that note - as we moved to 360/PS3, the latency stayed more or less the same - it just seems godawful slow because CPUs are clocked 10x higher.
 
Last edited by a moderator:
Sorta-way-off-topic, but I was wondering the other day how 360 copes using high latency GDDR3 as main RAM. That stuff has some seriously high latency timings, at least on video cards. And while we know GPUs can get by with that, CPUs can't possibly like it at all.
 
FWIW in absolute terms we measured N64 cache misses at 600+nanoseconds...
And the L1 cache was crap.

As to X360, the cache largely bails you out, most game code tends to have VERY high hit rates on even half decent caches. If the L2 hadn't been shared across the cores it might have been a bigger issue.
And a miss is comparable to the PS3 miss numbers.
 
Interesting info, guys. I genuinely know very little about memory, memory controllers, and so on. I guess now that we know so much in retrospect about the problems with the way N64 was engineered, I find myself what if anything could be changed about the machine and still be able to run the same games. Does the Wii run N64 games better than the original machine?
 
hm.... interesting. Can you explain the rather high latency for row access times as listed in the specs on Rambus' website, which are, presumably, not taking into account any Intel or Nintendo implementation :?:

From what I recall, Rambus memory I/F had what looked like higher latencies (compared to, say, DDR) at face value if you measured latencies in clock cycles, but because Rambus memory I/F ran at such high clock rates, the actual latency in realtime was actually less (than DDR's).
 
I haven't looked at detailed low-level Ram specs in ages, but ultimately they are irellevant to the application-level, if I have to wait "x" nanoseconds for a cache miss, it doesn't make much difference if it's the ram chip or something else that makes me wait, it's a hw problem either way :p What I see is the end-latency, and history has shown ram often doesn't contribute the major part of it.

In case of N64/early Intel stuff it was obviously an implementation issue. On PS2(which IIRC uses the same chips as many of those early intels), cache miss latency was a bit faster then contemporary SDR/DDR variants (somewhere in the range of 100-200ns, with PS2 RDR a bit closer to the 100 then others).

On that note - as we moved to 360/PS3, the latency stayed more or less the same - it just seems godawful slow because CPUs are clocked 10x higher.

Well, the PS2's main RAM isn't really a great comparison IMO because it's kinda like 2cm* away from the CPU or something ridiculous like that.

* I may have the number slightly off but the point still stands, the actual path between the Emotion Engine and the main ram is unbelievably tiny, they deliberately put it as close as physically feasible to lower latency
 
Tagrineth said:
they deliberately put it as close as physically feasible to lower latency
I don't see how that is any different from every other console. Especially handhelds - and you'll find that even the one that clocks as high as PS2, and uses what most people believe to be "lower" latency memory then RDRam, has significantly worse latencies then the PS2).

And as ERP points out - the differences continue to be marginal at most in latest consoles with different ram types, not to mention the new ram types are actually slower in absolute timings (access times are closer to 200ns).
 
Back
Top