4 ms·
Is it possible to use the texture memory/cache (including the Expansion Pak) as additional (albeit limited) system RAM? If so, is that the case here?
by muterad_murilax 6y ago
Is it possible to use the texture memory/cache (including the Expansion Pak) as additional (albeit limited) system RAM? If so, is that the case here?
- monocasa 6y agoExpansion Pak is regular RAM both to this and the normal games. The texture memory would be difficult to use as RAM though since it's not directly addressable.
- rasz 6y agotexture memory would be difficult to use because n64 doesnt have any, its unified memory arch.
- monocasa 6y agoIt has 4k of TMEM on the GPU, and is in fact the only place textures can be used by the GPU. That's one of the major reasons the N64 has a reputation for being 'blurry'. 4k gives you a max of (with mip maps) one 32x32 16-bit texture at a time.
- flatiron 6y agoNot sure what you mean by “any” it certainly has texture ram but to a fault too little so n64 textures are notoriously crumby.
- corysama 6y agoThe expansion pak would double the effective memory from 4MB to 8. But, there is no separate memory for textures to take advantage of. Just a 4k cache that textures were loaded into from main RAM one at a time while rendering. There were some games that manually implemented their own virtual memory paging system to map the cartridge ROM to RAM address space. But, in general a feature that distinguished the N64 from the PS1 was that it had a single, unified block of RAM for all of the hardware to share however you like.
- monocasa 6y agoTMEM isn't a cache unfortunately and has to be manually loaded and unloaded. But because of that you might be able to use it for extra sort of like how the Factor 5 GC games would spill out to ARAM. A lot of work for 4k of RAM though.
- rasz 6y agoIn theory there is 1MB of hidden ram, used exclusively by GPU (9th bit). Wiki describes it: > Differing memory countings are due to the 9th bit only being available to the RCP for tasks such as anti-aliasing or Z-buffering. afaik there is no way of manually using this ram, its hardwired to fixed function pipeline stages of RCP.
- monocasa 6y agoI think you can very slowly peek and poke those hidden bits through the RDRAM test registers. Half the MMIO seems to be intended for board test via the CPU's A/D bus being twiddled via it's boundary scan.
- shakna 6y ago> This is a port of Linux to the N64. Only native drivers for now, that is, no Everdrive or 64drive specials. Expansion pak required. [0] It seems that this actually requires using the Expansion Pak as system RAM to even run. [0] https://github.com/clbr/n64bootloader/tree/master/n64linux https://github.com/clbr/n64bootloader/tree/master/n64linux