actually, a wonderful backronym
invented for TAS (i forget who i heard it from) was Tool-Assisted Superplay
. that, in one simple stroke, puts together any run that uses tools and does stuff that is anywhere from very difficult (eg walljumps, midair jump-off-an-enemy timing) to impossible (eg frame-perfect glitches, subpixel manipulation). that means tool-assisted speedruns, tool-assisted walkthroughs, and most tool-assisted runs in general. in fact, simply hitting A/B on the first frame possible to speed through the start screen (or menus, or entering levels from the OW) would count.
also, something to get those TAS juices flowing: i completed a level of my new puzzlish! v2.0 expansion (it's going to have more kaizo-puzzle levels, but with a little less focus on the puzzles this time around) and then proceeded to successfully TAS it using ZSNES, even though there was this one jump that was kick-in-the-balls hard. (link
). anyway, advertising it is not the point: i think i figured out why ZSNES desyncs so often.
since ZSNES has a metric ton of speed hacks written into it for games to run at more or less 60fps with low CPU usage, there were some corners cut when controller input recording and time continuity issues (rewinds, savestates, pausing, and the like) met, shook hands, and danced around a little bit. ZSNES tries to record what happens when
, unlike SNES9x, which records what frame what was pressed or held
(probably by directly manipulating $15 to $18 or something). this means that when you introduce rewinds, pauses, etc, you get some input not continuing properly through the jump in time, whether during recording or playback*. savestates seem to usually preserve the input properly, if you keep them consistent between level modes (savestating on the OW and loading it back while in the level you entered can sometimes cause a desync, etc). frame advance is just completely fucked over on ZSNES, so i wouldn't even suggest touching it with a 50 foot pole if you care about your TAS.
remember: sometimes it's just the fragility of the situation that will desync your TAS. try taking a different route, or just upgrade to SNES9x completely.
so yeah. something to chew on. using only savestates and slowdown (AFAIK up to 1/64 speed works fine) in ZSNES has a higher chance of your TAS not desyncing. and that was why.
* try it yourself: record something kaizo and preferably long-ish with only savestates, then play it back and use pauses and rewinds often during it - you will usually get a desync later on.