Line 3:
Line 3:
== Memory map ==
== Memory map ==
−
I/O is at x'0d00_0000 (Starlet private) and x'0d80_0000 (shared with the Broadway).
+
I/O is at x'0d80_0000 (Starlet private) and x'0d00_0000 (shared with the Broadway). That is to say, the contents of 0x0d8x are selectively mirrored to 0x0d0x. This may change depending on some of the registers (e.g. when MIOS is active).
There is internal SRAM at x'fffe_0000, 128kB of it; this stores the kernel code and data, minus the crypto code.
There is internal SRAM at x'fffe_0000, 128kB of it; this stores the kernel code and data, minus the crypto code.
Line 15:
Line 15:
{| border=1
{| border=1
| base || function || offset || description || contents/example
| base || function || offset || description || contents/example
−
|-
−
|x'0d00_6000|| DI || looks almost identical to the Gamecube DI interface
|-
|-
|x'0d01_0000||NAND ||
|x'0d01_0000||NAND ||
Line 65:
Line 63:
|-
|-
||x'0d07_0100||SDHC !#1 ||
||x'0d07_0100||SDHC !#1 ||
+
|-
+
||x'0d80_0000|| hollywood control || 0x400 bytes of control registers; these registers are mirrored every 0x400 bytes from 0x0d80000 to 0x0d805fff
|-
|-
||x'0d80_0000||IPC|||| reg 0: request pointer || To make an IOS request, the physical address of an IOS command struct is written here by the Broadway. Then, Broadway sets bit 0 of IPC reg 1 to indicate a request is ready.
||x'0d80_0000||IPC|||| reg 0: request pointer || To make an IOS request, the physical address of an IOS command struct is written here by the Broadway. Then, Broadway sets bit 0 of IPC reg 1 to indicate a request is ready.
Line 161:
Line 161:
|-
|-
||x'0d80_0214||???
||x'0d80_0214||???
+
|-
+
||x'0d80_0224 - 03ff || || || unused
+
|-
+
|x'0d80_6000|| DI || looks almost identical to the Gamecube DI interface
|-
|-
||x'0d80_6800||EXI
||x'0d80_6800||EXI