diff options
| author | Vi Grey <vi@vigrey.com> | 2023-07-03 18:11:57 -0500 |
|---|---|---|
| committer | Vi Grey <vi@vigrey.com> | 2023-07-03 18:11:57 -0500 |
| commit | 1f73bd13fcd3e0c4c69e0d16934a8b3f769caffc (patch) | |
| tree | 0666cca8e248db92c7e1feda3eca139220344325 /src | |
| parent | a48be15f916f9d9045f9ad1b9e899b370cb98126 (diff) | |
| download | tasd-1f73bd13fcd3e0c4c69e0d16934a8b3f769caffc.tar.gz tasd-1f73bd13fcd3e0c4c69e0d16934a8b3f769caffc.zip | |
Add SNES_LATCH_TRAIN and remove PDF outputs
Diffstat (limited to 'src')
| -rw-r--r-- | src/docs/draft-tasd-spec-0001.xml | 50 |
1 files changed, 32 insertions, 18 deletions
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 @@ <?xml version='1.0' encoding='utf-8'?> -<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> -<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" @@ -30,7 +28,7 @@ <uri>https://github.com/bigbass1997</uri> </address> </author> - <date year="2022"/> + <date year="2023"/> <area>General</area> <workgroup>Independent TAS Console Replay Research Group</workgroup> <abstract> @@ -47,7 +45,6 @@ <section numbered="true" toc="default"> <name>Overview and Preliminaries</name> <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t> - <section numbered="true" toc="default"> <name>Notation and Vocabulary</name> <t>Data Types:</t> @@ -57,6 +54,7 @@ <li>(I) = Signed Integer</li> <li>(N) = Unsigned Integer</li> <li>(B) = Boolean</li> + <li>([]N) = List of Unsigned Integers</li> </ul> <t>We use the terms <strong>byte</strong> and <strong>octet</strong> interchangeably in this document.</t> <t>Unless specified otherwise, all multi-octet integers are big-endian.</t> @@ -132,7 +130,6 @@ </ul> </section> </section> - <section numbered="true" toc="default"> <name>Motivations</name> <t>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:</t> @@ -153,7 +150,6 @@ <section numbered="true" toc="default"> <name>Header</name> <t><strong>TASD</strong> files <bcp14>MUST</bcp14> include a header, which <bcp14>MUST</bcp14> be in the following format:</t> - <artwork><![CDATA[ 0 1 2 3 4 5 6 +----+----+----+----+------+------+--------------+ @@ -173,6 +169,7 @@ <dd>Global length of <strong>Key</strong> values of packets. G_KEYLEN currently <bcp14>MUST</bcp14> be a value of 2.</dd> </dl> </section> + <section numbered="true" toc="default"> <name>Packets</name> <t>Packets <bcp14>MUST</bcp14> be in the following format:</t> @@ -243,7 +240,7 @@ <dt><tt>[02 02]</tt></dt> <dd>SNES_CLOCK_FILTER</dd> <dt><tt>[02 03]</tt></dt> <dd>SNES_OVERREAD</dd> <dt><tt>[02 04]</tt></dt> <dd>SNES_GAME_GENIE_CODE</dd> - <dt><tt>[02 05]</tt></dt> <dd>SNES_LATCH_TRAIN (RESERVED)</dd> + <dt><tt>[02 05]</tt></dt> <dd>SNES_LATCH_TRAIN</dd> </dl> </section> <section numbered="true" toc="default"> @@ -339,13 +336,13 @@ <name>SNES Specific Key Descriptions</name> <dl newline="true"> <dt><tt>[02 02]</tt> - SNES_CLOCK_FILTER</dt> - <dd>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 <bcp14>SHOULD</bcp14> be accepted by the replay device. This packet type is <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>SHOULD NOT</bcp14> contain more than 1 of this packet type in direct form. Discussed in (<xref target="nes_clock_filter"/>).</dd> - <dt><tt>[02 03]</tt> - SNES_OVERREAD</dt> - <dd>Specifies whether a high or low signal <bcp14>SHOULD</bcp14> 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 <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>SHOULD NOT</bcp14> contain more than 1 of this packet type in direct form. Discussed in (<xref target="snes_overread"/>).</dd> - <dt><tt>[02 04]</tt> - SNES_GAME_GENIE_CODE</dt> + <dd>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 <bcp14>SHOULD</bcp14> be accepted by the replay device. This packet type is <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>SHOULD NOT</bcp14> contain more than 1 of this packet type in direct form. Discussed in (<xref target="snes_clock_filter"/>).</dd> + <dt><tt>[01 03]</tt> - SNES_OVERREAD</dt> + <dd>Specifies whether a high or low signal <bcp14>SHOULD</bcp14> 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 <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>SHOULD NOT</bcp14> contain more than 1 of this packet type in direct form. Discussed in (<xref target="snes_overread"/>).</dd> + <dt><tt>[01 04]</tt> - SNES_GAME_GENIE_CODE</dt> <dd>Specifies a Game Genie code for the TAS. This packet type is <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>MAY</bcp14> contain more than 1 of this packet type. Discussed in (<xref target="snes_game_genie_code"/>).</dd> - <dt><tt>[02 05]</tt> - SNES_LATCH_TRAIN (RESERVED)</dt> - <dd>This packet type is not yet designed and is intended to be described in the future. Discussed in (<xref target="snes_latch_train"/>).</dd> + <dt><tt>[01 04]</tt> - SNES_LATCH_TRAIN</dt> + <dd>Specifies Latch Trains for TAS. This packet type is <bcp14>OPTIONAL</bcp14> and a <strong>TASD</strong> file <bcp14>MAY</bcp14> contain more than 1 of this packet type. Discussed in (<xref target="snes_latch_train"/>).</dd> </dl> </section> <section numbered="true" toc="default"> @@ -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]]]> </artwork> <dl newline="true"> <dt><strong>Data Type</strong></dt> @@ -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]]]> </artwork> @@ -1019,8 +1016,23 @@ </dl> </section> <section numbered="true" toc="default" anchor="snes_latch_train"> - <name>SNES_LATCH_TRAIN Packet (RESERVED)</name> - <t>This packet type is not yet designed and is intended to be described in the future.</t> + <name>SNES_LATCH_TRAIN Packet</name> + <t>SNES_LATCH_TRAIN packets <bcp14>MUST</bcp14> be in the following format:</t> + <artwork><![CDATA[ + 0... + +==========================+ + | Latch Train Points ([]N) | + +==========================+ + + Latch Train Points (List of Unsigned Integers) [PLEN octets]]]> + </artwork> + <dl newline="true"> + <dt><strong>Latch Train Points</strong></dt> + <dd>List of 64-bit unsigned integers of the Latch Train points. <bcp14>MUST</bcp14> be a multiple of 8 octets in size</dd> + <dt><strong>PLEN</strong></dt> + <dd>Length of the packet payload.</dd> + </dl> + <t>A single SNES_LATCH_TRAIN packet <bcp14>MAY</bcp14> contain up to every Latch Train point of a SNES TAS movie console replay and <bcp14>MAY</bcp14> contain fewer than every Latch Train point of a SNES TAS movie console replay. There <bcp14>MAY</bcp14> be more than 1 SNES_LATCH_TRAIN packet.</t> </section> </section> <section numbered="true" toc="default"> @@ -1817,6 +1829,8 @@ </section> <!-- Change Log +draft 02 - 2023-07-03 VG Add SNES_LATCH_TRAIN packet description and add []N data type + draft 01 - 2022-09-26 VG Add FALSE state description for EXPERIMENTAL packet and mention draft/experimental packets rather than just experimental packets draft 00 - 2022-09-24 VG Initial draft |
