From b65c44c4a8e86a4af2f2d96c26a1fe16753637ba Mon Sep 17 00:00:00 2001 From: Vi Grey Date: Sun, 24 Sep 2023 18:52:21 +0000 Subject: Add 2 new packets. Remove 2 packets. Changed - Specify INPUT_CHUNK offset for Index Value of TRANSITION packet Fixed - EXPERIMENTAL packet drawing error and packet value length Added - PORT_LATCH_FILTER - Port value to TRANSITION packet Removed - SNES_LATCH_FILTER and NES_LATCH_FILTER --- docs/tasd-spec-0001/draft-tasd-spec-0001.html | 216 +++++++++++++------------- 1 file changed, 111 insertions(+), 105 deletions(-) (limited to 'docs/tasd-spec-0001/draft-tasd-spec-0001.html') diff --git a/docs/tasd-spec-0001/draft-tasd-spec-0001.html b/docs/tasd-spec-0001/draft-tasd-spec-0001.html index 5a35421..7fec116 100644 --- a/docs/tasd-spec-0001/draft-tasd-spec-0001.html +++ b/docs/tasd-spec-0001/draft-tasd-spec-0001.html @@ -1207,7 +1207,7 @@ li > p:last-of-type:only-child {
Independent TAS Console Replay Research Group
Published:
- +
Authors:
@@ -1382,6 +1382,9 @@ li > p:last-of-type:only-child {
  • 4.3.1.22. PORT_CONTROLLER Packet

    +
  • +
  • +

    4.3.1.23. PORT_OVERREAD Packet

  • @@ -1395,10 +1398,7 @@ li > p:last-of-type:only-child {

    4.3.2.2.  NES_CLOCK_FILTER Packet

  • -

    4.3.2.3.  NES_OVERREAD Packet

    -
  • -
  • -

    4.3.2.4.  NES_GAME_GENIE_CODE Packet

    +

    4.3.2.3.  NES_GAME_GENIE_CODE Packet

  • @@ -1406,10 +1406,10 @@ li > p:last-of-type:only-child {

    4.3.3.  SNES Specific Key Payload Formats

    -[01 03] - NES_OVERREAD
    -
    Specifies whether a high or low signal SHOULD be sent to the NES 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 (Section 4.3.2.3). -
    -
    -
    [01 04] - NES_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 (Section 4.3.2.4). +
    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 (Section 4.3.2.3).
    @@ -2214,13 +2210,13 @@ li > p:last-of-type:only-child {
    -[02 02] - SNES_CLOCK_FILTER
    -
    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 (Section 4.3.3.1). +[01 01] - SNES_LATCH_FILTER +
    Specifies a latch filter time in microseconds for how long how long to wait after a latch signal until new latch signals 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 (Section 4.3.3.1).
    -[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 (Section 4.3.3.2). +[02 02] - SNES_CLOCK_FILTER +
    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 (Section 4.3.3.2).
    @@ -2875,7 +2871,7 @@ li > p:last-of-type:only-child { | Type (A) | Base (A) | Identifier (A) | +----------+----------+================+ - Type (Binary Data): [1 octet] + Type (Binary Data): [1 octet] [01] - CRC-8 Checksum [02] - CRC-16 Checksum [03] - CRC-32 Checksum @@ -3047,6 +3043,35 @@ li > p:last-of-type:only-child {
    +
    +
    +
    +4.3.1.23. PORT_OVERREAD Packet +
    +

    PORT_OVERREAD packets MUST be in the following format:

    +
    +
    +          0          1
    +      +----------+----------+
    +      | Port (N) | High (B) |
    +      +----------+----------+
    +
    +      Port (N)                                [1 octet]
    +      High (Boolean)                          [1 octet]
    +
    +
    +
    +
    Port
    +
    Controller port number (Port number MUST be 1-indexed). +
    +
    +
    High
    +
    Boolean value that is TRUE if overread bits are set to high and FALSE if overread bits are set to low. +
    +
    +
    +
    +

    @@ -3100,37 +3125,13 @@ li > p:last-of-type:only-child {

    -
    -
    -
    -4.3.2.3. NES_OVERREAD Packet -
    -

    NES_OVERREAD packets MUST be in the following format:

    -
    -
    -           0
    -      +----------+
    -      | High (B) |
    -      +----------+
    -
    -      High (Boolean)                          [1 octet]
    -
    -
    -
    -
    High
    -
    Boolean value that is TRUE if overread bits are set to high and FALSE if overread bits are set to low. -
    -
    -
    -
    -
    -
    +
    -4.3.2.4. NES_GAME_GENIE_CODE Packet +4.3.2.3. NES_GAME_GENIE_CODE Packet
    -

    NES_GAME_GENIE_CODE packets MUST be in the following format:

    -
    +

    NES_GAME_GENIE_CODE packets MUST be in the following format:

    +
               0...
           +==========+
    @@ -3138,15 +3139,15 @@ li > p:last-of-type:only-child {
           +==========+
     
           Code (String)                           [PLEN octets]
    -
    +
    -
    -
    Code
    -
    Game Genie code (example: "AATOZA"). +
    +
    Code
    +
    Game Genie code (example: "AATOZA").
    -
    PLEN
    -
    Length of the packet payload. +
    PLEN
    +
    Length of the packet payload.
    @@ -3157,49 +3158,49 @@ li > p:last-of-type:only-child {

    4.3.3. SNES Specific Key Payload Formats

    -
    +
    -
    -4.3.3.1. SNES_CLOCK_FILTER Packet +
    +4.3.3.1. SNES_LATCH_FILTER Packet
    -

    SNES_CLOCK_FILTER packets MUST be in the following format:

    +

    SNES_LATCH_FILTER packets MUST be in the following format:

    -           0
    -      +----------+
    -      | Time (N) |
    -      +----------+
    +         0     1
    +      +-----+-----+
    +      | Time (N)  |
    +      +-----+-----+
     
    -      Time (Unsigned Integer)                 [1 octet]
    +      Time (Unsigned Integer)                 [2 octets]
     
    Time
    -
    Clock filter length of time in tenths of a microsecond (units of 0.1 microseconds or 100 nanoseconds). +
    Latch filter length of time in microseconds.
    -
    +
    -
    -4.3.3.2. SNES_OVERREAD Packet +
    +4.3.3.2. SNES_CLOCK_FILTER Packet
    -

    SNES_OVERREAD packets MUST be in the following format:

    +

    SNES_CLOCK_FILTER packets MUST be in the following format:

                0
           +----------+
    -      | High (B) |
    +      | Time (N) |
           +----------+
     
    -      High (Boolean)                          [1 octet]
    +      Time (Unsigned Integer)                 [1 octet]
     
    -
    High
    -
    Boolean value that is TRUE if overread bits are set to high and FALSE if overread bits are set to low. +
    Time
    +
    Clock filter length of time in tenths of a microsecond (units of 0.1 microseconds or 100 nanoseconds).
    @@ -3394,14 +3395,14 @@ li > p:last-of-type:only-child {

    TRANSITION packets MUST be in the following format:

    -               0        1  2  3  4  5  6  7  8       9
    -      +----------------+--+--+--+--+--+--+--+--+----------+
    -      | Index Type (A) |       Index (N)       | Type (A) | ...
    -      +----------------+--+--+--+--+--+--+--+--+----------+
    -          10...
    -      +============+
    -      | Packet (A) |
    -      +============+
    +               0            1      2  3  4  5  6  7  8  9
    +      +----------------+----------+--+--+--+--+--+--+--+--+
    +      | Index Type (A) | Port (N) |       Index (N)       | ...
    +      +----------------+----------+--+--+--+--+--+--+--+--+
    +           10         11...
    +      +----------+============+
    +      | Type (A) | Packet (A) |
    +      +----------+============+
     
           Index Type (Binary Data):               [1 octet]
              [01] - Frame
    @@ -3409,13 +3410,14 @@ li > p:last-of-type:only-child {
              [03] - Milliseconds
              [04] - Microseconds * 10
              [05] - INPUT_CHUNK Index
    +      Port (Unsigned Integer)                 [1 octet]
           Index (Unsigned Integer)                [8 octets]
           Type (Binary Data):                     [1 octet]
              [01] - Soft Reset
              [02] - Power Reset
              [03] - Restart TASD File
              [FF] - Packet Derived
    -      Inner Packet (Binary Data)              [PLEN - 10 octets]
    +      Inner Packet (Binary Data)              [PLEN - 11 octets]
     
    @@ -3423,20 +3425,24 @@ li > p:last-of-type:only-child {
    Determines specific timing type for start of transition.
    -
    Index
    -
    Time or offset value to start transition. +
    Port
    +
    Controller port number of input index. If Index Type is [05], Port MUST be 1-indexed Port number, otherwise Port MAY be any value.
    -
    Type
    -
    Type of transition. If Type is [FF], the transition action will be interpreting a TASD packet. +
    Index
    +
    Time or offset value to start transition. If Index Type is [05], Index MUST be the byte offset of INPUT_CHUNK data from INPUT_CHUNK packets for the controller port specified by Port.
    -
    Inner Packet
    -
    If Type is [FF], Inner Packet SHOULD be a TASD packet. Inner Packet MUST NOT be a INPUT_CHUNK, INPUT_MOMENT, TRANSITION, LAG_FRAME_CHUNK, or MOVIE_TRANSITION packet. +
    Type
    +
    Type of transition. If Type is [FF], the transition action will be interpreting a TASD packet.
    -
    PLEN
    -
    Length of the packet payload (Not Inner Packet length). +
    Inner Packet
    +
    If Type is [FF], Inner Packet SHOULD be a TASD packet. Inner Packet MUST NOT be a INPUT_CHUNK, INPUT_MOMENT, TRANSITION, LAG_FRAME_CHUNK, or MOVIE_TRANSITION packet. +
    +
    +
    PLEN
    +
    Length of the packet payload (Not Inner Packet length).
    @@ -3554,12 +3560,12 @@ li > p:last-of-type:only-child {

    EXPERIMENTAL packets MUST be in the following format:

    -              0...
    -      +==================+
    +               0
    +      +------------------+
           | Experimental (B) |
    -      +==================+
    +      +------------------+
     
    -      Experimental (Boolean)                  [PLEN octet]
    +      Experimental (Boolean)                  [1 octet]
     
    -- cgit v1.2.3