Memory layout: Difference between revisions

Neobrain (talk | contribs)
Partial revert: Don't break the alignment!
Neobrain (talk | contribs)
More partial reverts
Line 95: Line 95:
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x00000000</code>
| 0x00000000
| <code>0x8000000</code>
| 0x08000000
| Instruction TCM, repeating each <code>0x8000</code> bytes.
| Instruction TCM, repeating each 0x8000 bytes.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x01FF8000</code>
| 0x01FF8000
| <code>0x8000</code>
| 0x00008000
| Instruction TCM (Accessed by the kernel and process by this address)
| Instruction TCM (Accessed by the kernel and process by this address)
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x07FF8000</code>
| 0x07FF8000
| <code>0x8000</code>
| 0x00008000
| Instruction TCM (Accessed by bootrom by this address)
| Instruction TCM (Accessed by bootrom by this address)
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x08000000</code>
| 0x08000000
| <code>0x100000</code>
| 0x00100000
| ARM9-only internal memory (ARM7's internal regions are mapped here as well)
| ARM9-only internal memory (ARM7's internal regions are mapped here as well)
|-
|-
| style="background: red" | No
| style="background: red" | No
| <code>0x08100000</code>
| 0x08100000
| <code>0x80000</code>
| 0x00080000
| [[New 3DS]] ARM9-only extension, only enabled when a certain [[CONFIG_Registers|CONFIG]] register is set.
| [[New_3DS]] ARM9-only extension, only enabled when a certain [[CONFIG_Registers|CONFIG]] register is set.
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x10000000</code>
| 0x10000000
| <code>0x8000000</code>
| 0x08000000
| [[IO]] memory
| [[IO]] memory
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x18000000</code>
| 0x18000000
| <code>0x600000</code>
| 0x00600000
| VRAM (divided in two banks, VRAM and VRAMB)  
| VRAM (divided in two banks, VRAM and VRAMB)  
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x1FF00000</code>
| 0x1FF00000
| <code>0x80000</code>
| 0x00080000
| DSP memory
| DSP memory
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x1FF80000</code>
| 0x1FF80000
| <code>0x80000</code>
| 0x00080000
| AXI WRAM
| AXI WRAM
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0x20000000</code>
| 0x20000000
| <code>0x8000000</code>
| 0x08000000
| FCRAM
| FCRAM
|-
|-
| style="background: red" | No
| style="background: red" | No
| <code>0x28000000</code>
| 0x28000000
| <code>0x8000000</code>
| 0x08000000
| [[New 3DS]] FCRAM extension
| [[New_3DS]] FCRAM extension
|-
|-
| style="background: gre</code>en" | Yes
| style="background: green" | Yes
| <code>0xFFF00000</code>
| 0xFFF00000
| <code>0x4000</code>
| 0x00004000
| Data TCM (Mapped during boot ROM)
| Data TCM (Mapped during bootrom)
|-
|-
| style="background: green" | Yes
| style="background: green" | Yes
| <code>0xFFFF0000</code>
| 0xFFFF0000
| <code>0x10000</code>
| 0x00010000
| Boot ROM, the main region is at +<code>0x8000</code>, which is disabled during system boot.
| Bootrom, the main region is at +0x8000, which is disabled during system boot.
|}
|}