Line 4:
Line 4:
The Wii beacons are similar to the usual multi-cart NDS beacons, except: beacon_type is zero, and payload size is 0x14. The payload data is just the Wii UCS-2 nickname, with some extra unused zero data. The usual multi-cast NDS protocol is used for sending the 3DS nick to the Wii. After many keep-alive frames, it eventually sends a bunch of frames, each containing the whole Mii. There's a 6-byte header, followed by [http://wiibrew.org/wiki/Wiimote/Mii_Data Mii data]. At the end of these frames like most NDS frames is the 0200 byte marker.
The Wii beacons are similar to the usual multi-cart NDS beacons, except: beacon_type is zero, and payload size is 0x14. The payload data is just the Wii UCS-2 nickname, with some extra unused zero data. The usual multi-cast NDS protocol is used for sending the 3DS nick to the Wii. After many keep-alive frames, it eventually sends a bunch of frames, each containing the whole Mii. There's a 6-byte header, followed by [http://wiibrew.org/wiki/Wiimote/Mii_Data Mii data]. At the end of these frames like most NDS frames is the 0200 byte marker.
+
+
== Mii QR Code format ==
+
+
3DS Mii QR is a standard 57x57 pixel Level 10 High ECC QR code with 'Mii' logo in center (refer to [http://www.denso-wave.com/qrcode Denso-Wave Inc] web site for QR Code format specifications). It contain 112 byte of binary data. 3DS seems to have fully implemented QR-code decoder, as it can interpret such Mii binary data being encoded even in the smallest possible for that data size Level 6 Low ECC QR code. The data itself is ciphered, algorithm is unknown yet.
+
+
{| class="wikitable"
+
|-
+
! Offset
+
! Length
+
!
+
|-
+
| 0x0
+
| 0x4
+
| unknown (MiiID ?)
+
|-
+
| 0x4
+
| 0x4
+
| High 4 octets of MAC address in clear text
+
|-
+
| 0x8
+
| 0x10
+
| unknown
+
|-
+
| 0x18
+
| 0x1
+
| Bit-mapped Sex, Birthday, ??
+
|-
+
| 0x19
+
| 0x14
+
| UTF-16 Mii Name
+
|-
+
| 0x2D
+
| 0x2A
+
| unknown
+
|-
+
| 0x47
+
| 0x14
+
| UTF-16 Author Name
+
|-
+
| 0x5B
+
| 0x15
+
| unknown
+
|}