Specification for the Tool Assisted Speedrun Dump (TASD) interchange format
The Tool Assisted Speedrun Dump (TASD) interchange format is a file format initially designed by Vi Grey and Bigbass for storing "Tool Assisted Speedrun" or "Tool Assisted Superplay" (TAS) input and configuration data for use with devices (known as "TAS replay devices") that replay inputs on physical video game hardware.
Created to be hardware and software agnostic, the TASD interchange format uses a key-based, binary, packet format to break up pieces of information into easily-parsable and forward-compatible chunks. The format is extensible by simply defining additional keys or value types as necessary. When parsing the file, software can skip any packets whose key is unknown or unsupported.
Packets of a given type can be used multiple times or completely omitted as needed. This reusability eliminates the need of a predefined delimiter to separate pieces of data, such as a list of TAS authors.
While files generated by emulator dump scripts should provide as much information as possible, they may be unable to provide everything. Since packets are optional, the file can be expanded later with any additional data as desired. No intermediary file format is necessary.
The specification can be found online at https://tasd.io/ or locally at docs/latest/tasd-spec.html and docs/latest/tasd-spec.txt. It is presented in a format quite similar to IETF (Internet Engineering Task Force) RFC (Request For Comment) documents.
If you wish to contribute to this project or would like to build it from source, please take a look at CONTRIBUTING.md.
LICENSE.txt contains the license for the TASD specification.