Console verification (also known as TAS replay) is the process of playing a sequence of controller inputs, such as a TAS, on a real game system with super-human accuracy and precision. The primary goal of console verification is to validate whether a TAS, created via emulation, truly works on the original computer/game system it was intended for.
This guide will provide a comprehensive walkthrough for each step in the process, whether you are using a pre-existing TAS replay device or you want to design your own.
Table of contents
Terminology
It's important to understand the terms used when discussing console verification. For this, refer to the Glossary.
Overview
The typical process of verifying a TAS, involve these steps:
- Download/Install any software necessary for using your replay device (varies per device)
- Connect your replay device to the relevant console (e.g. plug in controller cables, hook up reset/control wires)
- Prepare the sequence of inputs to be replayed on hardware, or download a file prepared by someone else
- Provide your control software with the input data and any additional configuration
- Start the replay
Steps 1 and 2 will depend entirely on which replay device you own. You should refer to whatever documentation there is for that replay device (typically a Github repository.)
If you do not own a replay device yet, head over to either the TASBot or TASVideos discord servers to ask for recommendations. Please indicate which system(s) you wish to replay TASes on, as this will affect which options are available.
If you'd rather design your own device, check out the hardware design page.
Input Preparation
Almost all TASes must be preprocessed in an emulator in order to prepare the actual input data needed for replaying the TAS on a physical system. This process is also known as "input dumping." The only cases where this isn't necessary, is when the TAS movie itself is already in a prepared state. At this time, only TAS movies saved in Mupen's .m64 format fit this exception.
TAS-capable emulators usually save their inputs on a frame by frame basis, into a TAS movie file. Typically each frame contains a single input value (per controller) which should be valid for the entire frame. However, this does not match how most systems actually handle input. The replay process often requires additional information or an entirely different method of timing inputs. In order to resolve this discrepancy, TAS movies must be dumped into another format.
Dumping is typically performed by running a Lua script in an emulator while simultaneously playing through a TAS movie. Rarely, an emulator may provide a feature to dump TASes without using Lua. Which you should use depends on several factors:
- the emulator the TAS was created with
- the target computer/game system
- the dump format required by the replay device
Here are the available scripts based on the respective emulator and target system:
| System | Emulator | Scripts |
|---|---|---|
| NES | BizHawk | .TASD | .r08 |
| NES | FCEUX | .TASD | .r08 |
| SNES | BizHawk | .TASD | .r16m |
| GB/GBC | BizHawk | GBI |
| GBA | BizHawk | GBI |
| Genesis | Gens | .TASD |
| Atari 2600 | BizHawk | .TASD |
If there are no scripts available for the emulator/system you want, then you may need to write your own. Additionally, some emulators may not have the ability to dump a TAS.
TASD Format
First published in 2025, the Tool Assisted Speedrun Dump file format serves as a method to store all the information needed for a TAS replay, regardless of system or replay device. It was designed and written by ViGreyTech and Bigbass.
Historically, dump formats were ad-hoc, designed only to be "good enough" for a specific replay device and specific console. Often additional parameters were also needed yet weren't stored in said files. Thus they were one-off files that couldn't be readily shared or preserved. The TASD format was established fix this by combining all replay data into a single file, while remaining easy to generate and parse. Developers are encouraged to adopt this format going forward.
The full format specification can be found at https://tasd.io/
An awesome list including programming libraries, dump scripts, and more is also available.
Troubleshooting and Questions
Ask in the TASBot discord for help.