I spent a few weeks building a Discord bot that allows you to play NES/SNES/GB/GBA games over chat. Think “TwitchPlaysPokemon”, but with GIFs. It accepts button presses, emulates the result, and encodes a GIF to view!
"popular" isn't what the site claims. It claims this is at the emulation level, not game level. If I can't make my own rom and have it work, what it advertised is a lie.
It's an open source project, they aren't selling you anything. If you find it doesn't work as intended for a given ROM, you roll up your sleeves and fix it, ensuring the intended feature remains complete.
Or I guess one could just complain and nitpick on Hacker News.
@kevincox and @g_hn_liaison have it right. There's a set of parallel workers that test different button inputs. The "output" is the last frame rendered to the screen after extra few frames to let the game respond. Those button outputs are compared with an "idle" output to determine if pressing any input could change the output. If not, then continue to autoplay until an input matters.
Maybe it tries to emulate extra frames with different buttons pressed and if it doesn't make a difference it plays those frames for you?
Of course detecting "doesn't make a difference" is very difficult because most games will keep at least the current and last frame of input in memory somewhere. So you would need to be careful enough to ignore that.