zmv improvements

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

Post Reply
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

zmv improvements

Post by michael flatley »

It would be very convenient to have an auto-record feature for zmv's. For instance when toggled the feature would allow a zmv (call it .zma) to be recorded at the start of every load state. Overwriting of the previous zma would be assumed. Entering the GUI would end the zmv recording. This could be implemented without altering the GUI. Having to go through the GUI and always go through the overwrite warning can be a pain when recording lots of zmv's. I'm open to other ways of coding a GUI-free recording feature.

Also, I currently have to reload the rom before EVERY load state followed by zmv record or else the zmv will be corrupt. This clearly shouldn't be required and it is a huge annoyance. If this is a bug that the developers don't know how to fix then why not just put the reload rom code before every load state?

Thanks for the consideration.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Uh don't use savestates in ZMV mode?
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

So you are saying that every time I want to record a section of a game I should play the game all the way through until it is time to record? And if the recording is unsatisfactory for whatever reason I have to play through the entire game again for another chance at the record? Do you see how the zmv feature becomes almost worthless without savestates? Thanks for the quick feedback.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

No, you should load a savestate, then start the movie recording. Thats all I am saying.
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

I don't understand your point at all, this is exactly what I said I was doing. Let me explain again. Here is how the process should work.

1) Load rom
2) Load state
3) Record
4) If needed load state and record again...

In doing the above process I've found the resulting zmv is corrupt almost every time. The recorded zmv will have perfect playback in the same instance of zsnes but when you exit and reload the emu the zmv is corrupt. The following process is what I do to avoid the bug.

1) Load rom
2) Load state
3) Record
4) If needed load rom, load state, and record again...

In the above process the resulting zmv is valid about 90% of the time. Am I doing something wrong? This really seems like an emulator bug and I thought it was known to the developers.

edit:
I thought I should mention that I never access the GUI while recording. I only exit to the GUI when I wish to call stoprecord. Thanks again.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

OK what do you mean by corrupt? Does it desync or does it not work at all or what exactly is going on.
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

Let me state the most important fact first. Every zmv I've ever recorded has had playback identical to what I recorded if run in the same instance of zsnes. No matter what I do beforehand the zmv will always reproduce my input exactly if I keep the same instance of zsnes open. Here is where things get odd.

1) If I do several recordings resulting in overwrites without reloading the rom before each "load state->record zmv" I'll get a zmv that has perfect playback in the same instance of zsnes. However, if I exit zsnes, reload it, and play the movie again it is totally out of sync. The zmv (or the way in which it is interpreted) changes between instances of zsnes.

2) If I do everything above but reload the rom before each "load state->record zmv" the problem is semi-resolved. I still get the same error but it happens much less frequently.
Last edited by michael flatley on Fri Jan 21, 2005 3:53 am, edited 1 time in total.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Ok here's the deal. It would make it easier for me to fix this if I knew the version it started happening in, but I don't have time to test this. I would suggest starting at 1.337 and working from there. Let me know when the problem starts then I will have somewhere to work.
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

Deal. Can you reproduce the bug yourself in the current version? I'm using the windows port, Super Metroid if it makes a difference...
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Yeah I just reproduced it. I have a feeling it's related somehow to the netplay and rewind bugs. So I would like to find out why this is happening.
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

Hmm, just made 25+ attempts and couldn't get my zmv's corrupted with any version! I did, however, get them corrupted on the first try when using slow motion while recording. I've been slow-motioning some of the humanly-impossible tricks in Super Metroid and these are the times when I'm obviously recording over and over. This is why the zmv recording has seemed so buggy to me. Anyway, when recording in slow motion I can reproduce the out-of-sync zmv's even in version 1.337. You need any more research done?
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Was 1.337 the earliest version you tried? I would be interested in trying stuff like 1.20 or 1.25 and later too.
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

Bug is the same in 1.20. I have good news, though. After ten attempts I couldn't produce a bad zmv in 1.25. The demo recording is different in this release, after loading a state while recording the emu requires you to click stop before you can click record. No other versions of zsnes do this (that I've tried). So 1.2 is broke and 1.25 seems to have fixed the issue. If you need more testing I'll work on it tomorrow.
pagefault
ZSNES Developer
ZSNES Developer
Posts: 812
Joined: Tue Aug 17, 2004 5:24 am
Location: In your garden

Post by pagefault »

Thats very interesting indeed. So are you positive that 1.25 has no problems with ZMV? If so can you find out the next version that has problems (the version it gets broken in) then I can go into CVS and narrow it down and work on a fix.
Post Reply