diff options
| -rw-r--r-- | CHANGELOG.md | 12 | ||||
| -rw-r--r-- | docs/latest/draft-tasd-spec.html | 79 | ||||
| -rw-r--r-- | docs/latest/draft-tasd-spec.txt | 61 | ||||
| -rw-r--r-- | docs/tasd-spec-0001/draft-tasd-spec-0001.html | 79 | ||||
| -rw-r--r-- | docs/tasd-spec-0001/draft-tasd-spec-0001.txt | 61 | ||||
| -rw-r--r-- | src/docs/draft-tasd-spec-0001.xml | 53 |
6 files changed, 211 insertions, 134 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index df256d1..bf7da0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), although currently without version numbers added. +## 2023-10-08 + +### Changed +- GAME_IDENTIFIER packet +- Mention seconds since Unix Epoch for Unix timestamps + +### Added +- NLEN and Name in GAME_IDENTIFIER packet + +### Removed +- CRC-32 and CRC-16 from Type in GAME_IDENTIFIER packet + ## 2023-09-25 diff --git a/docs/latest/draft-tasd-spec.html b/docs/latest/draft-tasd-spec.html index c05495f..97e2188 100644 --- a/docs/latest/draft-tasd-spec.html +++ b/docs/latest/draft-tasd-spec.html @@ -17,6 +17,18 @@ <!-- Generator version information: xml2rfc 3.18.0 Python 3.11.5 + ConfigArgParse 1.4.1 + google-i18n-address 3.1.0 + intervaltree 3.1.0 + Jinja2 3.1.2 + lxml 4.9.3 + platformdirs 3.10.0 + pycountry 22.3.5 + PyYAML 6.0 + requests 2.31.0 + setuptools 68.2.2 + six 1.16.0 + wcwidth 0.2.6 --> <link href="/home/vi/code/git/TASD-Spec/src/docs/draft-tasd-spec-0001.xml" rel="alternate" type="application/rfc+xml"> <link href="#copyright" rel="license"> @@ -1192,7 +1204,7 @@ li > p:last-of-type:only-child { <thead><tr> <td class="left"></td> <td class="center">TASD File Format Specification</td> -<td class="right">September 2023</td> +<td class="right">October 2023</td> </tr></thead> <tfoot><tr> <td class="left">Grey, et al.</td> @@ -1207,7 +1219,7 @@ li > p:last-of-type:only-child { <dd class="workgroup">Independent TAS Console Replay Research Group</dd> <dt class="label-published">Published:</dt> <dd class="published"> -<time datetime="2023-09-25" class="published">25 September 2023</time> +<time datetime="2023-10-08" class="published">8 October 2023</time> </dd> <dt class="label-authors">Authors:</dt> <dd class="authors"> @@ -2605,7 +2617,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.10-3"> <dt id="section-4.3.1.10-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.10-3.2">64-bit Unix timestamp of when the TAS movie was last modified.<a href="#section-4.3.1.10-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.10-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the TAS movie was last modified.<a href="#section-4.3.1.10-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2629,7 +2641,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.11-3"> <dt id="section-4.3.1.11-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.11-3.2">64-bit Unix timestamp of when the <strong>TASD</strong> file was created.<a href="#section-4.3.1.11-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.11-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was created.<a href="#section-4.3.1.11-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2653,7 +2665,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.12-3"> <dt id="section-4.3.1.12-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.12-3.2">64-bit Unix timestamp of when the <strong>TASD</strong> file was last modified.<a href="#section-4.3.1.12-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.12-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was last modified.<a href="#section-4.3.1.12-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2870,29 +2882,26 @@ li > p:last-of-type:only-child { <p id="section-4.3.1.19-1">GAME_IDENTIFIER packets <span class="bcp14">MUST</span> be in the following format:<a href="#section-4.3.1.19-1" class="pilcrow">¶</a></p> <div class="alignLeft art-text artwork" id="section-4.3.1.19-2"> <pre> - 0 1 2... - +----------+----------+================+ - | Type (A) | Base (A) | Identifier (A) | - +----------+----------+================+ + 0 1 2 3... 3+NLEN... + +----------+----------+----------+==========+================+ + | Type (A) | Base (A) | NLEN (N) | Name (S) | Identifier (A) | + +----------+----------+----------+==========+================+ Type (Binary Data): [1 octet] - [01] - CRC-8 Checksum - [02] - CRC-16 Checksum - [03] - CRC-32 Checksum - [04] - MD5 Hash - [05] - SHA1 Hash - [06] - SHA224 Hash - [07] - SHA256 Hash - [08] - SHA384 Hash - [09] - SHA512 Hash - [0A] - SHA512/224 Hash - [0B] - SHA512/256 Hash - [0C] - SHA3-224 Hash - [0D] - SHA3-256 Hash - [0E] - SHA3-384 Hash - [0F] - SHA3-512 Hash - [10] - SHAKE-128 Hash - [11] - SHAKE-256 Hash + [01] - MD5 Hash + [02] - SHA1 Hash + [03] - SHA224 Hash + [04] - SHA256 Hash + [05] - SHA384 Hash + [06] - SHA512 Hash + [07] - SHA512/224 Hash + [08] - SHA512/256 Hash + [09] - SHA3-224 Hash + [0A] - SHA3-256 Hash + [0B] - SHA3-384 Hash + [0C] - SHA3-512 Hash + [0D] - SHAKE-128 Hash + [0E] - SHAKE-256 Hash [FF] - Other Base (Binary Data): [1 octet] [01] - Raw Binary @@ -2900,6 +2909,8 @@ li > p:last-of-type:only-child { [03] - Case Insensitive Base 32 - RFC 4648 [04] - Base 64 - RFC 4648 [FF] - Other + NLEN (Unsigned Integer) [1 octet] + Name (String) [NLEN octets] Identifier (Binary Data) [PLEN - 2 octets] </pre><a href="#section-4.3.1.19-2" class="pilcrow">¶</a> </div> @@ -2912,12 +2923,20 @@ li > p:last-of-type:only-child { <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.4">Describes the data encoding of <strong>Identifier</strong>.<a href="#section-4.3.1.19-3.4" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.1.19-3.5"><strong>Identifier</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.6">Game hash, checksum, or identifier data.<a href="#section-4.3.1.19-3.6" class="pilcrow">¶</a> +<dt id="section-4.3.1.19-3.5"><strong>NLEN</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.6">Length of <strong>Name</strong><a href="#section-4.3.1.19-3.6" class="pilcrow">¶</a> +</dd> + <dd class="break"></dd> +<dt id="section-4.3.1.19-3.7"><strong>Name</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.8">Name of <strong>Type</strong> meant if the hash, checksum, or identifier algorithm <strong>Identifier</strong> is using is not included in <strong>Type</strong>. If <strong>Type</strong> is <code>[FF]</code>, <strong>Name</strong> <span class="bcp14">SHOULD NOT</span> be empty (0 octet length string).<a href="#section-4.3.1.19-3.8" class="pilcrow">¶</a> +</dd> + <dd class="break"></dd> +<dt id="section-4.3.1.19-3.9"><strong>Identifier</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.10">Game hash, checksum, or identifier data.<a href="#section-4.3.1.19-3.10" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.1.19-3.7"><strong>PLEN</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.8">Length of the packet payload<a href="#section-4.3.1.19-3.8" class="pilcrow">¶</a> +<dt id="section-4.3.1.19-3.11"><strong>PLEN</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.12">Length of the packet payload<a href="#section-4.3.1.19-3.12" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> diff --git a/docs/latest/draft-tasd-spec.txt b/docs/latest/draft-tasd-spec.txt index 96d9f43..4ce0604 100644 --- a/docs/latest/draft-tasd-spec.txt +++ b/docs/latest/draft-tasd-spec.txt @@ -7,7 +7,7 @@ Independent TAS Console Replay Research Group V. Grey Bigbass rasteri - 25 September 2023 + 8 October 2023 TASD File Format Specification Version 1 @@ -896,7 +896,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the TAS movie was last modified. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the TAS + movie was last modified. 4.3.1.11. DUMP_CREATED Packet @@ -910,7 +911,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the *TASD* file was created. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the + *TASD* file was created. 4.3.1.12. DUMP_LAST_MODIFIED Packet @@ -924,7 +926,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the *TASD* file was last modified. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the + *TASD* file was last modified. 4.3.1.13. TOTAL_FRAMES Packet @@ -1079,29 +1082,26 @@ Table of Contents GAME_IDENTIFIER packets MUST be in the following format: - 0 1 2... - +----------+----------+================+ - | Type (A) | Base (A) | Identifier (A) | - +----------+----------+================+ + 0 1 2 3... 3+NLEN... + +----------+----------+----------+==========+================+ + | Type (A) | Base (A) | NLEN (N) | Name (S) | Identifier (A) | + +----------+----------+----------+==========+================+ Type (Binary Data): [1 octet] - [01] - CRC-8 Checksum - [02] - CRC-16 Checksum - [03] - CRC-32 Checksum - [04] - MD5 Hash - [05] - SHA1 Hash - [06] - SHA224 Hash - [07] - SHA256 Hash - [08] - SHA384 Hash - [09] - SHA512 Hash - [0A] - SHA512/224 Hash - [0B] - SHA512/256 Hash - [0C] - SHA3-224 Hash - [0D] - SHA3-256 Hash - [0E] - SHA3-384 Hash - [0F] - SHA3-512 Hash - [10] - SHAKE-128 Hash - [11] - SHAKE-256 Hash + [01] - MD5 Hash + [02] - SHA1 Hash + [03] - SHA224 Hash + [04] - SHA256 Hash + [05] - SHA384 Hash + [06] - SHA512 Hash + [07] - SHA512/224 Hash + [08] - SHA512/256 Hash + [09] - SHA3-224 Hash + [0A] - SHA3-256 Hash + [0B] - SHA3-384 Hash + [0C] - SHA3-512 Hash + [0D] - SHAKE-128 Hash + [0E] - SHAKE-256 Hash [FF] - Other Base (Binary Data): [1 octet] [01] - Raw Binary @@ -1109,6 +1109,8 @@ Table of Contents [03] - Case Insensitive Base 32 - RFC 4648 [04] - Base 64 - RFC 4648 [FF] - Other + NLEN (Unsigned Integer) [1 octet] + Name (String) [NLEN octets] Identifier (Binary Data) [PLEN - 2 octets] *Type* @@ -1117,6 +1119,15 @@ Table of Contents *Base* Describes the data encoding of *Identifier*. + *NLEN* + Length of *Name* + + *Name* + Name of *Type* meant if the hash, checksum, or identifier + algorithm *Identifier* is using is not included in *Type*. If + *Type* is [FF], *Name* SHOULD NOT be empty (0 octet length + string). + *Identifier* Game hash, checksum, or identifier data. diff --git a/docs/tasd-spec-0001/draft-tasd-spec-0001.html b/docs/tasd-spec-0001/draft-tasd-spec-0001.html index c05495f..97e2188 100644 --- a/docs/tasd-spec-0001/draft-tasd-spec-0001.html +++ b/docs/tasd-spec-0001/draft-tasd-spec-0001.html @@ -17,6 +17,18 @@ <!-- Generator version information: xml2rfc 3.18.0 Python 3.11.5 + ConfigArgParse 1.4.1 + google-i18n-address 3.1.0 + intervaltree 3.1.0 + Jinja2 3.1.2 + lxml 4.9.3 + platformdirs 3.10.0 + pycountry 22.3.5 + PyYAML 6.0 + requests 2.31.0 + setuptools 68.2.2 + six 1.16.0 + wcwidth 0.2.6 --> <link href="/home/vi/code/git/TASD-Spec/src/docs/draft-tasd-spec-0001.xml" rel="alternate" type="application/rfc+xml"> <link href="#copyright" rel="license"> @@ -1192,7 +1204,7 @@ li > p:last-of-type:only-child { <thead><tr> <td class="left"></td> <td class="center">TASD File Format Specification</td> -<td class="right">September 2023</td> +<td class="right">October 2023</td> </tr></thead> <tfoot><tr> <td class="left">Grey, et al.</td> @@ -1207,7 +1219,7 @@ li > p:last-of-type:only-child { <dd class="workgroup">Independent TAS Console Replay Research Group</dd> <dt class="label-published">Published:</dt> <dd class="published"> -<time datetime="2023-09-25" class="published">25 September 2023</time> +<time datetime="2023-10-08" class="published">8 October 2023</time> </dd> <dt class="label-authors">Authors:</dt> <dd class="authors"> @@ -2605,7 +2617,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.10-3"> <dt id="section-4.3.1.10-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.10-3.2">64-bit Unix timestamp of when the TAS movie was last modified.<a href="#section-4.3.1.10-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.10-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the TAS movie was last modified.<a href="#section-4.3.1.10-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2629,7 +2641,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.11-3"> <dt id="section-4.3.1.11-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.11-3.2">64-bit Unix timestamp of when the <strong>TASD</strong> file was created.<a href="#section-4.3.1.11-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.11-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was created.<a href="#section-4.3.1.11-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2653,7 +2665,7 @@ li > p:last-of-type:only-child { </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.1.12-3"> <dt id="section-4.3.1.12-3.1"><strong>Unix Timestamp</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.12-3.2">64-bit Unix timestamp of when the <strong>TASD</strong> file was last modified.<a href="#section-4.3.1.12-3.2" class="pilcrow">¶</a> + <dd style="margin-left: 1.5em" id="section-4.3.1.12-3.2">64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was last modified.<a href="#section-4.3.1.12-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> @@ -2870,29 +2882,26 @@ li > p:last-of-type:only-child { <p id="section-4.3.1.19-1">GAME_IDENTIFIER packets <span class="bcp14">MUST</span> be in the following format:<a href="#section-4.3.1.19-1" class="pilcrow">¶</a></p> <div class="alignLeft art-text artwork" id="section-4.3.1.19-2"> <pre> - 0 1 2... - +----------+----------+================+ - | Type (A) | Base (A) | Identifier (A) | - +----------+----------+================+ + 0 1 2 3... 3+NLEN... + +----------+----------+----------+==========+================+ + | Type (A) | Base (A) | NLEN (N) | Name (S) | Identifier (A) | + +----------+----------+----------+==========+================+ Type (Binary Data): [1 octet] - [01] - CRC-8 Checksum - [02] - CRC-16 Checksum - [03] - CRC-32 Checksum - [04] - MD5 Hash - [05] - SHA1 Hash - [06] - SHA224 Hash - [07] - SHA256 Hash - [08] - SHA384 Hash - [09] - SHA512 Hash - [0A] - SHA512/224 Hash - [0B] - SHA512/256 Hash - [0C] - SHA3-224 Hash - [0D] - SHA3-256 Hash - [0E] - SHA3-384 Hash - [0F] - SHA3-512 Hash - [10] - SHAKE-128 Hash - [11] - SHAKE-256 Hash + [01] - MD5 Hash + [02] - SHA1 Hash + [03] - SHA224 Hash + [04] - SHA256 Hash + [05] - SHA384 Hash + [06] - SHA512 Hash + [07] - SHA512/224 Hash + [08] - SHA512/256 Hash + [09] - SHA3-224 Hash + [0A] - SHA3-256 Hash + [0B] - SHA3-384 Hash + [0C] - SHA3-512 Hash + [0D] - SHAKE-128 Hash + [0E] - SHAKE-256 Hash [FF] - Other Base (Binary Data): [1 octet] [01] - Raw Binary @@ -2900,6 +2909,8 @@ li > p:last-of-type:only-child { [03] - Case Insensitive Base 32 - RFC 4648 [04] - Base 64 - RFC 4648 [FF] - Other + NLEN (Unsigned Integer) [1 octet] + Name (String) [NLEN octets] Identifier (Binary Data) [PLEN - 2 octets] </pre><a href="#section-4.3.1.19-2" class="pilcrow">¶</a> </div> @@ -2912,12 +2923,20 @@ li > p:last-of-type:only-child { <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.4">Describes the data encoding of <strong>Identifier</strong>.<a href="#section-4.3.1.19-3.4" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.1.19-3.5"><strong>Identifier</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.6">Game hash, checksum, or identifier data.<a href="#section-4.3.1.19-3.6" class="pilcrow">¶</a> +<dt id="section-4.3.1.19-3.5"><strong>NLEN</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.6">Length of <strong>Name</strong><a href="#section-4.3.1.19-3.6" class="pilcrow">¶</a> +</dd> + <dd class="break"></dd> +<dt id="section-4.3.1.19-3.7"><strong>Name</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.8">Name of <strong>Type</strong> meant if the hash, checksum, or identifier algorithm <strong>Identifier</strong> is using is not included in <strong>Type</strong>. If <strong>Type</strong> is <code>[FF]</code>, <strong>Name</strong> <span class="bcp14">SHOULD NOT</span> be empty (0 octet length string).<a href="#section-4.3.1.19-3.8" class="pilcrow">¶</a> +</dd> + <dd class="break"></dd> +<dt id="section-4.3.1.19-3.9"><strong>Identifier</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.10">Game hash, checksum, or identifier data.<a href="#section-4.3.1.19-3.10" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.1.19-3.7"><strong>PLEN</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.8">Length of the packet payload<a href="#section-4.3.1.19-3.8" class="pilcrow">¶</a> +<dt id="section-4.3.1.19-3.11"><strong>PLEN</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.1.19-3.12">Length of the packet payload<a href="#section-4.3.1.19-3.12" class="pilcrow">¶</a> </dd> <dd class="break"></dd> </dl> diff --git a/docs/tasd-spec-0001/draft-tasd-spec-0001.txt b/docs/tasd-spec-0001/draft-tasd-spec-0001.txt index 96d9f43..4ce0604 100644 --- a/docs/tasd-spec-0001/draft-tasd-spec-0001.txt +++ b/docs/tasd-spec-0001/draft-tasd-spec-0001.txt @@ -7,7 +7,7 @@ Independent TAS Console Replay Research Group V. Grey Bigbass rasteri - 25 September 2023 + 8 October 2023 TASD File Format Specification Version 1 @@ -896,7 +896,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the TAS movie was last modified. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the TAS + movie was last modified. 4.3.1.11. DUMP_CREATED Packet @@ -910,7 +911,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the *TASD* file was created. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the + *TASD* file was created. 4.3.1.12. DUMP_LAST_MODIFIED Packet @@ -924,7 +926,8 @@ Table of Contents Unix Timestamp (Signed Integer) [8 octets] *Unix Timestamp* - 64-bit Unix timestamp of when the *TASD* file was last modified. + 64-bit Unix timestamp (seconds since Unix Epoch) of when the + *TASD* file was last modified. 4.3.1.13. TOTAL_FRAMES Packet @@ -1079,29 +1082,26 @@ Table of Contents GAME_IDENTIFIER packets MUST be in the following format: - 0 1 2... - +----------+----------+================+ - | Type (A) | Base (A) | Identifier (A) | - +----------+----------+================+ + 0 1 2 3... 3+NLEN... + +----------+----------+----------+==========+================+ + | Type (A) | Base (A) | NLEN (N) | Name (S) | Identifier (A) | + +----------+----------+----------+==========+================+ Type (Binary Data): [1 octet] - [01] - CRC-8 Checksum - [02] - CRC-16 Checksum - [03] - CRC-32 Checksum - [04] - MD5 Hash - [05] - SHA1 Hash - [06] - SHA224 Hash - [07] - SHA256 Hash - [08] - SHA384 Hash - [09] - SHA512 Hash - [0A] - SHA512/224 Hash - [0B] - SHA512/256 Hash - [0C] - SHA3-224 Hash - [0D] - SHA3-256 Hash - [0E] - SHA3-384 Hash - [0F] - SHA3-512 Hash - [10] - SHAKE-128 Hash - [11] - SHAKE-256 Hash + [01] - MD5 Hash + [02] - SHA1 Hash + [03] - SHA224 Hash + [04] - SHA256 Hash + [05] - SHA384 Hash + [06] - SHA512 Hash + [07] - SHA512/224 Hash + [08] - SHA512/256 Hash + [09] - SHA3-224 Hash + [0A] - SHA3-256 Hash + [0B] - SHA3-384 Hash + [0C] - SHA3-512 Hash + [0D] - SHAKE-128 Hash + [0E] - SHAKE-256 Hash [FF] - Other Base (Binary Data): [1 octet] [01] - Raw Binary @@ -1109,6 +1109,8 @@ Table of Contents [03] - Case Insensitive Base 32 - RFC 4648 [04] - Base 64 - RFC 4648 [FF] - Other + NLEN (Unsigned Integer) [1 octet] + Name (String) [NLEN octets] Identifier (Binary Data) [PLEN - 2 octets] *Type* @@ -1117,6 +1119,15 @@ Table of Contents *Base* Describes the data encoding of *Identifier*. + *NLEN* + Length of *Name* + + *Name* + Name of *Type* meant if the hash, checksum, or identifier + algorithm *Identifier* is using is not included in *Type*. If + *Type* is [FF], *Name* SHOULD NOT be empty (0 octet length + string). + *Identifier* Game hash, checksum, or identifier data. diff --git a/src/docs/draft-tasd-spec-0001.xml b/src/docs/draft-tasd-spec-0001.xml index 30ab2b6..6a1f4aa 100644 --- a/src/docs/draft-tasd-spec-0001.xml +++ b/src/docs/draft-tasd-spec-0001.xml @@ -605,7 +605,7 @@ </artwork> <dl newline="true"> <dt><strong>Unix Timestamp</strong></dt> - <dd>64-bit Unix timestamp of when the TAS movie was last modified.</dd> + <dd>64-bit Unix timestamp (seconds since Unix Epoch) of when the TAS movie was last modified.</dd> </dl> </section> <section numbered="true" toc="default" anchor="dump_created"> @@ -621,7 +621,7 @@ </artwork> <dl newline="true"> <dt><strong>Unix Timestamp</strong></dt> - <dd>64-bit Unix timestamp of when the <strong>TASD</strong> file was created.</dd> + <dd>64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was created.</dd> </dl> </section> <section numbered="true" toc="default" anchor="dump_last_modified"> @@ -637,7 +637,7 @@ </artwork> <dl newline="true"> <dt><strong>Unix Timestamp</strong></dt> - <dd>64-bit Unix timestamp of when the <strong>TASD</strong> file was last modified.</dd> + <dd>64-bit Unix timestamp (seconds since Unix Epoch) of when the <strong>TASD</strong> file was last modified.</dd> </dl> </section> <section numbered="true" toc="default" anchor="total_frames"> @@ -785,29 +785,26 @@ <name>GAME_IDENTIFIER Packet</name> <t>GAME_IDENTIFIER packets <bcp14>MUST</bcp14> be in the following format:</t> <artwork><![CDATA[ - 0 1 2... - +----------+----------+================+ - | Type (A) | Base (A) | Identifier (A) | - +----------+----------+================+ + 0 1 2 3... 3+NLEN... + +----------+----------+----------+==========+================+ + | Type (A) | Base (A) | NLEN (N) | Name (S) | Identifier (A) | + +----------+----------+----------+==========+================+ Type (Binary Data): [1 octet] - [01] - CRC-8 Checksum - [02] - CRC-16 Checksum - [03] - CRC-32 Checksum - [04] - MD5 Hash - [05] - SHA1 Hash - [06] - SHA224 Hash - [07] - SHA256 Hash - [08] - SHA384 Hash - [09] - SHA512 Hash - [0A] - SHA512/224 Hash - [0B] - SHA512/256 Hash - [0C] - SHA3-224 Hash - [0D] - SHA3-256 Hash - [0E] - SHA3-384 Hash - [0F] - SHA3-512 Hash - [10] - SHAKE-128 Hash - [11] - SHAKE-256 Hash + [01] - MD5 Hash + [02] - SHA1 Hash + [03] - SHA224 Hash + [04] - SHA256 Hash + [05] - SHA384 Hash + [06] - SHA512 Hash + [07] - SHA512/224 Hash + [08] - SHA512/256 Hash + [09] - SHA3-224 Hash + [0A] - SHA3-256 Hash + [0B] - SHA3-384 Hash + [0C] - SHA3-512 Hash + [0D] - SHAKE-128 Hash + [0E] - SHAKE-256 Hash [FF] - Other Base (Binary Data): [1 octet] [01] - Raw Binary @@ -815,6 +812,8 @@ [03] - Case Insensitive Base 32 - RFC 4648 [04] - Base 64 - RFC 4648 [FF] - Other + NLEN (Unsigned Integer) [1 octet] + Name (String) [NLEN octets] Identifier (Binary Data) [PLEN - 2 octets]]]> </artwork> <dl newline="true"> @@ -822,6 +821,10 @@ <dd>Hash, checksum, or identifier algorithm <strong>Identifier</strong> is using.</dd> <dt><strong>Base</strong></dt> <dd>Describes the data encoding of <strong>Identifier</strong>.</dd> + <dt><strong>NLEN</strong></dt> + <dd>Length of <strong>Name</strong></dd> + <dt><strong>Name</strong></dt> + <dd>Name of <strong>Type</strong> meant if the hash, checksum, or identifier algorithm <strong>Identifier</strong> is using is not included in <strong>Type</strong>. If <strong>Type</strong> is <tt>[FF]</tt>, <strong>Name</strong> <bcp14>SHOULD NOT</bcp14> be empty (0 octet length string).</dd> <dt><strong>Identifier</strong></dt> <dd>Game hash, checksum, or identifier data.</dd> <dt><strong>PLEN</strong></dt> @@ -1919,6 +1922,8 @@ </section> <!-- Change Log +draft 12 - 2023-10-08 VG Modify GAME_IDENTIFIER packet, removing CRC-32 and CRC-16 from Type and adding NLEN and Name. Mention seconds since Unix Epoch for Unix timestamps. + draft 11 - 2023-09-24 VG Made OVERREAD packets generic and added Port to it, now is PORT_OVERREAD. Fixed packet drawing error in EXPERIMENTAL. Added SNES_LATCH_FILTER. Added Port to TRANSITION packet. Specify meaning of INPUT_CHUNK offset for Index value of TRANSITION packet. draft 10 - 2023-09-18 VG Specify that PEXP MUST be greater than 0 |
