Sunday 15 August 2010

emulation - How do I structure the memory map in an N64 emulator? -


According to Wikipedia, N64 is only 4 MB of RDRAM (8 MB with expansion pack), and other quantities are

itemprop = "text">

Similarly, small (4 KB or L1 cache). However, technical documents I found on Google State that your memory addresses range from $ 0000: $ 0000 to $ FFFF: FFFF - that's 4 GB! Since current 64-emulator emblems like Project 64 do not use 4GB RAM, how does memory map work? I have tried to look through various documents and such a way, and these are at least a little different. Anyone has some advice on this issue

Specifically, I have found a memory map:

  0x0000 0000 0x03EF FFFF RDRAM memory 0x03F0 0000 to 0x03FF FFFF RDRAM register 0x0400 0000 to 0x040FFFFSP Registers 0x0410 0000 to 0x041FFFFFD.D. Command Register 0x0420 0000 to 0x042FFFFF DP SPAN Registers 0x0430 0000 to 0x043FFFFF MIP Interface (MI) Registers 0x0440 0000 to 0x044FFFFF Video Interface (vi) Registers 0x0450 0000 to 0x045FFFFF odds Yo Interface (AI) Registers 0x0460 0000 to 0x046FFFF Peripheral Interface (PI) Registers 0x0470 0000 to 0x047FFFF RDRAM Interface (RI) Registers 0x0480 0000 to 0x048FFFFF Serial Interface (SI) Registers 0x0490 0000 to 0x04FFFFFF 0x0500 0000 0x05FFFFF Cartridge Domains 2 Address1 0x0600 0000 0x07FFFFFF Cartridge Domains 1 to know 1 0x0800 0000 0x0FFFFFFF cartridge domain2 to know2 0x1000 0000 0x1FBFFFFF cartridge domain1 to know2 0x1FC0 0000 0x1  
for FC0 07BF PIF boot ROM 0x1FC0 07C0 0x1F to C0 07FF PIF RAM 0x1FC0 0800 0x1FCF FFFF Safe 0x1FD0 0000 to 0x7FFF FFFF cartridge domain 1 address 3 0x8000 0000 0xFFFF FFFF External SysAD device

Regardless of how much memory you are copying, you do not need that more memory host machine Available on (you do not need 4 GB, and you do not need 4 MB). Instead, use a data structure where you can access your ammounted memory by the address value. You only need to store something in memory when you assign your space in your real memory.

However, it can be trivial to actually allocate the amount of internal memory described above.

Like offset theory, but address ranges you seem to deny the theory that the above list is completely: Simon, I will also accept the first volume. In addition, the whole "64" -bitt address space thing

Note that the majority of address space has been allocated for external interfaces (cartridges, etc.), not internal hardware resources.


No comments:

Post a Comment