Just to make the bug report public, I told upthorn about Memory Watch -> close with X (not close button) -> Memory Watch does not bring up memory watch the second time.
And frame advance becomes continuous immediately (or near-immediately), which is bad, but the continuous speed is much faster than before (which is good, continuous frame advance on this emulator used to be painfully slow, especially to the ears).
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Just curious, would it be possible to add a 'movie preview' function? For example, after playing maybe 100 frames, I can set the movie to play back the last 100 frames in real time so I can see how it looks? This would be nice together with input splice...
I can't seem to find a way to bind a hotkey for frame seek... any chance to allow us to predefine our own hotkey for it too?
You can already do this by hitting Ctrl-T to switch to read-only and then loading a savestate you made before the part you want to watch. I suppose it could be further automated if it constantly made savestates for you...
I mentioned that in the post above yours, but at least that confirms it's not only happening for me.
You're correct, I forgot to comment out my modifications and uncomment your version for the release.
The behavior should be much closer to what you expected now, but I did some more tweaking to the frame advance key's behavior (and fixed a bug where you had to have the quickpause key defined for frame advance to autopause)
I have updated the zip file. those of you who already got 9z should redownload from the same location.
How fleeting are all human passions compared with the massive continuity of ducks.
Just curious, would it be possible to add a 'movie preview' function? For example, after playing maybe 100 frames, I can set the movie to play back the last 100 frames in real time so I can see how it looks? This would be nice together with input splice...
hit ctrl-t to toggle read only, load the state you were recording from, it will switch to playback. Nitsuja added this long, long ago, but people still don't know about it for some reason.
xoinx wrote:
I can't seem to find a way to bind a hotkey for frame seek... any chance to allow us to predefine our own hotkey for it too?
Next version. For now, you'll have to make do with "alt+t, m, f".
How fleeting are all human passions compared with the massive continuity of ducks.
Minor bug that I somehow didn't notice before: Changing the "Data Type" in the RAM search window doesn't update the displayed values accordingly, although you can click on something in the "Data Size" section to make them update. (I am posting this here in case someone wonders why changing it to Unsigned or Hexadecimal appears to do nothing.)
Also, the title of the "Changes" column no longer fits, presumably because of a widened address field, so something else should be adjusted to let it fit.
And the Edit Watch button has some problems:
- It duplicates the address being edited, which can cause other problems later.
- It doesn't update if you only change the address' notes.
- It doesn't allow you to enter lowercase characters in the notes, unlike the one from the RAM search dialog. New Watch does the same thing.
Minor bug that I somehow didn't notice before: Changing the "Data Type" in the RAM search window doesn't update the displayed values accordingly, although you can click on something in the "Data Size" section to make them update. (I am posting this here in case someone wonders why changing it to Unsigned or Hexadecimal appears to do nothing.)
Also, the title of the "Changes" column no longer fits, presumably because of a widened address field, so something else should be adjusted to let it fit.
And the Edit Watch button has some problems:
- It duplicates the address being edited, which can cause other problems later.
- It doesn't update if you only change the address' notes.
- It doesn't allow you to enter lowercase characters in the notes, unlike the one from the RAM search dialog. New Watch does the same thing.
Fixed, fixed, fixed, and updated zip file.
Redownload it once more.
How fleeting are all human passions compared with the massive continuity of ducks.
>Nitsuja added this long, long ago, but people still don't know about it for some reason.
Probably because Ctrl-T was not documented anywhere, and/or doesn't show up in the hotkeys dialog where people could have found it by accident. I heard about it only by word of mouth and this seems to be the case for most people.
>When Automatic Close Movie is unchecked, and a movie is open read-write, resetting will rerecord movie from start (even if movie had finished playing)
This behaviour sounds very dangerous, and not something you would ever want to do -- you would just start a new movie file instead. Also it will probably have to change when Gens supports recording resets (since I guess the behaviour is the same even if the movie hasn't ended yet).
I'll try it out as soon as I get home. Again, many thanks for taking the time to improve Gens.
Probably because Ctrl-T was not documented anywhere, and/or doesn't show up in the hotkeys dialog where people could have found it by accident. I heard about it only by word of mouth and this seems to be the case for most people.
Well, it was in the post of the version of Gens that added it, and it's in the readme file which apparently nobody reads, and I think it's somewhere on the emulator features page (it should be added if it isn't already).
Truncated wrote:
upthorn wrote:
When Automatic Close Movie is unchecked, and a movie is open read-write, resetting will rerecord movie from start (even if movie had finished playing)
This behaviour sounds very dangerous, and not something you would ever want to do -- you would just start a new movie file instead.
I don't think this feature is useful either, but it's probably not as dangerous as it sounds. You can clearly see that the game has reset, and if you don't intend to start over your recording then you'll load a savestate when you see that. It's only dangerous if you panic and overwrite all of your savestates, or if you weren't using savestates.
Should the movie file version info be updated as well now, or does none of this effect compatibility with previous versions of Gens? (I'm assuming not)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Something that always bugged me is CTRL+C closing the rom. this command should simply be removed. I use CTRL for frame advance, and C is the C button (zxc = abc). No, i shouldn't use other keys, this is what i use for all other emulators. The emulator should be configurable.
>When Automatic Close Movie is unchecked, and a movie is open read-write, resetting will rerecord movie from start (even if movie had finished playing)
This behaviour sounds very dangerous, and not something you would ever want to do -- you would just start a new movie file instead. Also it will probably have to change when Gens supports recording resets (since I guess the behaviour is the same even if the movie hasn't ended yet).
Well, as it turns out, it's something I forgot to implement.
I was planning to add it to complement the input splice functionality--suppose you didn't use frame precision on the menu just start a splice session with the target frame as the one after you finish the menu, rerecord from reset, redo the menu, and end your splice session.
But yeah, it's not as dangerious as all that, what with savestates restoring the movie up to that point.
Also, I think reset recording should be Soft reset, not hard reset.
Maximus wrote:
Should the movie file version info be updated as well now, or does none of this effect compatibility with previous versions of Gens? (I'm assuming not)
Movie playback should still be perfectly compatible with any version from 9f on.
Phil wrote:
So, no Sega Cd support :(
The SegaCD end of savestate support hasn't been improved, although the improvement to Genesis savestates may help sync some things. But it occured to me that the problem with rerecording TAS may actually the .brm file, as changes to .srm files will desync genesis games.
FODA wrote:
Something that always bugged me is CTRL+C closing the rom. this command should simply be removed. I use CTRL for frame advance, and C is the C button (zxc = abc). No, i shouldn't use other keys, this is what i use for all other emulators. The emulator should be configurable.
This will be in the Gens 10 release.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
I always get blank screen when I load savestate made with new version (old savestates work without problems), even if I am not recording a movie. I was using Klax (U) [!] rom (I really hoped "Added several previously unsaved variables to savestates" feature would fix that desyncing case... But I could not even test that =( )
It seems that loading a savestate now blacks out the already-drawn graphics (either by clearing the pixels or by setting the palette to black, I don't know which), which is a problem in places where a game shows a static image or playing field instead of something that can scroll, because the game doesn't update it and it stays black until the next scene change.
EDIT: this has been fixed
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Yes, that seems to be the case. When I save-load during first screen, I get black screen, but then menu appears.
NOTE: When old (9j) savestates are loaded, everything is displayed correctly, so problem is somewhere in saving.
I found a major error with RAM Search in gens_movie_9z.
A basic summary is that if the RAM Search dialog is open when the frame advances, RAM values will display incorrectly in RAM Search and RAM Watch, and your RAM Watches will become corrupted.
There was a similarly major error in the "Edit Watch" button on the RAM Watch dialog, which would cause the selected watch to be copied to all watches after it before being replaced
Both of these bugs have now been fixed.
ALL USERS WHO DOWNLOADED 9Z AND MAKE USE OF THE RAM SEARCH FUNCTION SHOULD DOWNLOAD THE UPDATE.zefiris wrote:
I always get blank screen when I load savestate made with new version (old savestates work without problems), even if I am not recording a movie. I was using Klax (U) [!] rom (I really hoped "Added several previously unsaved variables to savestates" feature would fix that desyncing case... But I could not even test that =( )
nitsuja wrote:
It seems that loading a savestate now blacks out the already-drawn graphics (either by clearing the pixels or by setting the palette to black, I don't know which), which is a problem in places where a game shows a static image or playing field instead of something that can scroll, because the game doesn't update it and it stays black until the next scene change.
zefiris wrote:
Yes, that seems to be the case. When I save-load during first screen, I get black screen, but then menu appears.
NOTE: When old (9j) savestates are loaded, everything is displayed correctly, so problem is somewhere in saving.
Fixed.
For Nitsuja: CRam_Flag is the problem variable.
[edit]
Removed broken link
How fleeting are all human passions compared with the massive continuity of ducks.
Ah, woops, the "New Watch" button wasn't working.
Well, it was setting the watch up fine and all, but it wasn't incrementing the variable which controls how many watches are displayed, or the number of the next watch to be written.
That has now been fixed.
And, once more, the zip file updated.
Unless there is a major bug discovered, this will probably be the last update before Gens 10.
How fleeting are all human passions compared with the massive continuity of ducks.
Version 10 will use this same Gens version.
As Gens 3 will be a complete rewrite, it will take quite some time to adapt all the rerecording modifications to it.
Besides, Gens 3 is not going to be out for a long time
How fleeting are all human passions compared with the massive continuity of ducks.
Hmm, this thing with including the movie name in savestate filenames is really annoying in some cases. While I'm watching a movie, I make a few savestates, then I close the movie because I don't want to screw up the movie while I'm experimenting, and then when I try loading those savestates it instead loads some completely different savestates from the ones I just made.
EDIT: It's not so bad that it can't be worked around when it gets in the way, but perhaps there should be an option for it.
EDIT2: Oh, and it's not a new bug, but look what happens if you choose "Screen Shot" from the menu instead of pressing the hotkey for it.
Hmm, this thing with including the movie name in savestate filenames is really annoying in some cases. While I'm watching a movie, I make a few savestates, then I close the movie because I don't want to screw up the movie while I'm experimenting, and then when I try loading those savestates it instead loads some completely different savestates from the ones I just made.
EDIT: It's not so bad that it can't be worked around when it gets in the way, but perhaps there should be an option for it.
EDIT2: Oh, and it's not a new bug, but look what happens if you choose "Screen Shot" from the menu instead of pressing the hotkey for it.
There are two user-end solutions to this with the current build.
Load the state while paused, close the movie, save the state
Use Shift-F8, or File->Load State to bring up a file-browser for state loading
I'll make it optional in the next bugfix, though, if any more bugs pop up.
How fleeting are all human passions compared with the massive continuity of ducks.
RAM search and watch are eating up CPU time like crazy, because the minimum (real-)time between visible updates has apparently been removed. That was intended to prevent those dialogs from slowing things down too much, and should at least be in there as an option, similar to the "Hog CPU" sound option. It's especially bad if you try using fast-forward while either or both of those windows are open (new input goes ignored for hundreds of frames), but even at 100% speed it's too taxing. The CPU intensive part is specifically the redrawing of the window's contents, not any of the actual real work done by RAM search/watch.