Skip to main content

Overview

Dolphin includes comprehensive Tool-Assisted Speedrun (TAS) features that allow frame-by-frame gameplay control, input recording and playback, save states, and other tools for creating perfect gameplay sequences.

What is TAS?

Tool-Assisted Speedrunning uses emulator features to create optimized gameplay recordings:
  • Frame advance: Progress one frame at a time
  • Save states: Save/load at any point instantly
  • Input recording: Record and replay controller inputs
  • Re-recording: Modify previously recorded inputs
  • Slowdown: Play at reduced speed for precision
TAS runs are not considered legitimate speedruns but are valuable for research, entertainment, and discovering game mechanics.

Enabling TAS Features

1

Enable TAS Input

Config > GameCube/Wii > ControllersSet controller ports to “TAS Input”
2

Open TAS Input Window

Tools > TAS InputOpens the TAS input controller window
3

Configure Hotkeys

Options > Hotkey SettingsSet hotkeys for:
  • Frame advance
  • Save state
  • Load state
  • Start/stop recording

TAS Input Window

The TAS Input window provides complete control over controller inputs:

Buttons

  • A, B, X, Y, Z, Start: Click to activate
  • D-Pad: Up, Down, Left, Right
  • L, R Triggers: Digital buttons or analog sliders

Analog Sticks

  • Control Stick: X/Y coordinates (-1.0 to 1.0)
  • C-Stick: X/Y coordinates
  • Visual circle: Click to set position
  • Numeric input: Precise coordinate entry

Wiimote Controls

  • Pointer: X/Y screen coordinates
  • Shake: Trigger shake motion
  • Tilt: Roll, pitch, yaw controls
  • Extension: Nunchuk/Classic Controller inputs

Frame Advance

Step through gameplay one frame at a time (60 FPS = 16.67ms per frame).

Using Frame Advance

1

Pause Emulation

Press pause or use hotkey
2

Set Inputs

Configure desired inputs in TAS Input window
3

Advance One Frame

Press frame advance hotkeyGame processes one frame with current inputs
4

Repeat

Modify inputs and advance frame-by-frame
Frame advance is crucial for precise timing of jumps, attacks, and movement.

Input Recording

Record controller inputs to create replayable gameplay sequences.

Recording Movies

1

Start Recording

Movie > Start Recording InputChoose save location for .dtm file
2

Play Normally

Play game normally or use TAS toolsAll inputs are recorded
3

Stop Recording

Movie > Stop Recording/PlaybackSaves .dtm movie file

Playing Back Movies

1

Load Movie

Movie > Play Input RecordingSelect .dtm file
2

Start Game

Game begins from initial stateRecorded inputs play automatically
3

Watch or Modify

Watch playback or start re-recording

Re-recording

Modify existing recordings:
1

Load Movie for Re-record

Movie > Play Input RecordingCheck “Re-record” option
2

Play to Desired Frame

Let recording play to where you want changes
3

Provide New Inputs

Take control with new inputsRecording continues from this point with new inputs
4

Save Changes

Movie > Stop RecordingUpdated movie is saved

Save States

Instantly save and restore complete emulator state.

Save State Slots

Dolphin provides 10 save state slots (0-9):
Shift + F1-F10: Save to slot
F1-F10: Load from slot

State Manager

Tools > Save State Manager:
  • View all states: Browse saved states with screenshots
  • Load any state: Double-click to load
  • Delete states: Remove unwanted states
  • Export/Import: Share states with others

Best Practices

  • Use different slots for different points in TAS
  • Save before risky maneuvers
  • Name states descriptively using State Manager
  • Regularly backup state files
Windows:
Documents/Dolphin Emulator/StateSaves/
macOS:
~/Library/Application Support/Dolphin/StateSaves/
Linux:
~/.local/share/dolphin-emu/StateSaves/
Save states are emulator version-specific. States from older Dolphin versions may not work on newer versions.

Frame Counter & Lag Detection

Display Frame Count

View > Show Frame Counter:
  • VI (Vertical Interrupt): Game frames rendered
  • FPS: Current rendering speed
  • Speed: Percentage of normal speed

Lag Frames

Lag occurs when game takes >1 frame to process:
  • Visible in frame counter: Lag frames noted
  • Affects timing: Plan TAS around lag
  • Game-dependent: Different games lag differently

Memory Watching

Monitor game memory values in real-time:
1

Open Memory Tools

Tools > Cheats Manager
2

Add Watch

Right-click address > Add to Watch
3

Monitor Values

Watch window shows real-time valuesUseful for tracking position, speed, RNG, etc.

Common TAS Uses

  • Position tracking: Monitor X/Y/Z coordinates
  • Speed monitoring: Verify optimal movement
  • RNG manipulation: Track random number generation
  • Timer watching: Frame-perfect timing checks

Speed Control

Control emulation speed for precision or faster testing:

Hotkeys

Tab (hold): Fast-forward
Shift + Tab: Increase speed limit
Ctrl + Tab: Decrease speed limit

Slowdown for Precision

Emulation > Speed Limit: Custom (25%, 50%, etc.)
Useful for:
  • Planning difficult sequences
  • Studying game mechanics
  • Identifying optimal paths

Movie File Format

Dolphin movies (.dtm) contain:
  • Input data: Frame-by-frame controller inputs
  • Game ID: Which game the movie is for
  • Start state: Initial conditions (save state or boot)
  • Frame count: Total recorded frames
  • Metadata: Author, description, timestamps

Sharing Movies

For movie playback to work identically:
  • Use same Dolphin version
  • Same game version/region
  • Same Dolphin settings
  • Same starting save state (if used)

Lua Scripting

Advanced TAS creators can use Lua scripts for automation:
  • Automated input: Generate inputs programmatically
  • Memory manipulation: Read/write game memory
  • Visual overlays: Display hitboxes, paths, info
  • Bot assistance: AI-assisted input generation
Lua scripting requires programming knowledge and is for advanced users only.

TAS Workflow Example

1

Plan Route

Research optimal path, tricks, glitches Watch existing speedruns for reference
2

Set Up Dolphin

Configure TAS Input for all needed controllers Set up hotkeys for frame advance, save states Enable frame counter and memory watch
3

Start Recording

Movie > Start Recording Input Begin from game start or specific save state
4

TAS Frame-by-Frame

Use frame advance for precise inputs Save states before risky sections Re-record mistakes
5

Optimize

Review recording for improvements Check memory values for optimality Re-record slow sections
6

Verify & Export

Playback full movie to verify Record video with capture tools Share .dtm file and settings

Tips for TAS Creation

Input Precision

  • Use numeric input for exact analog stick values
  • Frame-perfect inputs require frame advance
  • Save before attempting difficult tricks
  • Watch memory values to verify success

Optimization

  • Every frame counts: minimize lag and wait times
  • Test multiple approaches to find fastest
  • Study game mechanics deeply
  • Use community knowledge and existing TASes

Recording Quality

  • Use high resolution and enhancements for video
  • Configure graphics settings before recording
  • Disable speed limit during final recording
  • Add HUD elements (input display, frame counter)

Troubleshooting

  • Verify exact same Dolphin version
  • Check game version/region matches
  • Ensure settings are identical
  • Confirm save state (if used) is same
  • Disable “Dual Core” for better sync stability
  • Reduce emulation speed limit
  • Use slower hotkey repeat rate
  • Consider using Lua script for controlled advance
  • Verify recording is active (Movie menu shows “Stop”)
  • Check TAS Input is selected in controller config
  • Ensure you’re using TAS Input window, not physical controller
  • Update to latest Dolphin version
  • Don’t use states across different versions
  • Verify game image is not corrupted
  • Try different save slot

Community Resources

  • TASVideos: Community hub for TAS creation and submission
  • Dolphin Forums: TAS discussion and help
  • Game-specific Discord servers: Detailed game knowledge
  • YouTube: Watch existing TASes for inspiration
General:
  Enable Dual Core: OFF (better sync stability)
  Enable Idle Skipping: OFF (consistent timing)
  
Graphics:
  Internal Resolution: Native (fastest, most stable)
  Enhancements: Disable (reduce lag)
  
GameCube/Wii:
  Controller Ports: TAS Input
  Memory Card: Enabled (if needed for saves)
Disable enhancements during TAS creation for stability. Enable them when recording video for presentation.

Cheats & Action Replay

Memory modification and cheat codes

RetroAchievements

Achievement tracking during gameplay