https://www.youtube.com/watch?v=osY4fcXE9qQ (will be changed to the uploaded TAS video once that is uploaded by myself)
The TAS was originally done on Bizhawk emulator version 2.6.2 that has patches which make its emulation accurate enough to be verifiable on the Game Boy Player console. The choice to use specifically GBA as the emulated platform is due to the ability for console verification on GBI and the use of the GBP platform in the RTA speedrunning community for Pokemon Gen 1-3. The youtube upload above demonstrates this console verification.
While this is not the fastest possible TAS of Pokemon Yellow, the primary reason of this was to experiment with a TAS itself that was geared towards a broader audience that could enjoy this project itself. The primary goal is to have fun with the TAS, as this was my first TAS project I ever worked on.
Some of the timesaves or timelosses listed below will be from TiKevin83's TAS video submitted here (http://tasvideos.org/6985S.html) as he explains some of the information for the beginning of the game.
It was known around the time of the creation of the previous TAS that setting options in-game was faster than setting them at the "new game" screen, but fixing this was infeasible until improvements were made to the use of botting tools for Nido and Pidgeotto manip. (in other words, the good nido manip relied on the flawed use of new-game options for RNG). With a reliable way to bot new nido and pidgeottos this is no longer a problem.
Pika Cutscene Transition:
During the creation of the Yellow NSC TAS I discovered with the help of the PSR programmers that different rival name settings were affecting the battle transition when Pikachu is encountered by Oak. The game compares the first pokemon in your party's level against the encounter's level to determine how intense it should make the animation appear. Since you don't have a pokemon yet, the game gets very confused and ends up reading from the same place that was used for temp storage while setting the Rival name. The practical upshot is that a 30 frame faster animation can be obtained by taking 20 frames to write data into the rival name and then delete it so that the name still ends up as A for later text. 4 other frames were saved through quirks up to the rival battle including pika stats.
Rival 1 with Tackle Animation On:
Hilariously, the Tackle animation is one of the only animations that is faster with animations on, and also the only animation used in the initial rival battle. Knowing that it's faster to set options in-game, it then becomes logical to delay the options set which turns off animations until after the rival 1 battle (which makes the battle extremely hard to manipulate without losing frames, and most of the difficulty of the rewrite was spent just in getting ready a double gen 1 miss rival 1 battle that doesn't have options set yet).
The following areas are specific to this TAS, rather than to every general Pokemon Yellow TAS.
By turning very quickly when accessing the PC or any question box in Blaine's gym, you are able to turn in a specific direction, aka "swag pc'ing" while you are using them. While this can happen in any TAS, this project decided to lose more time by having this happen in many different spots. This includes anytime we access the PC, or during Blaine's gym question boxes. Overall, a total of about 20-25 frames are lost on Swag PC.
Caterpie + Pidgeotto Manip:
In Viridian Forest, we programmed a bot to encounter manip for a level 6 Caterpie with a bare minimum of specific stats in order to get the best possible Butterfree for the game. After finding a Caterpie with DV's of 15/14/14/15, this allows us to then manipulate another encounter of a level 9 Pidgeotto, a 1% encounter. We bring the Pidgeotto down to 2 HP, then bring out Caterpie to finish the Pidgeotto off. We also have the Pidgeotto hit the Caterpie down to 1 HP in order to achieve Redbar for the entire forest.
Light Year Trainer:
In one of the first battles we have to fight, we go up against a trainer with a Diglett and a Sandshrew, both of which only know Scratch. This move cannot miss in generation 1, except by the 1/256 glitch. Due to Metapod's poor stats and having to use it at this point, we have to generate a fight that is near impossible to ever even consider happening. the fight requires 9 gen 1 misses, 5 1/39 crits, 2 1/39s and three normal crits just to finish with optimal turns, and crits are 15/256 due to Metapod's base speed. You also have to win a speedtie on the last turn. In total, the fight is about a 1/10^22 chance of ever happening. If you were not to program these gen 1 misses and be at full health at the start, the turns themselves would be slower due to no redbar, as well as having to heal on multiple turns in order to guarantee you do not die to either Diglett or Sandshrew.
After this section is finished, I am intending to create another version of this TAS that is faster and more optimized, as I found many different ideas for the run itself in order to save a significant portion of time. More details of the TAS will be added to that submission rather than this one in order to discuss them in detail there.