Skip to content

Test suite instructions

rasteri edited this page Jun 5, 2021 · 10 revisions

The TAStm32 Test Suite is designed to verify that a particular TAStm32 setup is working correctly by pushing the controller ports to their limits. And also be an entertaining showcase of the kinds of things TAStm32 is capable of :)

This document contains information about each run, as well as instructions to get them running on TAStm32, either while hooked up to a computer or using the new tasPod standalone functionality.

File Location : http://rasteri.com/TAStm32_test_suite.zip

If you would like to try other games, there are more NES TASs in the TASBot repository on github - https://github.com/dwangoac/TASBot-Projects/tree/master/replayfiles. Note however that these might require alteration to work properly.

Info about tasPod

tasPod is a fork of TAStm32, designed to be entirely standalone and playback files from a USB stick. These improvements have been merged into the TAStm32 codebase and will be usable in the upcoming version (v4) of the TAStm32 board

Playback guide

Optional Everdrive steps

If you want to use an Everdrive, you will first have to :

  1. Make sure RESET DELAY is ON in the Everdrive settings menu
  2. Load the game you want from the game list
  3. Keep the console switched on while you disconnect controller and connect TAStm32

Main guide

  1. Connect a cable between Player 1 on the TAStm32 and controller port 1 of the console.
  2. Get the run ready -
    • If using computer-based playback -
      1. Connect a Micro-USB cable between your computer and the COMPUTER port of the TAStm32
      2. Type or paste the command line for the appropriate TAS into your Windows/Linux/MacOS shell.
    • If using tasPod standalone playback -
      1. Connect the USB drive to the STORAGE port on TAStm32.
      2. The TAStm32 screen will show No USB, then after a few seconds a list of files.
      3. Select the file you want using the UP/DOWN buttons.
  3. (if not using Everdrive) Insert the appropriate game into your console, and turn it on.
  4. Hold down the RESET button on your console.
  5. Hit RETURN on your computer to run the command line, or the PLAY button on tasPod - the screen will change to show controller inputs.
  6. Release the RESET button on your console.

If using an Everdrive, steps 4/5/6 must be done very quickly, otherwise the Everdrive menu will appear and confuse TAStm32 :(

Some runs require BOTH controller cables to be connected, these are marked with a (2). Connect the second cable between "Player 2" on the TAStm32 and controller port 2 of the console.

Run-specific information

This section explains each run individually, along with any special instructions, and the command line you need to run if doing computer-based playback.

Super Mario Bros.

This is a great game to start testing with as it’s very simple but also very fun to watch.

SMB-warps by HappyLee

Completes the game in 4m 57s using warp zones.
python3 tastm32.py --console nes SMB-warps.r08

SMB-warpless by HappyLee & Mars608

Completes the game in 18m 36s without warp zones.
python3 tastm32.py --console nes SMB-warpless.r08

Gradius

Gradius-adelikat by adelikat

This game doesn’t seem like it would be much fun to speedrun, but adelikat managed to pull off an amazing showcase nonetheless.
python3 tastm32.py --console nes Gradius-adelikat.r08

Super Mario Bros. 3

This game lets us take things to a whole new level!

However you need a very specific version of SMB3 - it has to be the NES "USA PRG1" version, which is marked with "NES-UM-USA-1" on the cartridge. This can also be of course loaded from Everdrive if you don’t have a copy.

Also SMB3-mono-pcm does not work fully on a Famicom, it needs an NTSC (USA) NES (or perhaps an Analogue NT? I haven’t tested)

SMB3-backdoor(2) by Lord Tom

Does all kinds of crazy things with the SMB3 game - I won’t spoil the surprise!
python3 tastm32.py --console nes --players 1,5 --dpcm --clock 14 SMB3-backdoor.r08

SMB3-mono-pcm(2) by many people

This again does some crazy things. Once the music has finished, run SMB3-mono-tune (WITHOUT resetting the console) for an additional surprise!
python3 tastm32.py --console snes --players 1,5 --dpcm --clock 14 --transition 2122 A SMB3-mono-pcm.r16m

SMB3-mono-tune(2) by rasteri

Used in combination with SMB3-mono-pcm. Sorry about the music but I’m a big hiphop fan :)
python3 tastm32.py --console snes --players 1,2,5,6 SMB3-mono-tune.r16m

Super Mario World

Super Mario World lets us do even crazier things! Again you need a specific version - USA SNES. All of the runs below require you to start SMW from the beginning of the game - not from a savegame. Use the SMW-del-save run to delete the first savegame from the SMW cartridge so you don’t have to plug in a controller after every run.

SMW-del-save by Ownasaurus

Deletes the first savegame from the SMW cartridge, as mentioned earlier.
python3 tastm32.py --console snes SMW-del-save.r16m

SMW-warps by BrunoVisnadi

Completes SMW in 9m 35s using Star World as a shortcut.
python3 tastm32.py --console snes SMW-warps.r16m

SMW-Total-Control(2) by MasterJun

Similar to SMB3-backdoor but even more impressive. Emulates two multitaps with a total of 8 virtual controllers!
python3 tastm32.py --console snes --players 1,2,3,4,5,6,7,8 SMW-Total-Control.r16m

SMW-SMB(2) by Masterjun

Again I won’t spoil the surprise.
python3 tastm32.py --console snes --players 1,2,5,6 --blank 3 SMW-SMB.r16m

SMW-stereo-PCM(2) by Total

Plays stereo audio over the controller ports! Once it finishes play SMW-stereo-tune (WITHOUT resetting the console)
python3 tastm32.py --console snes --players 1,2,5,6 --blank 3 smw_stereo_pcm_v6.r16m

SMW-stereo-tune(2) by rasteri

Used in combination with SMW-stereo-PCM. Again sorry about the music :)
python3 tastm32.py --console snes --players 1,2,5,6 SMW-stereo-tune.r16m