TASBot
TASBot is a tool-assisted speedrun robot created in 2014, developed by a team led by dwangoAC. The robot takes a list of controller inputs which it then sends to a console such as a Nintendo Entertainment System or Super Nintendo Entertainment System (SNES) directly via signals to the controller ports. TASBot is known for its appearances at popular speedrunning events such as Games Done Quick. History. The idea for TASBot began around 2009 when a user of the tool-assisted speedrun website "TASVideos" created a device which could send a predetermined list of inputs to a Nintendo Entertainment  System directly via its controller ports. Over the next few years a number of different people developed similar devices and techniques to automatically play video game console games directly through their hardware. dwangoAC first developed TASBot by building on the concepts and guides for these earlier devices along with assistance from their creators. The robot is now developed and maintained by a team. The first version of TASBot – which was initially named ROBBerry Pi for the R.O.B. model exterior and Raspberry Pi internals – debuted at Awesome Games Done Quick (AGDQ) in 2014, playing "Gradius", "Mario Kart 64", and "Super Mario  World". TASBot contains a "replay board", which takes a predetermined list of inputs from a Linux machine and uses them to send signals directly to a console's controller ports. The list of inputs is written and recorded manually, tested on an emulator. Controller inputs need to be timed extremely accurately; some live runs failed as a result of slight electromagnetic interference from crossed wires. Speedruns. At its debut during AGDQ in 2014, TASBot played "Super Mario World". By leveraging an arbitrary code execution glitch, the run allowed players to play "Pong" and "Snake" inside the game. At AGDQ 2015 , TASBot used the same exploit to code a copy of "Super Mario Bros." into "Super Mario World", writing the game to the SNES and then playing it. It also played "Pokémon Red", during which the event's Twitch chat was fed into the game in realtime. During the AGDQ event in 2016, it wrote a "Super Mario Maker" level editor onto an SNES in realtime while it was running a game, an improvement over stopping and then replacing the game as in previous events. At the summer SGDQ event of the same year, TASBot "completed" "Super Mario Bros. 3" in  less than one second by performing almost 8,000 inputs per second. At AGDQ 2017, after demonstrating similar runs from previous years, TASBot appeared to play "Super Mario 64" and "Portal", and make a Skype call on a SNES. This was achieved by streaming video and audio to the console after taking control of it via "". The bandwidth was sufficient to display a 128×112 video at 10 frames per second. At SGDQ 2018, TASBot ran "Celeste". At AGDQ 2019, the TASBot team showcased MASHBot, a new robot which physically presses controller buttons, rather than directly sending signals via the controller port . Initially designed to work with a Game Boy Advance SP, the robot debuted by playing Nintendo DS game "Super Scribblenauts" via the touchscreen. In 2020 the team set up TASBot to play on a Nintendo Switch. In this case, however, the source code will not be made available, to avoid legal issues with Nintendo.