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 --- src/docs/draft-tasd-spec-0001.xml | 114 ++++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 54 deletions(-) (limited to 'src/docs') diff --git a/src/docs/draft-tasd-spec-0001.xml b/src/docs/draft-tasd-spec-0001.xml index d541237..e63af21 100644 --- a/src/docs/draft-tasd-spec-0001.xml +++ b/src/docs/draft-tasd-spec-0001.xml @@ -248,6 +248,7 @@
[00 14]
MOVIE_LICENSE
[00 15]
MOVIE_FILE
[00 F0]
PORT_CONTROLLER
+
[00 F1]
PORT_OVERREAD
@@ -255,7 +256,6 @@
[01 01]
NES_LATCH_FILTER
[01 02]
NES_CLOCK_FILTER
-
[01 03]
NES_OVERREAD
[01 04]
NES_GAME_GENIE_CODE
@@ -263,7 +263,6 @@ SNES Specific Keys
[02 02]
SNES_CLOCK_FILTER
-
[02 03]
SNES_OVERREAD
[02 04]
SNES_GAME_GENIE_CODE
[02 05]
SNES_LATCH_TRAIN
@@ -342,6 +341,8 @@
Specifies the TAS movie data. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type. Discussed in ().
[00 F0] - PORT_CONTROLLER
Specifies the controller type in specific console controller ports for the TAS when played on hardware. This packet type is OPTIONAL and a TASD file SHOULD NOT contain more than 1 of this packet type in direct form. Discussed in ().
+
[00 F1] - PORT_OVERREAD
+
Specifies whether a high or low signal SHOULD be sent through a specified controller port of the console if the console requests more input data from the replay device through that controller port than expected. This packet type is OPTIONAL. Discussed in ().
@@ -351,8 +352,6 @@
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 ().
[01 02] - NES_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 ().
-
[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 ().
[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 ().
@@ -360,10 +359,10 @@
SNES Specific Key Descriptions
+
[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 ().
[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 ().
-
[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 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
@@ -790,7 +789,7 @@ | 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 @@ -918,6 +917,25 @@
Specifies the controller type connected to the Port. (RESERVED) specifies that the controller type is not described in this document, but the byte values are reserved for a later version of the TASD file format protocol. Input formats for specific controller types are described in ().
+
+ PORT_OVERREAD Packet + PORT_OVERREAD packets MUST be in the following format: + + +
+
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.
+
+
NES Specific Key Payload Formats @@ -953,22 +971,6 @@
Clock filter length of time in tenths of a microsecond (units of 0.1 microseconds or 100 nanoseconds).
-
- NES_OVERREAD Packet - NES_OVERREAD packets MUST be in the following format: - - -
-
High
-
Boolean value that is TRUE if overread bits are set to high and FALSE if overread bits are set to low.
-
-
NES_GAME_GENIE_CODE Packet NES_GAME_GENIE_CODE packets MUST be in the following format: @@ -990,36 +992,36 @@
SNES Specific Key Payload Formats -
- SNES_CLOCK_FILTER Packet - SNES_CLOCK_FILTER packets MUST be in the following format: +
+ SNES_LATCH_FILTER Packet + SNES_LATCH_FILTER packets MUST be in the following format: + 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.
-
- SNES_OVERREAD Packet - SNES_OVERREAD packets MUST be in the following format: +
+ SNES_CLOCK_FILTER Packet + SNES_CLOCK_FILTER packets MUST be in the following format: + 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).
@@ -1145,14 +1147,14 @@ TRANSITION Packet TRANSITION packets MUST be in the following format: + Inner Packet (Binary Data) [PLEN - 11 octets]]]>
Input Type
Determines specific timing type for start of 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.
Index
-
Time or offset value to start transition.
+
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.
Type
Type of transition. If Type is [FF], the transition action will be interpreting a TASD packet.
Inner Packet
@@ -1255,12 +1259,12 @@ EXPERIMENTAL Packet EXPERIMENTAL packets MUST be in the following format: + Experimental (Boolean) [1 octet]]]>
Experimental
@@ -1914,6 +1918,8 @@