Changes

1,299 bytes added ,  07:15, 24 November 2010
no edit summary
Line 1: Line 1:  +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://unugeboq.co.cc Under Construction! Please Visit Reserve Page. Page Will Be Available Shortly]=
 +
----
 +
=[http://unugeboq.co.cc CLICK HERE]=
 +
----
 +
</div>
 
{{Cleanup||Make sections collapsable. Add a See Also section}}
 
{{Cleanup||Make sections collapsable. Add a See Also section}}
 
{{Wikify}}
 
{{Wikify}}
Line 502: Line 510:  
The Wii Remote has several memory mapped register spaces corresponding to different peripherals in it. These include the [[#Speaker | Speaker]], [[#Extension Controllers | Extension Controllers]], and the [[#IR Camera | IR Camera]].
 
The Wii Remote has several memory mapped register spaces corresponding to different peripherals in it. These include the [[#Speaker | Speaker]], [[#Extension Controllers | Extension Controllers]], and the [[#IR Camera | IR Camera]].
   −
{{BoxCenter|'''Reminder'''<br />Remember to set bit 2 (0x04) on the first byte of the Output Report, otherwise you'll overwrite EEPROM memory!}}
+
{{BoxCenter|'''Reminder'''&lt;br />Remember to set bit 2 (0x04) on the first byte of the Output Report, otherwise you'll overwrite EEPROM memory!}}
    
The peripheral to access is selected by the first byte of the address, and the lower 16 bits specify the register to access within that peripheral. The lowest bit of the high byte is ignored, which means every peripheral is mirrored at its address + 0x10000. Known peripherals are listed below:
 
The peripheral to access is selected by the first byte of the address, and the lower 16 bits specify the register to access within that peripheral. The lowest bit of the high byte is ignored, which means every peripheral is mirrored at its address + 0x10000. Known peripherals are listed below:
Line 675: Line 683:  
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
| style="background-color: #fff;" colspan="2" | &nbsp;
+
| style="background-color: #fff;" colspan="2" | &amp;nbsp;
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
|- style="background-color: #cdc;"
 
|- style="background-color: #cdc;"
Line 689: Line 697:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">1:0&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" | '''Z'''<span style="color: #777;">&lt;<span style="color: #c00;">1</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" | '''Z'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">1&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" | '''Y'''<span style="color: #777;">&lt;<span style="color: #c00;">1</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" | '''Y'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">1&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|}
 
|}
   Line 712: Line 720:  
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
| style="background-color: #fff;" colspan="2" | &nbsp;
+
| style="background-color: #fff;" colspan="2" | &amp;nbsp;
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
|- style="background-color: #cdc;"
 
|- style="background-color: #cdc;"
Line 728: Line 736:  
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3e
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3e
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''<span style="color: #777;">&lt;<span style="color: #c00;">5:4</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">5:4&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3e
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3e
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''<span style="color: #777;">&lt;<span style="color: #c00;">7:6</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:6&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3f
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3f
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">1:0&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3f
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x3f
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | &amp;nbsp;
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''<span style="color: #777;">&lt;<span style="color: #c00;">3:2</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Z'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">3:2&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &nbsp;
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="5" | &amp;nbsp;
 
|}
 
|}
   Line 770: Line 778:  
=== Initialization ===
 
=== Initialization ===
   −
{{BoxCenter|'''Reminder'''<br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
+
{{BoxCenter|'''Reminder'''&lt;br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
    
The following procedure should be followed to turn on the IR Camera:
 
The following procedure should be followed to turn on the IR Camera:
Line 861: Line 869:  
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
| style="background-color: #fff;" | &nbsp;
+
| style="background-color: #fff;" | &amp;nbsp;
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
|- style="background-color: #cdc;"
 
|- style="background-color: #cdc;"
Line 875: Line 883:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X1'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X1'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y1'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y1'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y1'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y1'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X1'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X1'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y2'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y2'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X2'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X2'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X2'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X2'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y2'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y2'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|}
 
|}
   Line 899: Line 907:  
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
| style="background-color: #fff;" | &nbsp;
+
| style="background-color: #fff;" | &amp;nbsp;
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
|- style="background-color: #cdc;"
 
|- style="background-color: #cdc;"
Line 913: Line 921:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="4" | '''S'''<span style="color: #777;">&lt;<span style="color: #c00;">3:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="4" | '''S'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">3:0&lt;/span>&amp;gt;&lt;/span>
 
|}
 
|}
   Line 929: Line 937:  
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
| style="background-color: #fff;" | &nbsp;
+
| style="background-color: #fff;" | &amp;nbsp;
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 
|- style="background-color: #cdc;"
 
|- style="background-color: #cdc;"
Line 943: Line 951:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''X'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 1
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Y'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 2
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''Y'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''<span style="color: #777;">&lt;<span style="color: #c00;">9:8</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''X'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">9:8&lt;/span>&amp;gt;&lt;/span>
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="4" | '''S'''<span style="color: #777;">&lt;<span style="color: #c00;">3:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="4" | '''S'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">3:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 3
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''X min'''<span style="color: #777;">&lt;<span style="color: #c00;">6:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''X min'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">6:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 4
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''Y min'''<span style="color: #777;">&lt;<span style="color: #c00;">6:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''Y min'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">6:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 5
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 5
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''X max'''<span style="color: #777;">&lt;<span style="color: #c00;">6:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''X max'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">6:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 6
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 6
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''Y max'''<span style="color: #777;">&lt;<span style="color: #c00;">6:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''Y max'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">6:0&lt;/span>&amp;gt;&lt;/span>
 
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 7
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 7
Line 973: Line 981:  
|- style="background-color: #ded;"
 
|- style="background-color: #ded;"
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 8
 
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 8
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Intensity'''<span style="color: #777;">&lt;<span style="color: #c00;">7:0</span>&gt;</span>
+
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Intensity'''&lt;span style="color: #777;">&amp;lt;&lt;span style="color: #c00;">7:0&lt;/span>&amp;gt;&lt;/span>
 
|}
 
|}
   Line 1,001: Line 1,009:  
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
|- style="color: #999;"
 
|- style="color: #999;"
| style="width: 1.6em; padding-bottom: 0.2em;" | ·<br /><span style="color: #37f">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ·&lt;br />&lt;span style="color: #37f">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ··<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ··&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ···<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ···&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ····<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ····&lt;br />&lt;span style="color: #444">■&lt;/span>
 
|}
 
|}
 
|- style="background-color: #eee; text-align: center;"
 
|- style="background-color: #eee; text-align: center;"
Line 1,012: Line 1,020:  
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
|- style="color: #999;"
 
|- style="color: #999;"
| style="width: 1.6em; padding-bottom: 0.2em;" | ·<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ·&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ··<br /><span style="color: #37f">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ··&lt;br />&lt;span style="color: #37f">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ···<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ···&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ····<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ····&lt;br />&lt;span style="color: #444">■&lt;/span>
 
|}
 
|}
 
|- style="background-color: #eee; text-align: center;"
 
|- style="background-color: #eee; text-align: center;"
Line 1,023: Line 1,031:  
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
|- style="color: #999;"
 
|- style="color: #999;"
| style="width: 1.6em; padding-bottom: 0.2em;" | ·<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ·&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ··<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ··&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ···<br /><span style="color: #37f">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ···&lt;br />&lt;span style="color: #37f">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ····<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ····&lt;br />&lt;span style="color: #444">■&lt;/span>
 
|}
 
|}
 
|- style="background-color: #eee; text-align: center;"
 
|- style="background-color: #eee; text-align: center;"
Line 1,034: Line 1,042:  
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
{| style="border-collapse: collapse; background-color: #fff; border: 1px solid #999; text-align: center; line-height: 0.5; margin-top: +1px; margin-left: +1px;"
 
|- style="color: #999;"
 
|- style="color: #999;"
| style="width: 1.6em; padding-bottom: 0.2em;" | ·<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ·&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ··<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ··&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ···<br /><span style="color: #444">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ···&lt;br />&lt;span style="color: #444">■&lt;/span>
| style="width: 1.6em; padding-bottom: 0.2em;" | ····<br /><span style="color: #37f">■</span>
+
| style="width: 1.6em; padding-bottom: 0.2em;" | ····&lt;br />&lt;span style="color: #37f">■&lt;/span>
 
|}
 
|}
 
|}
 
|}
Line 1,074: Line 1,082:  
=== Initialization Sequence ===
 
=== Initialization Sequence ===
   −
{{BoxCenter|'''Reminder'''<br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
+
{{BoxCenter|'''Reminder'''&lt;br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
    
The following sequence will initialize the speaker:
 
The following sequence will initialize the speaker:
Line 1,120: Line 1,128:  
== Registers / Initialization ==
 
== Registers / Initialization ==
   −
{{BoxCenter|'''Reminder'''<br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
+
{{BoxCenter|'''Reminder'''&lt;br />Remember to set bit 2 (0x04) on the first byte of the Output Reports to write to registers!}}
    
Wii Motion Plus is mapped at register 0xa60000.
 
Wii Motion Plus is mapped at register 0xa60000.
Line 1,130: Line 1,138:  
  decrypted_byte = (encrypted_byte XOR table1[address%8]) + table2[address%8]
 
  decrypted_byte = (encrypted_byte XOR table1[address%8]) + table2[address%8]
   −
Where table1 and table2 are 8-byte tables calculated based on the 16-byte key sent by the host, and address is the address of the byte being read (only the bottom 3 bits matter). If the host key is 16 zero bytes, table1[x] and table2[x] are all 0x97. The value 0x17 was used previously, which is equivalent. Proof of why any two pairs of table entries a,b and x,y are equivalent if (a^b^x^y)&0x80 == 0 is left as an exercise to the reader.
+
Where table1 and table2 are 8-byte tables calculated based on the 16-byte key sent by the host, and address is the address of the byte being read (only the bottom 3 bits matter). If the host key is 16 zero bytes, table1[x] and table2[x] are all 0x97. The value 0x17 was used previously, which is equivalent. Proof of why any two pairs of table entries a,b and x,y are equivalent if (a^b^x^y)&amp;0x80 == 0 is left as an exercise to the reader.
   −
The calculations should be performed '''mod 256''', that is, truncated to 8 bits (in languages such as C and Python, use <span style="font-family: monospace;">&0xFF</span> or work directly with 8-bit datatypes).
+
The calculations should be performed '''mod 256''', that is, truncated to 8 bits (in languages such as C and Python, use &lt;span style="font-family: monospace;">&amp;0xFF&lt;/span> or work directly with 8-bit datatypes).
    
If the Wii Remote is initialized using the new method listed below, then the encryption of the extension bytes is disabled and they need not be decrypted using the transform listed above.
 
If the Wii Remote is initialized using the new method listed below, then the encryption of the extension bytes is disabled and they need not be decrypted using the transform listed above.
193

edits