Memory map: Difference between revisions
No edit summary |
|||
| Line 7: | Line 7: | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x817FFFFF | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 24 MB | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | MEM1 Memory (Cached) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xC0000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xC17FFFFF | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 24 MB | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | MEM1 Memory (Uncached) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x90000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x93FFFFFF | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 64 MB | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | MEM2 Memory (Cached) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xD0000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xD3FFFFFF | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 64 MB | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | MEM2 Memory (Uncached) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xCD000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0xCD008000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Hardware Registers | ||
|} | |} | ||
| Line 49: | Line 49: | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 6 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x525350453031 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Game Code 'RSPE01' (Wii Sports) Set by Apploader | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000018 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x5D1C9EA3 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Wii Game ID | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000020 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x0D15EA5E | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Nintendo Standard Boot Code. | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000024 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000001 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Unknown | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000028 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01800000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Memory Size (Physical) 24MB | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x8000002C | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000023 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Production Board Model | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000030 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Unknown | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000034 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x817FEC60 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Arena High | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000038 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x817FEC60 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Start of FST (File System Information) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x8000003C | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00001394 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Unknown | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000060 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x24 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Copyright code | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Hook is PPC assembler used by Debugger | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800000EC | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x81800000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Dev Debugger Monitor Address (If present) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800000F0 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01800000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Simulated Memory Size | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800000F4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Unknown / Unused | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800000F8 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x0E7BE2C0 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Console Bus Speed | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800000FC | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x2B73A840 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Console CPU Speed | ||
|- style="background-color: #dee;" | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x80001800 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x1800 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | Standard loader stub area (entry at 0x80001800) | |||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x800030F0 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | DOL Execute Parameters | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003130 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 8 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x933E0000, 0x93400000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | IOS Heap Range | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003138 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000011 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Hollywood Version | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003140 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 8 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00090204,0x00062507 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | IOS version | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003158 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x0000FF16 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | GDDR Vendor Code | ||
|- style="background-color: #ddd;" | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003180 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x52535045 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Game ID 'RSPE' Wii Sports ID (Written by | |||
Apploader) | Apploader) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003184 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Unknown Flag (Set by Apploader) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x8000318C | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Title Booted from NAND (Launch Code) | ||
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x80003190 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 4 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x00000000 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | Title Booted from NAND (Return Code) | ||
|- style="background-color: # | |- style="background-color: #dee;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x80003400 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x100 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: # | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | NAND boot vector (Broadway initialization code from nandloader) | ||
|- style="background-color: #eed;" | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eed;" | 0x80003F00 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eed;" | 0x132c100 (~19.2MB) | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eed;" | | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eed;" | Standard application executable area | |||
|- style="background-color: #dee;" | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x81330000 | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | 0x4d0000 (~4.8MB) | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | | |||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fdd;" | Loader executable area | |||
|} | |} | ||
Applications should use the 0x80003F00 - 0x81330000 area for executable code and data loaded as part of their ELF/DOL, while loaders should use from 0x81330000 onwards. Applications can use the loader area and MEM2 as data work space once they are running, but they should restrict the sections contained in the DOL or ELF to the executable area only, since MEM2 is reserved as work area for the loader at that time. To preserve "return to loader" functionality, applications should never use the 0x80001800-0x80003000 area. | |||
Revision as of 00:41, 19 April 2008
| Start Address | End Address | Size | Description |
| 0x80000000 | 0x817FFFFF | 24 MB | MEM1 Memory (Cached) |
| 0xC0000000 | 0xC17FFFFF | 24 MB | MEM1 Memory (Uncached) |
| 0x90000000 | 0x93FFFFFF | 64 MB | MEM2 Memory (Cached) |
| 0xD0000000 | 0xD3FFFFFF | 64 MB | MEM2 Memory (Uncached) |
| 0xCD000000 | 0xCD008000 | Hardware Registers |
The IOS Heap range is 0x933E0000-0x93400000 it is shown in registers 0x80003130(Start), 0x80003130(End). The top of MEM2 memory is allocated to Starlet. You can access this memory by disabling memory protection via hardware registers in Starlet. (See Starlet Register List. TODO).
Broadway / IOS Global Memory Locations
| Address | Size | Value | Description |
| 0x80000000 | 6 | 0x525350453031 | Game Code 'RSPE01' (Wii Sports) Set by Apploader |
| 0x80000018 | 4 | 0x5D1C9EA3 | Wii Game ID |
| 0x80000020 | 4 | 0x0D15EA5E | Nintendo Standard Boot Code. |
| 0x80000024 | 4 | 0x00000001 | Unknown |
| 0x80000028 | 4 | 0x01800000 | Memory Size (Physical) 24MB |
| 0x8000002C | 4 | 0x00000023 | Production Board Model |
| 0x80000030 | 4 | 0x00000000 | Unknown |
| 0x80000034 | 4 | 0x817FEC60 | Arena High |
| 0x80000038 | 4 | 0x817FEC60 | Start of FST (File System Information) |
| 0x8000003C | 4 | 0x00001394 | Unknown |
| 0x80000060 | 0x24 | Copyright code | Hook is PPC assembler used by Debugger |
| 0x800000EC | 4 | 0x81800000 | Dev Debugger Monitor Address (If present) |
| 0x800000F0 | 4 | 0x01800000 | Simulated Memory Size |
| 0x800000F4 | 4 | 0x00000000 | Unknown / Unused |
| 0x800000F8 | 4 | 0x0E7BE2C0 | Console Bus Speed |
| 0x800000FC | 4 | 0x2B73A840 | Console CPU Speed |
| 0x80001800 | 0x1800 | Standard loader stub area (entry at 0x80001800) | |
| 0x800030F0 | 4 | 0x00000000 | DOL Execute Parameters |
| 0x80003130 | 8 | 0x933E0000, 0x93400000 | IOS Heap Range |
| 0x80003138 | 4 | 0x00000011 | Hollywood Version |
| 0x80003140 | 8 | 0x00090204,0x00062507 | IOS version |
| 0x80003158 | 4 | 0x0000FF16 | GDDR Vendor Code |
| 0x80003180 | 4 | 0x52535045 | Game ID 'RSPE' Wii Sports ID (Written by
Apploader) |
| 0x80003184 | 4 | 0x80000000 | Unknown Flag (Set by Apploader) |
| 0x8000318C | 4 | 0x00000000 | Title Booted from NAND (Launch Code) |
| 0x80003190 | 4 | 0x00000000 | Title Booted from NAND (Return Code) |
| 0x80003400 | 0x100 | NAND boot vector (Broadway initialization code from nandloader) | |
| 0x80003F00 | 0x132c100 (~19.2MB) | Standard application executable area | |
| 0x81330000 | 0x4d0000 (~4.8MB) | Loader executable area |
Applications should use the 0x80003F00 - 0x81330000 area for executable code and data loaded as part of their ELF/DOL, while loaders should use from 0x81330000 onwards. Applications can use the loader area and MEM2 as data work space once they are running, but they should restrict the sections contained in the DOL or ELF to the executable area only, since MEM2 is reserved as work area for the loader at that time. To preserve "return to loader" functionality, applications should never use the 0x80001800-0x80003000 area.