mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
This commit is contained in:
		
							parent
							
								
									13dd0b88de
								
							
						
					
					
						commit
						d3db770cad
					
				@ -672,12 +672,14 @@ PAddr VirtualToPhysicalAddress(const VAddr addr) {
 | 
				
			|||||||
        return addr - VRAM_VADDR + VRAM_PADDR;
 | 
					        return addr - VRAM_VADDR + VRAM_PADDR;
 | 
				
			||||||
    } else if (addr >= LINEAR_HEAP_VADDR && addr < LINEAR_HEAP_VADDR_END) {
 | 
					    } else if (addr >= LINEAR_HEAP_VADDR && addr < LINEAR_HEAP_VADDR_END) {
 | 
				
			||||||
        return addr - LINEAR_HEAP_VADDR + FCRAM_PADDR;
 | 
					        return addr - LINEAR_HEAP_VADDR + FCRAM_PADDR;
 | 
				
			||||||
 | 
					    } else if (addr >= NEW_LINEAR_HEAP_VADDR && addr < NEW_LINEAR_HEAP_VADDR_END) {
 | 
				
			||||||
 | 
					        return addr - NEW_LINEAR_HEAP_VADDR + FCRAM_PADDR;
 | 
				
			||||||
    } else if (addr >= DSP_RAM_VADDR && addr < DSP_RAM_VADDR_END) {
 | 
					    } else if (addr >= DSP_RAM_VADDR && addr < DSP_RAM_VADDR_END) {
 | 
				
			||||||
        return addr - DSP_RAM_VADDR + DSP_RAM_PADDR;
 | 
					        return addr - DSP_RAM_VADDR + DSP_RAM_PADDR;
 | 
				
			||||||
    } else if (addr >= IO_AREA_VADDR && addr < IO_AREA_VADDR_END) {
 | 
					    } else if (addr >= IO_AREA_VADDR && addr < IO_AREA_VADDR_END) {
 | 
				
			||||||
        return addr - IO_AREA_VADDR + IO_AREA_PADDR;
 | 
					        return addr - IO_AREA_VADDR + IO_AREA_PADDR;
 | 
				
			||||||
    } else if (addr >= NEW_LINEAR_HEAP_VADDR && addr < NEW_LINEAR_HEAP_VADDR_END) {
 | 
					    } else if (addr >= N3DS_EXTRA_RAM_VADDR && addr < N3DS_EXTRA_RAM_VADDR_END) {
 | 
				
			||||||
        return addr - NEW_LINEAR_HEAP_VADDR + FCRAM_PADDR;
 | 
					        return addr - N3DS_EXTRA_RAM_VADDR + N3DS_EXTRA_RAM_PADDR;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr);
 | 
					    LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr);
 | 
				
			||||||
@ -696,6 +698,8 @@ VAddr PhysicalToVirtualAddress(const PAddr addr) {
 | 
				
			|||||||
        return addr - DSP_RAM_PADDR + DSP_RAM_VADDR;
 | 
					        return addr - DSP_RAM_PADDR + DSP_RAM_VADDR;
 | 
				
			||||||
    } else if (addr >= IO_AREA_PADDR && addr < IO_AREA_PADDR_END) {
 | 
					    } else if (addr >= IO_AREA_PADDR && addr < IO_AREA_PADDR_END) {
 | 
				
			||||||
        return addr - IO_AREA_PADDR + IO_AREA_VADDR;
 | 
					        return addr - IO_AREA_PADDR + IO_AREA_VADDR;
 | 
				
			||||||
 | 
					    } else if (addr >= N3DS_EXTRA_RAM_PADDR && addr < N3DS_EXTRA_RAM_PADDR_END) {
 | 
				
			||||||
 | 
					        return addr - N3DS_EXTRA_RAM_PADDR + N3DS_EXTRA_RAM_VADDR;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LOG_ERROR(HW_Memory, "Unknown physical address @ 0x%08X", addr);
 | 
					    LOG_ERROR(HW_Memory, "Unknown physical address @ 0x%08X", addr);
 | 
				
			||||||
 | 
				
			|||||||
@ -37,6 +37,12 @@ enum : PAddr {
 | 
				
			|||||||
    VRAM_SIZE = 0x00600000, ///< VRAM size (6MB)
 | 
					    VRAM_SIZE = 0x00600000, ///< VRAM size (6MB)
 | 
				
			||||||
    VRAM_PADDR_END = VRAM_PADDR + VRAM_SIZE,
 | 
					    VRAM_PADDR_END = VRAM_PADDR + VRAM_SIZE,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// New 3DS additional memory. Supposedly faster than regular FCRAM. Part of it can be used by
 | 
				
			||||||
 | 
					    /// applications and system modules if mapped via the ExHeader.
 | 
				
			||||||
 | 
					    N3DS_EXTRA_RAM_PADDR = 0x1F000000,
 | 
				
			||||||
 | 
					    N3DS_EXTRA_RAM_SIZE = 0x00400000, ///< New 3DS additional memory size (4MB)
 | 
				
			||||||
 | 
					    N3DS_EXTRA_RAM_PADDR_END = N3DS_EXTRA_RAM_PADDR + N3DS_EXTRA_RAM_SIZE,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// DSP memory
 | 
					    /// DSP memory
 | 
				
			||||||
    DSP_RAM_PADDR = 0x1FF00000,
 | 
					    DSP_RAM_PADDR = 0x1FF00000,
 | 
				
			||||||
    DSP_RAM_SIZE = 0x00080000, ///< DSP memory size (512KB)
 | 
					    DSP_RAM_SIZE = 0x00080000, ///< DSP memory size (512KB)
 | 
				
			||||||
@ -81,6 +87,10 @@ enum : VAddr {
 | 
				
			|||||||
    LINEAR_HEAP_SIZE = 0x08000000,
 | 
					    LINEAR_HEAP_SIZE = 0x08000000,
 | 
				
			||||||
    LINEAR_HEAP_VADDR_END = LINEAR_HEAP_VADDR + LINEAR_HEAP_SIZE,
 | 
					    LINEAR_HEAP_VADDR_END = LINEAR_HEAP_VADDR + LINEAR_HEAP_SIZE,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Maps 1:1 to New 3DS additional memory
 | 
				
			||||||
 | 
					    N3DS_EXTRA_RAM_VADDR = 0x1E800000,
 | 
				
			||||||
 | 
					    N3DS_EXTRA_RAM_VADDR_END = N3DS_EXTRA_RAM_VADDR + N3DS_EXTRA_RAM_SIZE,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Maps 1:1 to the IO register area.
 | 
					    /// Maps 1:1 to the IO register area.
 | 
				
			||||||
    IO_AREA_VADDR = 0x1EC00000,
 | 
					    IO_AREA_VADDR = 0x1EC00000,
 | 
				
			||||||
    IO_AREA_VADDR_END = IO_AREA_VADDR + IO_AREA_SIZE,
 | 
					    IO_AREA_VADDR_END = IO_AREA_VADDR + IO_AREA_SIZE,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user