Line 513:
Line 513:
= Wii Motion Plus =
= Wii Motion Plus =
−
The Wii Motion Plus is at register 0xA60000 instead of register 0xA40000, because it has its own extension port on the back allowing a Nunchuk for example to be plugged in along with the Wii Motion Plus.
+
The Wii Motion Plus starts off at register 0xA60000 instead of register 0xA40000, because it has its own extension port on the back allowing a Nunchuk for example to be plugged in along with the Wii Motion Plus. BUT it changes to 0xA40000 once it is initialised by writing 04 to 0xa600fe.
−
The Wii Motion Plus is identified by the 6 bytes: 00 00 A6 20 00 05 at register address 0x(4)a600fa (instead of 0x(4)a400fa like a regular extension). Games attempt to detect the Wii Motion Plus by trying to read the two-byte expansion identifier at 0xA600FE. If a Wii Motion Plus is not detected then the attempt to read those bytes will fail.
+
The Wii Motion Plus is first identified by the 6 bytes: 00 00 A6 20 00 05 at register address 0x(4)a600fa (instead of 0x(4)a400fa like a regular extension). Games attempt to detect the Wii Motion Plus by trying to read the two-byte expansion identifier at 0xA600FE (they try up to 3 times). If a Wii Motion Plus is not present then the attempt to read those bytes will fail with error 7.
Initializing the extension with the standard 0x55/0x00 bytes at 0x0(4)4a600f0 and 0x0(4)a600fb (again, instead of 0x(4)a400f0/0x(4)a400fb like a regular extension) shows data changing for a couple seconds, and then stops.
Initializing the extension with the standard 0x55/0x00 bytes at 0x0(4)4a600f0 and 0x0(4)a600fb (again, instead of 0x(4)a400f0/0x(4)a400fb like a regular extension) shows data changing for a couple seconds, and then stops.