GBA Console Verification Pipeline

Write your TAS using BizHawk with the mGBA core

run a python script to convert the bk2 to a movie for Game Boy Interface (it will output as GBITimestamps.txt)

py -3 thescript.py yourmovie.bk2
Get the script

Rename+move the GBI output to an SD card for playback and set it as the movie in GBI's CLI file

--movie=yourmovie.txt

Run GBI with whatever method you use to load GameCube homebrew

Get GBIGet SwissBooting GBI/Swiss via the SD Media Launcher

(optional) you may need to clear your cartridge's save data to defaults before attempting playback. Separate cart dumping and flashing is not needed due to GBI. GBI can backup the cart's ROM and save data, and can flash those saves back or flash mGBA saves with the extension changed to .FLA/.SRM/.EEP for Flash/SRAM+FeRAM/EEPROM. The menu for this can be accessed in GBI-SR by putting default.mb.gz in the GBI folder and adding default.mb.gz to the CLI file. This can also be useful to dump the initial ROM before TASing a game to ensure that you're using the exact revision while TASing that will end up being needed on console

this pipeline is more experimental than GB/GBC, but it should provide a framework for documenting any issues with console sync

credit to Extrems and Endrift for their work on GBI and mGBA respectively