Changes

120 bytes removed ,  17:25, 25 September 2022
m
cleanup page, merge tables as a lot of it was the same.
Line 3: Line 3:  
The Wii moves all 24MB of 1T-SRAM (referred to as MEM1) inside the Hollywood package, and adds an additional 64MB of GDDR3 RAM (MEM2).  During normal operation, IOS reserves the upper 12-16MB of MEM2 for its own use; the rest can freely be used for code or data by running PPC code.  MEM1 is slightly faster than MEM2.  The Wii does not have the ARAM chip; instead, DSP can access MEM1 or MEM2. When using [[MIOS]], the bottom 16 MB of MEM2 is used to emulate ARAM; the [[Tweezer Attack]] allowed accessing the rest of MEM2.
 
The Wii moves all 24MB of 1T-SRAM (referred to as MEM1) inside the Hollywood package, and adds an additional 64MB of GDDR3 RAM (MEM2).  During normal operation, IOS reserves the upper 12-16MB of MEM2 for its own use; the rest can freely be used for code or data by running PPC code.  MEM1 is slightly faster than MEM2.  The Wii does not have the ARAM chip; instead, DSP can access MEM1 or MEM2. When using [[MIOS]], the bottom 16 MB of MEM2 is used to emulate ARAM; the [[Tweezer Attack]] allowed accessing the rest of MEM2.
   −
The IOS Heap range is usually 0x933E0000 – 0x93400000, as shown in registers 0x80003130(Start), 0x80003134(End). Pointers in this area are often passed back and forth between IOS and code running on Broadway. The top of MEM2 memory is allocated to IOS, and protected from access by some registers (TODO).
+
The IOS Heap range is usually 0x933E0000 – 0x93400000, as shown in registers 0x80003130(Start), 0x80003134(End). Pointers in this area are often passed back and forth between IOS and code running on Broadway. The top of MEM2 memory is allocated to IOS, and protected from access by some [[Hardware/Hollywood_Registers|Hollywood Registers]].
   −
== Broadway physical memory map ==
  −
{| class="wikitable
  −
|-
  −
! Start Address
  −
! End Address
  −
! Size
  −
! Description
  −
|-
  −
| 0x00000000
  −
| 0x017FFFFF
  −
| 24 MB
  −
| MEM1
  −
|-
  −
| 0x10000000
  −
| 0x13FFFFFF
  −
| 64 MB
  −
| MEM2
  −
|-
  −
| 0x0C000000{{check}}
  −
| 0x0C008003{{check}}
  −
| 32 KB
  −
| [[Broadway]] hardware registers
  −
|-
  −
| 0x0D000000
  −
| 0x0D008000
  −
| 32 KB
  −
| [[Hollywood]] registers
  −
|-
  −
| 0xFFF00100
  −
| 0xFFF0013F
  −
| 64 bytes
  −
| [[Hardware/External Interface|EXI]] boot code mirror
  −
|}
  −
  −
== Broadway translated memory map ==
   
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 45: Line 10:  
! End Address
 
! End Address
 
! Physical Address
 
! Physical Address
 +
! Physical End Address
 
! Size
 
! Size
 
! Description
 
! Description
Line 51: Line 17:  
| 0x817FFFFF
 
| 0x817FFFFF
 
| 0x00000000
 
| 0x00000000
 +
| 0x017FFFFF
 
| 24 MB
 
| 24 MB
 
| MEM1 Memory (Cached)
 
| MEM1 Memory (Cached)
Line 57: Line 24:  
| 0xC17FFFFF
 
| 0xC17FFFFF
 
| 0x00000000
 
| 0x00000000
 +
| 0x017FFFFF
 
| 24 MB
 
| 24 MB
 
| MEM1 Memory (Uncached)
 
| MEM1 Memory (Uncached)
Line 63: Line 31:  
| 0x93FFFFFF
 
| 0x93FFFFFF
 
| 0x10000000
 
| 0x10000000
 +
| 0x13FFFFFF
 
| 64 MB
 
| 64 MB
 
| MEM2 Memory (Cached)
 
| MEM2 Memory (Cached)
Line 69: Line 38:  
| 0xD3FFFFFF
 
| 0xD3FFFFFF
 
| 0x10000000
 
| 0x10000000
 +
| 0x13FFFFFF
 
| 64 MB
 
| 64 MB
 
| MEM2 Memory (Uncached)
 
| MEM2 Memory (Uncached)
Line 75: Line 45:  
| 0xCD008000
 
| 0xCD008000
 
| 0x0D000000
 
| 0x0D000000
|  
+
| 0x0D008000
 +
| 32 KB
 
| [[Hardware/Hollywood_Registers|Hollywood Registers]] (shared with Starlet)
 
| [[Hardware/Hollywood_Registers|Hollywood Registers]] (shared with Starlet)
 +
|-
 +
| Not Mapped
 +
| Not Mapped
 +
| 0x0C000000{{check}}
 +
| 0x0C008003{{check}}
 +
| 32 KB
 +
| [[Broadway]] hardware registers
 +
|-
 +
| Not Mapped
 +
| Not Mapped
 +
| 0xFFF00100
 +
| 0xFFF0013F
 +
| 64 bytes
 +
| [[Hardware/External Interface|EXI]] boot code mirror
 
|}
 
|}