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.

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:
  1. Download/Install any software necessary for using your replay device (varies per device)
  2. Connect your replay device to the relevant console (e.g. plug in controller cables, hook up reset/control wires)
  3. Prepare the sequence of inputs to be replayed on hardware, or download a file prepared by someone else
  4. Provide your control software with the input data and any additional configuration
  5. 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:
Here are the available scripts based on the respective emulator and target system:
SystemEmulatorScripts
NESBizHawk.TASD | .r08
NESFCEUX.TASD | .r08
SNESBizHawk.TASD | .r16m
GB/GBCBizHawkGBI
GBABizHawkGBI
GenesisGens.TASD
Atari 2600BizHawk.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.

ConsoleVerification/Guide last edited by Bigbass 16 days ago
Page History Latest diff List referrers View Source