From 9e2ccdaa0197899e5b598c2d67beacf2bd41ddfa Mon Sep 17 00:00:00 2001 From: Vi Grey Date: Sun, 8 Oct 2023 19:26:17 +0000 Subject: Modify GAME_IDENTIFIER packet. Clarify timestamps 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 --- docs/latest/draft-tasd-spec.html | 79 +++++++++++++++++---------- docs/latest/draft-tasd-spec.txt | 61 ++++++++++++--------- docs/tasd-spec-0001/draft-tasd-spec-0001.html | 79 +++++++++++++++++---------- docs/tasd-spec-0001/draft-tasd-spec-0001.txt | 61 ++++++++++++--------- 4 files changed, 170 insertions(+), 110 deletions(-) (limited to 'docs') 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 @@ @@ -1192,7 +1204,7 @@ li > p:last-of-type:only-child { TASD File Format Specification -September 2023 +October 2023 Grey, et al. @@ -1207,7 +1219,7 @@ li > p:last-of-type:only-child {
Independent TAS Console Replay Research Group
Published:
- +
Authors:
@@ -2605,7 +2617,7 @@ li > p:last-of-type:only-child {
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.
@@ -2629,7 +2641,7 @@ li > p:last-of-type:only-child {
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.
@@ -2653,7 +2665,7 @@ li > p:last-of-type:only-child {
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.
@@ -2870,29 +2882,26 @@ li > p:last-of-type:only-child {

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
@@ -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]
 
@@ -2912,12 +2923,20 @@ li > p:last-of-type:only-child {
Describes the data encoding of Identifier.
-
Identifier
-
Game hash, checksum, or identifier data. +
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.
-
PLEN
-
Length of the packet payload +
PLEN
+
Length of the packet payload
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 @@ @@ -1192,7 +1204,7 @@ li > p:last-of-type:only-child { TASD File Format Specification -September 2023 +October 2023 Grey, et al. @@ -1207,7 +1219,7 @@ li > p:last-of-type:only-child {
Independent TAS Console Replay Research Group
Published:
- +
Authors:
@@ -2605,7 +2617,7 @@ li > p:last-of-type:only-child {
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.
@@ -2629,7 +2641,7 @@ li > p:last-of-type:only-child {
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.
@@ -2653,7 +2665,7 @@ li > p:last-of-type:only-child {
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.
@@ -2870,29 +2882,26 @@ li > p:last-of-type:only-child {

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
@@ -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]
 
@@ -2912,12 +2923,20 @@ li > p:last-of-type:only-child {
Describes the data encoding of Identifier.
-
Identifier
-
Game hash, checksum, or identifier data. +
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.
-
PLEN
-
Length of the packet payload +
PLEN
+
Length of the packet payload
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. -- cgit v1.2.3