I've been working on a Blaster Master TAS, doing the whole thing by hand in TAS Edit... I just find it a lot easier and more intuitive than the traditional frame advance + rerecord method. However, it seems to interact somewhat strangely with RAM Search and I'm wondering if there are some settings I need to change or if there's a workaround for the issues I'm encountering.
When using TAS Editor, the emulator doesn't seem to re-emulate "known" frames when skipping forward and backwards. This is generally convenient since it means you can skip around more quickly, but it also makes it so the RAM values don't update in RAM search unless it's actually emulating new frames. This makes it inconvenient to find changes in memory over the course of a few frames without actually changing the corresponding inputs. Am I missing something?
Also, there's a RAM Search feature that I would find extremely useful but I haven't seen it documented so I don't know if it exists. I'm getting some desync when changing the input sequence during pause frames, manifesting itself as minor graphical differences (the tank's tires are rotating slightly differently, but the tank's position and velocity are the same) followed by dis/appearance of lag frames at seemingly unrelated times. It would be really great if I could use RAM search to compare, say, frame 2600 of two movies which differ only by a minor change in the input on frame 2132. Is there a convenient way to do this?
Hey, I have great news for you. TAS Edit from FCEUX 2.1.5 was completely rewritten into TAS Editor for FCEUX 2.1.6. Download it here: http://fceux.com/zip
The issue about RAM Search is fixed there. Feel free to ask questions on usage, because it's very different from what old TAS Edit used to be.
That's damn right.
Not sure what you mean by desync in this context.
To compare results of different movie branches you should use Bookmarks (movie savestates).
1. Make the first movie and stop the Playback cursor (light-blue line) at frame 2600. Save this to Bookmark 1 (either by pressing Shift+F1 or right-clicking on the first Bookmark). The "1" icon will appear near the frame in the Piano Roll.
2. Change Input of frame 2132/etc and replay this newly created branch of your project to the frame 2600. Save it to Bookmark 2 (Shift+F2). The "2" icon will appear near the frame in the Piano Roll, but the "1" is still there, under it.
3. Now you can compare two versions of the game state at frame 2600 by repeatedly switching between these two branches. To do it, either press F1 or F2 or F1 or F2... or double-click on respective Bookmark icons in the Branches Tree.
In your case the Tree will look as simple as that:
To switch to the Tree view, click on the Bookmarks/Branches caption.
I guess this isn't the normal usage... I mean that I'm getting different results when it doesn't seem like I should. In one branch, I am "switching weapons" while paused, but in a way that doesn't actually change what weapon I have equipped. (Specifically, switching weapons to the right when I already have the rightmost weapon equipped.) This is causing a lag frame to appear or disappear significantly later, and I'm trying to figure out why.
Though this helps me visibly compare the resulting frames, clicking back and forth between bookmarks doesn't seem to update RAM search, so that doesn't work. I'm trying to find what RAM values differ between those two branches, since there are few (purely cosmetic) differences until the lag frame occurs and disrupts the whole movie.
Ah, that's not quite desync, you're just dealing with unknown behavior of the game that needs to be investigated. Indeed, such cases need both RAM observation and probably even code debugging.
Wait, how is doesn't update RAM Search? I've just tested branching, and it updates it (and if it weren't, that would be a bug).
Are you sure you actually switch between branches? To do it, you have to double-click the icon, not just single-click.
OK, I'm trying it now and it's working. I thought I was following your instructions, but I guess I was doing something wrong without noticing. Anyway, thanks!