diff options
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | docs/latest/draft-tasd-spec.html | 18 | ||||
| -rw-r--r-- | docs/latest/draft-tasd-spec.txt | 16 | ||||
| -rw-r--r-- | docs/tasd-spec-0001/draft-tasd-spec-0001.html | 18 | ||||
| -rw-r--r-- | docs/tasd-spec-0001/draft-tasd-spec-0001.txt | 16 | ||||
| -rw-r--r-- | src/docs/draft-tasd-spec-0001.xml | 16 |
6 files changed, 43 insertions, 42 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 25b5a99..db6e901 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Improved wording in the Abstract, Introduction, Overview and several other sections - Clarified what must happen when INPUT_MOMENTs conflict with INPUT_CHUNKs, and removed wording that suggested they shouldn't both be used in the same TASD file - Changed the Index Type "Microseconds * 10" to "Microseconds" for INPUT_MOMENT and TRANSITION packets +- Reordered the Port field in the TRANSITION packet for better consistency with other packets that use the same field ### Added - A new Index Type of "Nanoseconds" for INPUT_MOMENT and TRANSITION packets (since the index number is 64-bits wide, even when using nanoseconds the largest number is equivalent to ~584.6 years) diff --git a/docs/latest/draft-tasd-spec.html b/docs/latest/draft-tasd-spec.html index e3a41cc..63d3203 100644 --- a/docs/latest/draft-tasd-spec.html +++ b/docs/latest/draft-tasd-spec.html @@ -3441,15 +3441,16 @@ li > p:last-of-type:only-child { <p id="section-4.3.5.3-1">TRANSITION packets <span class="bcp14">MUST</span> be in the following format:<a href="#section-4.3.5.3-1" class="pilcrow">¶</a></p> <div class="alignLeft art-text artwork" id="section-4.3.5.3-2"> <pre> - 0 1 2 3 4 5 6 7 8 9 - +----------------+----------+--+--+--+--+--+--+--+--+ - | Index Type (A) | Port (N) | Index (N) | ... - +----------------+----------+--+--+--+--+--+--+--+--+ + 0 1 2 3 4 5 6 7 8 9 + +----------+----------------+--+--+--+--+--+--+--+--+ + | Port (N) | Index Type (A) | Index (N) | ... + +----------+----------------+--+--+--+--+--+--+--+--+ 10 11... +----------+============+ | Type (A) | Packet (A) | +----------+============+ + Port (Unsigned Integer) [1 octet] Index Type (Binary Data): [1 octet] [01] - Frame [02] - Cycle Count @@ -3457,7 +3458,6 @@ li > p:last-of-type:only-child { [04] - Microseconds [05] - Nanoseconds [06] - INPUT_CHUNK Byte Index - Port (Unsigned Integer) [1 octet] Index (Unsigned Integer) [8 octets] Type (Binary Data): [1 octet] [01] - Soft Reset @@ -3468,12 +3468,12 @@ li > p:last-of-type:only-child { </pre><a href="#section-4.3.5.3-2" class="pilcrow">¶</a> </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.5.3-3"> - <dt id="section-4.3.5.3-3.1"><strong>Input Type</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.2">Determines specific timing type for start of transition.<a href="#section-4.3.5.3-3.2" class="pilcrow">¶</a> + <dt id="section-4.3.5.3-3.1"><strong>Port</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.2">Controller port number (<strong>Port</strong> number <span class="bcp14">MUST</span> be <strong>1-indexed</strong>).<a href="#section-4.3.5.3-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.5.3-3.3"><strong>Port</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.4">Controller port number (<strong>Port</strong> number <span class="bcp14">MUST</span> be <strong>1-indexed</strong>).<a href="#section-4.3.5.3-3.4" class="pilcrow">¶</a> +<dt id="section-4.3.5.3-3.3"><strong>Input Type</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.4">Determines specific timing type for start of transition.<a href="#section-4.3.5.3-3.4" class="pilcrow">¶</a> </dd> <dd class="break"></dd> <dt id="section-4.3.5.3-3.5"><strong>Index</strong></dt> diff --git a/docs/latest/draft-tasd-spec.txt b/docs/latest/draft-tasd-spec.txt index 33b32ef..4f2feec 100644 --- a/docs/latest/draft-tasd-spec.txt +++ b/docs/latest/draft-tasd-spec.txt @@ -1527,15 +1527,16 @@ Table of Contents TRANSITION packets MUST be in the following format: - 0 1 2 3 4 5 6 7 8 9 - +----------------+----------+--+--+--+--+--+--+--+--+ - | Index Type (A) | Port (N) | Index (N) | ... - +----------------+----------+--+--+--+--+--+--+--+--+ + 0 1 2 3 4 5 6 7 8 9 + +----------+----------------+--+--+--+--+--+--+--+--+ + | Port (N) | Index Type (A) | Index (N) | ... + +----------+----------------+--+--+--+--+--+--+--+--+ 10 11... +----------+============+ | Type (A) | Packet (A) | +----------+============+ + Port (Unsigned Integer) [1 octet] Index Type (Binary Data): [1 octet] [01] - Frame [02] - Cycle Count @@ -1543,7 +1544,6 @@ Table of Contents [04] - Microseconds [05] - Nanoseconds [06] - INPUT_CHUNK Byte Index - Port (Unsigned Integer) [1 octet] Index (Unsigned Integer) [8 octets] Type (Binary Data): [1 octet] [01] - Soft Reset @@ -1552,12 +1552,12 @@ Table of Contents [FF] - Packet Derived Inner Packet (Binary Data) [PLEN - 11 octets] - *Input Type* - Determines specific timing type for start of transition. - *Port* Controller port number (*Port* number MUST be *1-indexed*). + *Input Type* + Determines specific timing type for start of transition. + *Index* Time or offset value to start transition. If *Index Type* is [06], *Index* MUST be interpreted as the *byte offset* diff --git a/docs/tasd-spec-0001/draft-tasd-spec-0001.html b/docs/tasd-spec-0001/draft-tasd-spec-0001.html index e3a41cc..63d3203 100644 --- a/docs/tasd-spec-0001/draft-tasd-spec-0001.html +++ b/docs/tasd-spec-0001/draft-tasd-spec-0001.html @@ -3441,15 +3441,16 @@ li > p:last-of-type:only-child { <p id="section-4.3.5.3-1">TRANSITION packets <span class="bcp14">MUST</span> be in the following format:<a href="#section-4.3.5.3-1" class="pilcrow">¶</a></p> <div class="alignLeft art-text artwork" id="section-4.3.5.3-2"> <pre> - 0 1 2 3 4 5 6 7 8 9 - +----------------+----------+--+--+--+--+--+--+--+--+ - | Index Type (A) | Port (N) | Index (N) | ... - +----------------+----------+--+--+--+--+--+--+--+--+ + 0 1 2 3 4 5 6 7 8 9 + +----------+----------------+--+--+--+--+--+--+--+--+ + | Port (N) | Index Type (A) | Index (N) | ... + +----------+----------------+--+--+--+--+--+--+--+--+ 10 11... +----------+============+ | Type (A) | Packet (A) | +----------+============+ + Port (Unsigned Integer) [1 octet] Index Type (Binary Data): [1 octet] [01] - Frame [02] - Cycle Count @@ -3457,7 +3458,6 @@ li > p:last-of-type:only-child { [04] - Microseconds [05] - Nanoseconds [06] - INPUT_CHUNK Byte Index - Port (Unsigned Integer) [1 octet] Index (Unsigned Integer) [8 octets] Type (Binary Data): [1 octet] [01] - Soft Reset @@ -3468,12 +3468,12 @@ li > p:last-of-type:only-child { </pre><a href="#section-4.3.5.3-2" class="pilcrow">¶</a> </div> <span class="break"></span><dl class="dlNewline" id="section-4.3.5.3-3"> - <dt id="section-4.3.5.3-3.1"><strong>Input Type</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.2">Determines specific timing type for start of transition.<a href="#section-4.3.5.3-3.2" class="pilcrow">¶</a> + <dt id="section-4.3.5.3-3.1"><strong>Port</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.2">Controller port number (<strong>Port</strong> number <span class="bcp14">MUST</span> be <strong>1-indexed</strong>).<a href="#section-4.3.5.3-3.2" class="pilcrow">¶</a> </dd> <dd class="break"></dd> -<dt id="section-4.3.5.3-3.3"><strong>Port</strong></dt> - <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.4">Controller port number (<strong>Port</strong> number <span class="bcp14">MUST</span> be <strong>1-indexed</strong>).<a href="#section-4.3.5.3-3.4" class="pilcrow">¶</a> +<dt id="section-4.3.5.3-3.3"><strong>Input Type</strong></dt> + <dd style="margin-left: 1.5em" id="section-4.3.5.3-3.4">Determines specific timing type for start of transition.<a href="#section-4.3.5.3-3.4" class="pilcrow">¶</a> </dd> <dd class="break"></dd> <dt id="section-4.3.5.3-3.5"><strong>Index</strong></dt> diff --git a/docs/tasd-spec-0001/draft-tasd-spec-0001.txt b/docs/tasd-spec-0001/draft-tasd-spec-0001.txt index 33b32ef..4f2feec 100644 --- a/docs/tasd-spec-0001/draft-tasd-spec-0001.txt +++ b/docs/tasd-spec-0001/draft-tasd-spec-0001.txt @@ -1527,15 +1527,16 @@ Table of Contents TRANSITION packets MUST be in the following format: - 0 1 2 3 4 5 6 7 8 9 - +----------------+----------+--+--+--+--+--+--+--+--+ - | Index Type (A) | Port (N) | Index (N) | ... - +----------------+----------+--+--+--+--+--+--+--+--+ + 0 1 2 3 4 5 6 7 8 9 + +----------+----------------+--+--+--+--+--+--+--+--+ + | Port (N) | Index Type (A) | Index (N) | ... + +----------+----------------+--+--+--+--+--+--+--+--+ 10 11... +----------+============+ | Type (A) | Packet (A) | +----------+============+ + Port (Unsigned Integer) [1 octet] Index Type (Binary Data): [1 octet] [01] - Frame [02] - Cycle Count @@ -1543,7 +1544,6 @@ Table of Contents [04] - Microseconds [05] - Nanoseconds [06] - INPUT_CHUNK Byte Index - Port (Unsigned Integer) [1 octet] Index (Unsigned Integer) [8 octets] Type (Binary Data): [1 octet] [01] - Soft Reset @@ -1552,12 +1552,12 @@ Table of Contents [FF] - Packet Derived Inner Packet (Binary Data) [PLEN - 11 octets] - *Input Type* - Determines specific timing type for start of transition. - *Port* Controller port number (*Port* number MUST be *1-indexed*). + *Input Type* + Determines specific timing type for start of transition. + *Index* Time or offset value to start transition. If *Index Type* is [06], *Index* MUST be interpreted as the *byte offset* diff --git a/src/docs/draft-tasd-spec-0001.xml b/src/docs/draft-tasd-spec-0001.xml index 5c184db..9ddc7ec 100644 --- a/src/docs/draft-tasd-spec-0001.xml +++ b/src/docs/draft-tasd-spec-0001.xml @@ -1165,15 +1165,16 @@ <name>TRANSITION Packet</name> <t>TRANSITION packets <bcp14>MUST</bcp14> be in the following format:</t> <artwork><![CDATA[ - 0 1 2 3 4 5 6 7 8 9 - +----------------+----------+--+--+--+--+--+--+--+--+ - | Index Type (A) | Port (N) | Index (N) | ... - +----------------+----------+--+--+--+--+--+--+--+--+ + 0 1 2 3 4 5 6 7 8 9 + +----------+----------------+--+--+--+--+--+--+--+--+ + | Port (N) | Index Type (A) | Index (N) | ... + +----------+----------------+--+--+--+--+--+--+--+--+ 10 11... +----------+============+ | Type (A) | Packet (A) | +----------+============+ + Port (Unsigned Integer) [1 octet] Index Type (Binary Data): [1 octet] [01] - Frame [02] - Cycle Count @@ -1181,7 +1182,6 @@ [04] - Microseconds [05] - Nanoseconds [06] - INPUT_CHUNK Byte Index - Port (Unsigned Integer) [1 octet] Index (Unsigned Integer) [8 octets] Type (Binary Data): [1 octet] [01] - Soft Reset @@ -1191,10 +1191,10 @@ Inner Packet (Binary Data) [PLEN - 11 octets]]]> </artwork> <dl newline="true"> - <dt><strong>Input Type</strong></dt> - <dd>Determines specific timing type for start of transition.</dd> <dt><strong>Port</strong></dt> <dd>Controller port number (<strong>Port</strong> number <bcp14>MUST</bcp14> be <strong>1-indexed</strong>).</dd> + <dt><strong>Input Type</strong></dt> + <dd>Determines specific timing type for start of transition.</dd> <dt><strong>Index</strong></dt> <dd>Time or offset value to start transition. If <strong>Index Type</strong> is <tt>[06]</tt>, <strong>Index</strong> <bcp14>MUST</bcp14> be interpreted as the <strong>byte offset</strong> (<strong>0-indexed</strong>) into the concatenated input data from all <strong>INPUT_CHUNK</strong> packets for the controller port specified by <strong>Port</strong>. If <strong>Index Type</strong> is <tt>[06]</tt>, the byte offset <bcp14>MUST</bcp14> also point to the first byte of an instance of controller input data (according to the PORT_CONTROLLER format at that moment in the TAS replay.)</dd> <dt><strong>Type</strong></dt> @@ -1937,7 +1937,7 @@ <t>THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR(S) "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</t> </section> <!-- Change Log -draft 17 - 2025-04-16 Bigbass Improved the wording in the Abstract and Introduction paragraphs. Reordered and expanded on the overview/preliminaries section. Revised wording in a packet diagram example and the Motivations section. Miscellaneous formatting changes. Removed exclusion requirements between INPUT_CHUNK and INPUT_MOMENT packets, as they can be used together now. Clarified what must happen if an INPUT_MOMENT conflicts with INPUT_CHUNK inputs. For INPUT_MOMENT and TRANSITION packets, the Index Type "Microseconds * 10" has been changed to "Microseconds", and a new type "Nanoseconds" has been added. (2^64 nanoseconds is ~584.6 years) +draft 17 - 2025-04-16 Bigbass Improved the wording in the Abstract and Introduction paragraphs. Reordered and expanded on the overview/preliminaries section. Revised wording in a packet diagram example and the Motivations section. Miscellaneous formatting changes. Removed exclusion requirements between INPUT_CHUNK and INPUT_MOMENT packets, as they can be used together now. Clarified what must happen if an INPUT_MOMENT conflicts with INPUT_CHUNK inputs. For INPUT_MOMENT and TRANSITION packets, the Index Type "Microseconds * 10" has been changed to "Microseconds", and a new type "Nanoseconds" has been added. (2^64 nanoseconds is ~584.6 years). Reordered Port field in TRANSITION to match similar ordering in INPUT_MOMENT and other packets. draft 16 - 2025-02-01 Bigbass Revised "Introduction" paragraphs. Clarified NUL characters in strings. Clarified header version should increase in future versions. Clarified INPUT_MOMENT packets contain only a single instance of input data. Clarified how multiple INPUT_CHUNK packets must be interpreted. Clarified INPUT_CHUNK indexes in TRANSITION packets refer to an individual byte (changed index type name.) Added a "Hold" option to INPUT_MOMENT packets to clarify how long the INPUT_MOMENT should be active for (useful for GB/C/A replays which expect the value to be held until the input changes.) Changed Genesis controller input formats. |
