IMPORTANT NOTE: the file that is uploaded here is the wrong file and is simply a placeholder (because the parser does not understand the as-of-yet unreleased Gambatte core). The correct file can be found at:
This is a comparison movie that completes Pokemon Red up to identifying the trainer ID using the new Gambatte SGB core in lsnes. I tried to always do everything on the very first frame possible. As was somewhat expected, this move does not synchronize on real hardware without some twiddling because the core or the process of handoff from SNES to SGB is somewhat inaccurate (by about 1 frame). Raw data dump from my testing sequence:
There's exactly 1 frame off at the beginning of the movie (i.e. I had to add 1 frame in order to allow the start button press to be recognized when playing back the dumped run on real hardware). The base movie trainer ID is 25143 per emulator; adding 1 frame before first button press causes the emulator to desync, manually playing through anyway changes trainer ID to 40964. I got it to sync further on real console by adding one frame at the very start and adding another immediately after acknowledging the grandson's name; that allowed the real console to sync until meeting Prof. Oak, late enough that the Trainer ID should have already been decided. I played through the rest manually and got trainer ID 18765.
Late in my testing, I replayed the exact same file I had tested before and for whatever reason the timing is was wrong at the very beginning. I'm not sure if I mangled the .r16m replay file somehow or if there is other saved data impacting the real hardware startup - if it's the latter it is far more concerning. Additional testing is required.
(Again, the file in this upload is the wrong one, please download the correct file from http://acbit.net/static/tas/PokemonRedSGBdwangoACnewGambatteCore.lsmv instead.)