Intro: How to Build a N64 TASBot
I would like to start out with giving out two shoutouts and a description for a TASBot. The first shoutout goes to Arduino, if they had not formed their company, this tutorial would not be here. The second shoutout goes to SM64Vidz, for his amazing video that started this tutorial(https://youtube.com/watch?v=w_LuePTbvlw). However, I hopefully have simplified things for new Arduino users. The final shoutout goes to rcoms for uploading his source code to GitHub, which powers the bot. A TASBot is a robot used to play back TASes(see sonicpacker’s explanation: https://youtube.com/watch?v=R3-ohYvi_fc&) on an actual Nintendo or gaming console to verify if the glitches used in the TAS is just an emulator glitch, or if it would be fine if a human sent those exact inputs on a real controller. Or it could just be a way to make your friends think you got a world record. But anyway, let’s just get into the tutorial.
Step 1: Requirements
If you want to build a TASBot, you’re probably going to want the parts. So here they are:
1x Arduino Nano, on breadboard, with wire to your computer.
Arduino Program installed on computer(free)
1x MicroSD Card Module
1x MicroSD Card
1x MicroSD Card Reader
10x Female - Male Jumper Wires (they come in big packs for around 2 dollars, so they’re not that expensive)
1x Nintendo 64
1x Nintendo 64 Game
That’s all, so let’s start building!
Step 2: Computer
On the computer, go to https://github.com/rcombs/n64-tasbot and download it by hitting "Clone or download", then clicking "Download ZIP". After it is done downloading, extract it, and open the files until you get to the directory with the folder "sd-n64". See the file named, "crc_table.h"? Drag that into the folder named, "sd-n64"(fig. 1).
Then, open the Arduino program. Go back to the folder and open the sd-n64 folder. Inside you should find crc_table.h and sd-n64.ino. Drag sd-n64.ino into the Arduino program. Next, go to https://raw.githubusercontent.com/rcombs/n64-tasb... and copy everything inside by hitting Ctrl+A and Ctrl+C(command+A and command+C for Mac users). This will copy everything inside that webpage. If you haven't already, plug the end of the cord that came with the Arduino Nano into the side that fits, and the other side into the Arduino, and also, inside the Arduino program, click "Tools" at the top, and select my settings(shown in fig. 2 )
Go back to the Arduino program and delete all the code. Next, hit Ctrl+V (command+V on Mac). The code that you copied earlier will appear there. We have to change two things. They are both at the top. Change #define SD_SS_PIN 4 to #define SD_SS_PIN 10, and change #include "../crc_table.h" to #include "crc_table.h"(shown in fig. 3).
Next, you are going to need a TAS. Plug your MicroSD Card in, and find a TAS. All you need to do to do this is to simply search your N64 Game name, followed by TAS. Find a video relating to this, and they will most likely have it on tasvideos.org. Click the tasvideos.org/(there will be some numbers and letters here) link, and find the link that says "Mupen64 movie(.m64)"(shown in fig. 4). If it is a BizHawk Movie(.bk2), it will not work, so find another TAS.
Open it, and find the file that has the letters ".m64" at the end. Make sure your MicroSD card is formatted right(if not sure, follow the steps here but not the last step: https://www.instructables.com/id/Format-USB-Flash...
this is for windows, so Mac users, there is hopefully a tutorial online somewhere).Name the .m64 file to "1key"(shown in fig. 5). it should now look like "1key.m64". Now, put the MicroSD in the module. Don’t close anything, and let’s move on to the next step. We are done here for now.
Step 3: Wiring
So, now to wiring. Also, if this works with the reader that has the pin labeled “3.3”, let me know. So, here’s a table showing what wire goes where. If your module isn't labeled, refer to fig. 1.
CS — D10
SCK — D13
MOSI — D11
MISO — D12
VCC — 5V
GND — GND (the one next to 5V)
Your setup should now look like fig. 2.
Now put a wire in the GND pin and the D8 pin.
Now, take two wires and follow what is shown in the link below.
Repeat for both wires. Now, put the pointy(male) ends of the recently modified wires into the wires that attach to the D8 and GND pin. Refer to fig. 3 to find out where to plug the modified ends into the N64. Remember, it might take a bit of strength to push them in, but after that, it has a WAY more stable connection to the N64!
Your model should now look like fig. 4.
We are done wiring! Let's go back to the Arduino program!
Step 4: Finalizing
This is the last step. In the Arduino program, hit upload(the arrow button at the top). While uploading, hit "Tools" at the top, and select "Serial Monitor". If you get an error while uploading, there is probably a fix on the internet. When you are done uploading, the serial monitor will display:
SD initialization done. Opening file '1key.m64'... M64 Version: 3 File opened succesfully Initialization done.
If this is the case, turn on your Nintendo 64, which should be connected to your TV. When you switch your N64 on, somewhere during bootup, the Serial Monitor will have an extra line added to it:
When this happens, you know for sure that you built the TASBot right! Thanks for using this instructable today, and if something doesn't work, send me a screenshot of the serial monitor and your Nintendo screen! Have a great day!