diff options
| -rw-r--r-- | spec.md | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -47,6 +47,7 @@ Key | Payload Size | Name | Description 0002 | 1 byte | ConsoleRegion | Console region required to play this TAS.
-> 01 = NTSC
-> 02 = PAL
+ -> 03 = Other/Unknown
0003 | variable | GameTitle | (string) Title of the game.
0004 | variable | Author | (string) Name of one author of the TAS. (e.g. "Bender B. Rodriguez")
@@ -65,9 +66,8 @@ Key | Payload Size | Name | Description 000F | 1 byte | Verified | Whether or not this TAS has been verified by someone. (boolean, value of either 00 or 01)
0010 | 1 + 1 + v + k + n + p bytes | MemoryInit | Initialization of named memory space. First byte is the kind of initialization.
- Second byte is whether or not this is required for verifications (0 = optional, 1 = required). Then the name of the space.
- And an optional custom payload. (1 byte type, 1 byte verification requirement, v = 1 byte exponent for k, k = length of n, n = name string, p = memory payload)
-
+ Second byte is whether or not this is required for verifications (0 = optional, 1 = required). Then the name of the space.
+ And an optional custom payload. (1 byte type, 1 byte verification requirement, v = 1 byte exponent for k, k = length of n, n = name string, p = memory payload)
-> 01 = No intialization required (p = 0)
-> 02 = All 0x00 (p = 0)
-> 03 = All 0xFF (p = 0)
@@ -167,13 +167,16 @@ FE01 | 1 + n bytes | InputChunks | Port number (1-indexed) + a variable n 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.
-FE02 | 1 + 4 + n bytes | InputMoment | Port number (1-indexed) + 32-bit 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 (e.g. GB/C/A),
- or they may use a default input state until the next InputMoment is reached.
- Index number can be based on anything, but should be consistent throughout a file (e.g. clock cycles, frames, seconds, etc).
- Sequential order is not necessary. Refer to 'inputmaps.txt' for input formats.
+FE02 | 1 + 1 + 4 + n bytes | InputMoment | Port number (1-indexed) + 1 byte type + 32-bit 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 (e.g. GB/C/A),
+ or they may use a default input state until the next InputMoment is reached.
+ Index number can be based on anything, but should be consistent throughout a file (e.g. clock cycles, frames, seconds, etc).
+ Sequential order is not necessary. Refer to 'inputmaps.txt' for input formats.
+ -> 01 = frames
+ -> 02 = cycles
+ -> 03 = milliseconds
FE03 | 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)
|
