Line 45: |
Line 45: |
| The first field, which is identified by tag <code>0x1100</code>, is 80 bytes long. The meanings of its contents are not known, but the first byte Seems to always have a value of 1. The remaining bytes always seem to have values of zero, unless the photo used a sepia filter, in which case bytes <code>0x8</code>-<code>0x1a</code> (inclusive) are set. This field can be excluded from the maker note without invalidating the 3DS Camera maker note. | | The first field, which is identified by tag <code>0x1100</code>, is 80 bytes long. The meanings of its contents are not known, but the first byte Seems to always have a value of 1. The remaining bytes always seem to have values of zero, unless the photo used a sepia filter, in which case bytes <code>0x8</code>-<code>0x1a</code> (inclusive) are set. This field can be excluded from the maker note without invalidating the 3DS Camera maker note. |
| | | |
− | The second field uses tag <code>0x1101</code>. It is 64 bytes long, although its length can be reduced to as few as 20 bytes without issue. The first four bytes must spell "3DS1" in ASCII (with no null terminator). | + | The second field uses tag <code>0x1101</code>. It is 64 bytes long, although its length can be reduced to as few as 21 bytes without issue. |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 59: |
Line 59: |
| |- | | |- |
| | 0x4 | | | 0x4 |
− | | 0x1, 0x2, 0x3, or 0x4 | + | | 0x4 |
| | unknown | | | unknown |
| | Possibly a version number. Seems to always be 1 or 2. | | | Possibly a version number. Seems to always be 1 or 2. |
Line 69: |
Line 69: |
| |- | | |- |
| | 0xc | | | 0xc |
− | | 0x8 | + | | 0x4 |
| + | | unknown |
| + | | Unknown. Seems to always be 0. |
| + | |- |
| + | | 0x10 |
| + | | 0x4 |
| | unknown | | | unknown |
− | | Unknown. | + | | Unknown. Seems to always be 516. |
| |- | | |- |
| | 0x14 | | | 0x14 |
Line 78: |
Line 83: |
| | Unknown. Seems to always be 20, but any non-zero value seems acceptable. Required. | | | Unknown. Seems to always be 20, but any non-zero value seems acceptable. Required. |
| |- | | |- |
− | | 0x18 | + | | 0x15 |
| | 0x3 | | | 0x3 |
| | unknown | | | unknown |
| | Unknown. Seems to always be 0. | | | Unknown. Seems to always be 0. |
| |- | | |- |
− | | 0x1c | + | | 0x18 |
| | 0x4 | | | 0x4 |
| | u32 | | | u32 |
| | System format timestamp | | | System format timestamp |
| |- | | |- |
− | | 0x20 | + | | 0x1c |
| | 0xc | | | 0xc |
| | unknown | | | unknown |
| | Unknown. Seems to always be 0. | | | Unknown. Seems to always be 0. |
| |- | | |- |
− | | 0x2c | + | | 0x28 |
| | 0x4 | | | 0x4 |
| | f32 | | | f32 |
| | Left translation | | | Left translation |
| |- | | |- |
− | | 0x30 | + | | 0x2c |
| | 0x4 | | | 0x4 |
| | unknown | | | unknown |
| | Unknown. Seems to always be 0. | | | Unknown. Seems to always be 0. |
| |- | | |- |
− | | 0x34 | + | | 0x30 |
| | 0x4 | | | 0x4 |
| | u32 | | | u32 |
| | Photo filter(s) | | | Photo filter(s) |
| |- | | |- |
− | | 0x38 | + | | 0x34 |
| | 0xc | | | 0xc |
| | unknown | | | unknown |
Line 114: |
Line 119: |
| |} | | |} |
| | | |
− | The photo timestamp is represented by the number of seconds that had passed since the beginning of the year 2000 in the photographer's time zone. | + | The photo timestamp is represented by the number of seconds that had passed since the beginning of the year 2000 in the photographer's 3DS's time zone. |
| | | |
| The system format timestamp is a UTC timestamp, in milliseconds, of when the photographer's 3DS system had last been formatted. Despite this value's potential usefulness for preventing previously-formatted photos from being viewed, it does not seem to be used. | | The system format timestamp is a UTC timestamp, in milliseconds, of when the photographer's 3DS system had last been formatted. Despite this value's potential usefulness for preventing previously-formatted photos from being viewed, it does not seem to be used. |