The N64 can address more than 8Mbytes of memory, which is limited really by the fact that there only is an 8MB expansion pak (there wasn't a bigger one designer btw, so don't go about assuming stuff). My question is this: How standard is the RDRAM on the N64? Is it possible to use the expansion slot to connect (even in an ugly manner) more RDRAM? A jumper-pak->RDRAM(standard slot) adaptor is what I have in mind.
Probably the RAM is fully decoded to an 8MiB area of the address space, you can verify that with a memory map.
I'm not sure what advantage it would give you, save homebrew. But then, you'll have to get people to build your special memory pack to play it. Still, worth a think though.
The N64 is not limited by hardware or by default to a specific size of memory, so in practice you can rise higher tha 8MiB if the hardware is there. I was thinking of homebrew mostly and I m surprised nintendo never made a special Expansion Pak for developers to use on the KMC, like the SGI indies that had a lot more RDRAM on the U64 board. Other uses would include Linux obviously and dumper/loaders to a lesser extent. just some food for thought though, since I can't say that the cost of such a feat would be justified.
Can you prove that the Expansion Pak both has access the entire address space and it decodes itself? I find that very hard to believe. According to this document, there is 63MiB allocated for RDRAM, and looks like it's partially decoded into two hardwired 4MiB parts, one of which is the Expansion Pak: http://infrid.altervista.org/N64/DOC/n64maps.txt So in other words it *physically* cannot use more than 8MiB. If you want more than 8MiB, you'd have to decode it into cartridge/reserved area using the cartridge bus, in that case though you don't even need to use RDRAM. Also, it would be beneficial to have it decoded to the default RDRAM area because existing software may have been able to make use of it during dynamic memory allocation.
From what I remember over some 64DD discussions with subbie, the IPL4ROM looks up-up and beyond 8MiB. I could assist you in "finding" the file (dev ipl) if that's any indication, as you're surely more versed in the subject that I am.
Well, it's possible that the RAM isn't partially decoded or that certain dev consoles support up to 63MiB of RDRAM, I don't know. I'm not into N64 so I couldn't do anything with the IPL. That connects to the cartridge bus though right? The cartridge bus may be the full 32-bit, giving access to a ton of memory, with probably a lot of room to spare, but it's not the same as RDRAM; RDRAM actually runs at the CPU speed.
I had a look at the IPLROM too, but then i discovered the Disassembler having lots of bugs! >_< Anyway, yes the IPLROM checks for the RAM size through the RI interface, so its possible that _maybe_ there could be more than 8MB. I'll redisasm and check and ill be back to tell you
There is always a interesting way to check. Hack up a emu to be open for 12-16MB and see what the DD_IPL does. It seems to just do write test untill it gets an write fail to determin the RDRAM size.