In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
5,493 bytes added ,  21:56, 3 August 2019
→‎EEPROM Memory: Create table for acceleration calibration
Line 476: Line 476:  
The first block contains calibration data related to the IR camera. The format of this data and its significance has not been investigated yet.
 
The first block contains calibration data related to the IR camera. The format of this data and its significance has not been investigated yet.
   −
The four bytes starting at 0x0016 and 0x0020 store the calibrated zero offsets for the accelerometer (high 8 bits of X,Y,Z in the first three bytes, low 2 bits packed in the fourth byte as --XXYYZZ). The four bytes at 0x001A and 0x24 store the force of gravity on those axes. The byte at 0x1e and 0x28 seems mostly unused, but apparently used to contain flags related to the speaker volume and the rumble motor.
+
The four bytes starting at 0x0016 and 0x0020 store the calibrated zero offsets for the accelerometer (high 8 bits of X,Y,Z in the first three bytes, low 2 bits packed in the fourth byte as --XXYYZZ). The four bytes at 0x001A and 0x24 store the force of gravity on those axes. The byte at 0x1e and 0x28 seems to be unused, but apparently used to contain flags related to the speaker volume and the rumble motor (Nintendo games will print a debug message related to it but do not seem to use the value elsewhere).  On all checked remotes, that byte has been 0x40.
 +
 
 +
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em; text-align: center;"
 +
|- style="background-color: #ddd;"
 +
| style="background-color: #fff;" colspan="2" |  
 +
| style="border: 1px solid #ccc; padding: 0.2em; text-align: center;" colspan="8"| '''Bit'''
 +
|- style="background-color: #cdc;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" colspan="2" | '''Byte'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''7'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''6'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''5'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''4'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''3'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''2'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''1'''
 +
| style="border: 1px solid #ccc; padding: 0.2em; width:3.3em;" | '''0'''
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x16
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x20
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''0G X Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x17
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x21
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''0G Y Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x18
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x22
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''0G Z Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x19
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x23
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" colspan="2" | 0
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''0G X Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''0G Y Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''0G Z Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1A
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x24
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''1G X Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1B
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x25
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''1G Y Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1C
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x26
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''1G Z Acceleration'''<span style="color: #777;">&lt;<span style="color: #c00;">9:2</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1D
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x27
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd; color: #888;" colspan="2" | 0
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''1G X Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''1G Y Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="2" | '''1G Z Acc'''<span style="color: #777;">&lt;<span style="color: #c00;">1:0</span>&gt;</span>
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1E
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x28
 +
| style="border: 1px solid #ccc; padding: 0.2em;" | '''Motor'''
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="7" | '''Volume'''
 +
|- style="background-color: #ded;"
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x1F
 +
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #eee;" | 0x29
 +
| style="border: 1px solid #ccc; padding: 0.2em;" colspan="8" | '''Checksum'''
 +
|}
    
At 0x16D0, there is some more unknown data:
 
At 0x16D0, there is some more unknown data:
303

edits

Navigation menu