From 1f73bd13fcd3e0c4c69e0d16934a8b3f769caffc Mon Sep 17 00:00:00 2001 From: Vi Grey Date: Mon, 3 Jul 2023 18:11:57 -0500 Subject: Add SNES_LATCH_TRAIN and remove PDF outputs --- src/docs/draft-tasd-spec-0001.xml | 50 +++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/docs/draft-tasd-spec-0001.xml b/src/docs/draft-tasd-spec-0001.xml index 102a028..4f15d29 100644 --- a/src/docs/draft-tasd-spec-0001.xml +++ b/src/docs/draft-tasd-spec-0001.xml @@ -1,6 +1,4 @@ - - https://github.com/bigbass1997 - + General Independent TAS Console Replay Research Group @@ -47,7 +45,6 @@
Overview and Preliminaries The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 when, and only when, they appear in all capitals, as shown here. -
Notation and Vocabulary Data Types: @@ -57,6 +54,7 @@
  • (I) = Signed Integer
  • (N) = Unsigned Integer
  • (B) = Boolean
  • +
  • ([]N) = List of Unsigned Integers
  • We use the terms byte and octet interchangeably in this document. Unless specified otherwise, all multi-octet integers are big-endian. @@ -132,7 +130,6 @@
    -
    Motivations This file format's primary goal is to provide a comprehensive and replay device agnostic TAS movie controller input dump format that is usable for any console. Additional goals include: @@ -153,7 +150,6 @@
    Header TASD files MUST include a header, which MUST be in the following format: - Global length of Key values of packets. G_KEYLEN currently MUST be a value of 2.
    +
    Packets Packets MUST be in the following format: @@ -243,7 +240,7 @@
    [02 02]
    SNES_CLOCK_FILTER
    [02 03]
    SNES_OVERREAD
    [02 04]
    SNES_GAME_GENIE_CODE
    -
    [02 05]
    SNES_LATCH_TRAIN (RESERVED)
    +
    [02 05]
    SNES_LATCH_TRAIN
    @@ -339,13 +336,13 @@ SNES Specific Key Descriptions
    [02 02] - SNES_CLOCK_FILTER
    -
    Specifies a clock filter time in tenths of a microsecond (0.1 microseconds or 100 nanoseconds) for long how to wait after a clock pulse before new clock pulses SHOULD be accepted by the replay device. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type in direct form. Discussed in ().
    -
    [02 03] - SNES_OVERREAD
    -
    Specifies whether a high or low signal SHOULD be sent to the SNES console if the console clocks the replay device for more input buttons than are expected for the latch. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type in direct form. Discussed in ().
    -
    [02 04] - SNES_GAME_GENIE_CODE
    +
    Specifies a clock filter time in tenths of a microsecond (0.1 microseconds or 100 nanoseconds) for how long to wait after a clock pulse until new clock pulses SHOULD be accepted by the replay device. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type in direct form. Discussed in ().
    +
    [01 03] - SNES_OVERREAD
    +
    Specifies whether a high or low signal SHOULD be sent to the SNES console if the console clocks the replay device for more input buttons than are expected for the latch. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type in direct form. Discussed in ().
    +
    [01 04] - SNES_GAME_GENIE_CODE
    Specifies a Game Genie code for the TAS. This packet type is OPTIONAL and a TASD file MAY contain more than 1 of this packet type. Discussed in ().
    -
    [02 05] - SNES_LATCH_TRAIN (RESERVED)
    -
    This packet type is not yet designed and is intended to be described in the future. Discussed in ().
    +
    [01 04] - SNES_LATCH_TRAIN
    +
    Specifies Latch Trains for TAS. This packet type is OPTIONAL and a TASD file MAY contain more than 1 of this packet type. Discussed in ().
    @@ -708,7 +705,7 @@ +---------------+------+------+--------------+ | Data Type (A) | Device (A) | Required (B) | ... +---------------+------+------+--------------+ - 4 5... 6... + 4 5... 5+NLEN... +----------+==========+==========+ | NLEN (N) | Name (S) | Data (A) | +----------+==========+==========+ @@ -740,7 +737,7 @@ NLEN (Unsigned Integer) [1 octet] Name (String) [NLEN octets] Data (Binary Data) [PLEN - NLEN - - 4 octets]]]> + 5 octets]]]>
    Data Type
    @@ -834,7 +831,7 @@ +----------+==========+=============+ NLEN (Unsigned Integer) [1 octet] - Name (String) [NLEN + 1 octets] + Name (String) [NLEN octets] Data (Binary Data) [PLEN - NLEN - 1 octets]]]> @@ -1019,8 +1016,23 @@
    - SNES_LATCH_TRAIN Packet (RESERVED) - This packet type is not yet designed and is intended to be described in the future. + SNES_LATCH_TRAIN Packet + SNES_LATCH_TRAIN packets MUST be in the following format: + + +
    +
    Latch Train Points
    +
    List of 64-bit unsigned integers of the Latch Train points. MUST be a multiple of 8 octets in size
    +
    PLEN
    +
    Length of the packet payload.
    +
    + A single SNES_LATCH_TRAIN packet MAY contain up to every Latch Train point of a SNES TAS movie console replay and MAY contain fewer than every Latch Train point of a SNES TAS movie console replay. There MAY be more than 1 SNES_LATCH_TRAIN packet.
    @@ -1817,6 +1829,8 @@