summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbigbass1997 <bigbass1997.website@gmail.com>2021-08-27 22:54:36 -0500
committerbigbass1997 <bigbass1997.website@gmail.com>2021-08-27 22:54:36 -0500
commitc6626d7822ed73922d124c7989117c53a8d4e7f5 (patch)
treed1d43e18c387e664e305c0329f24e85d188b5b0e
parentac1949e864befed0edfa5314ac777cf5ec1cf7ca (diff)
downloadtasd-c6626d7822ed73922d124c7989117c53a8d4e7f5.tar.gz
tasd-c6626d7822ed73922d124c7989117c53a8d4e7f5.zip
Added proposal for InputMoment packet.
-rw-r--r--spec.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/spec.md b/spec.md
index 103da5d..3f98e85 100644
--- a/spec.md
+++ b/spec.md
@@ -165,7 +165,14 @@ FE01 | 1 + n bytes | InputChunks | Port number (1-indexed) + a variable n
Refer to transitions to know if any controller types change mid-playback.
These packets, and the input chunks therein, are in sequential order!
Therefore, any following input packets are appended to the inputs contained in this one.
- Input values are usually in native format (usually active-low), refer to `inputmaps.txt` for details.
+ Input values are usually in native format (usually active-low), refer to 'inputmaps.txt' for details.
+
+FE0x | 1 + 4 + n bytes | InputMoment | (PROPOSED) Port number (1-indexed) + 32-bit frame/index number + a single instance of input for that port.
+ Similar to InputChunks but instead specifies an input at a specific point in time.
+ Useful for consoles with many repeated inputs or that use clock cycles as an index number.
+ Some consoles may interpret these packets as inputs that are held until the next specified InputMoment,
+ or they may use a default input state until the next InputMoment is reached.
+ Sequential order is not necessary. Refer to 'inputmaps.txt' for input formats.
FE02 | 4 + 1 + n bytes | Transition | Defines a transition at a specific point in the TAS. First 4 bytes is the frame/index number (0-indexed) based on all inputs contained in all FE01 packets. Then 1 byte specifying the transition type. Followed by a variable number of bytes if applicable.
-> 01 = "Soft" Reset (n = 0)