Posts for upthorn


upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
As Nitsuja has alerted me to a major error with Gens 9z, here is a bugfix release with a couple new features. Changelist:
  • Unbroke Bulletproof Rerecording (reported by Nitsuja)
  • Unbroke savestate consistency checking (reported by Truncated and Nitsuja)
  • Fixed a (longstanding?) bug where movie headers doesn't update if the movie is in Read Only mode when it's closed
  • Changing the data type in Ram Search now causes the results to be refreshed (Reported by Nitsuja) (I had accidentally undone this)
  • RAM Watch should use less CPU now (Reported by Nitsuja)
  • Quicksave/Quickload names using movie filenames is now optional. (Reported by Nitsuja)
  • Continuous Frame Advance delay now configurable
  • Unbroke RAM Search. This one's fairly major, I don't know how I missed it.(reported by Nitsuja)
  • ACTUALLYUnbroke Bulletproof Rerecording (reported by JXQ and Nitsuja)
Download it here. Edit: Corrected URL Updated zip, added RAM Search note to changelog 9z is obsolete, link removed.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
Major problem: Bulletproof rerecording is not working at all. Loading any savestate invalidates all later savestates, and makes them give an "inconsistent state" desync warning even when recording. That warning indicates this change is intentional or at least anticipated, but I can't find any option to re-enable bulletproof rerecording.
Well no, deactivating bulletproof rerecording change was not intentional, or anticipated. I just rearranged the if statements after all the import functions so that there wouldn't be so many repeated conditions. I must have screwed up the logic somewhere. That's a high priority fix right there.
Truncated wrote:
>Loading any savestate invalidates all later savestates, and makes them give an "inconsistent state" desync warning even when recording. This sounds exactly like a problem I reported to Upthorn earlier. He suggested I must accidentally have activated read-only, because the "inconsistent state" warning should not occur in read-write mode.
While it's true that you must have accidentally activated read-only, it looks like Nitsuja has reproduced the problem you were having. Now that I know what the circumstances are, I can find it and fix it. Edit: Oh, you weren't in read-only, it's even worse than I thought.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
When Sega released Sonic Mega Collection, they claimed to have lost the original source code for Sonic the Hedgehog, which is why the game is actually a ported and modified version of Gens, with a Sonic related ROM collection. I'm guessing that Sonic: Genesis is just what happens when you have the current Sonic Team rewrite the Sonic engine from scratch.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Can you start a game and then quit it to get a blank save file, and then make it read only?
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Baxter wrote:
...long rant on invalidity of the top10 list Upthorn posted...
The whole point of me posting my process for generating the list was that if someone disagreed with the process, they could suggest alternatives, and/or create their own.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
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.
  1. Load the state while paused, close the movie, save the state
  2. 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.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
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.
Post subject: One last bugfix...
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
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.
Post subject: Zip Updated, major bug with RAM search fixed
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
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.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
I always read the submission comments on videos I watch, but I don't see the problem in having to find the submission page, it's always linked from the published movie page, which is easy enough to find again if you just remember the name of the game, and the system it's for.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Truncated 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. 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.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
BoltR wrote:
Or you could download a 'proper NFO viewer', or like... set your OS to open it with a text editor by default. Not that I think including an NFO is a good idea.
In Windows, NFO is actually a recognized extension -- for "MSinfo document" a filetype which contains system information in a nontext format. So that's not really a good solution.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Dromiceius wrote:
1ntru wrote:
Why not do that? It'd be pretty useful if you could read author's comments, rerecords count, filename of the ROM used, etc, without having to come to the site again. Maybe it could also help with traffic issues.
Hard drive clutter.
Bingo. NFO files are pointless when the submission text is already around for everyone to see. Also, NFO files are pointless period, because anyone who wants to read them has to rename them to TXT, the only reason the cracking and/or demo scenes still use them is because of tradition.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
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.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
xoinx wrote:
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.
Post subject: Re: Gens 9z released.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
Will the source be available somewhere? Also,
upthorn wrote:
[*]Tweaked the timing of continuous frame advance (courtesy of Nitusja)
I think this change didn't get into that executable or was further changed from the last time I saw it, because it is behaving quite differently (much too fast) in that gens_movie_9Z.exe, whereas it has a longer delay in the executables built from what's currently on SVN.
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.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Gens 9z is complete. Next version is the long-awaited Gens Movie 10, I promise Changelist:
  • Tweaked the timing of continuous frame advance (courtesy of Nitusja)
  • Fixed a bug where the checkmark by Automatic Close Movie displayed incorrectly
  • Fixed a bug where the last frame of input never got recorded.
  • Emulation no longer pauses at the end of a movie when Automatic Close Movie is unchecked
  • Added Savestate movie consistency checking (courtesy of Nitsuja)
  • Sound no longer causes disproportionate CPU usage (courtesy of Nitsuja)
  • Quicksaving during movies now prepends the name of the movie file (sans .gmv) to the savestate name
  • Quickloading during movies now checks for a savestate with the movie file name (sans .gmv) prepended to it
  • When Automatic Close Movie is unchecked, and a movie is open read-only, resetting will replay movie from start (even if movie had finished playing)
  • When Automatic Close Movie is unchecked, and a movie is open read-only after finishing playback, loading a state from the movie will resume playback from that state.
  • When Automatic Close Movie is unchecked, and a movie is open read-write after finishing playback, loading a state from the movie will resume recording from that state.
  • Added a Ram Search feature (courtesy of Nitsuja & Ideamagnate) with hardware accurate addresses (courtesy of me).
  • Added a Ram Watch feature with watchlist saving and loading.
  • Added several previously unsaved variables to savestates (courtesy of nitsuja) (NOTE!! this breaks segacd and 32X savestate compatibility in both directions)
  • Added an input splice feature, to allow for rerecording while saving work past a specified point.
  • Added a frameseek feature, which fastforwards to the specified frame, then pauses.
Edit: Updated the zip, same location with some bugfixes, you should redownload and overwrite the prior version:
  • Frame advance now pauses before becoming continuous. (Reported by JXQ)
  • Closing the Ram Watch dialog with X no longer causes it to refuse to reopen. (Reported by JXQ)
  • Hitting frameadvance while emulation is not paused will now pause emulation even if the quickpause key is not defined (Reported by Upthorn)
  • Changing the data type in Ram Search now causes the results to be refreshed (Reported by Nitsuja)
  • Size of RAM Watch columns modified so all names fit to start with (Reported by Nitsuja)
  • Behavior of "Edit Watch" corrected (Reported by Nitsuja)
  • Fixed an incorrectly constructed loop which caused every watch after the selected one to be overwritten when "edit watch" is used. (Reported by Upthorn)
  • Fixed an array out of bounds error which caused the automatic RAM search refresh to modify watches (Reported by Upthorn)
  • Fixed (the same) array out of bounds error which caused the automatic RAM search refresh to modify the value size and type variables. (Reported by Upthorn)
  • Fixed (the same) array out of bounds error which caused the "Watch" button on the Ram Search dialog to behave very incorrectly (Reported by Upthorn)
  • Fixed a bug where savestates were saving and loading with blanked screens (Reported by Zefiris)
  • Fixed a bug where watches added by "New Watch" weren't displayed, and were overwritten the next time "New Watch" or "Watch" in the Ram Search dialog was used.
Download it here. Edit: Errata:
  • 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 does not actually happen. I was intending to implement it for use during splice sessions, but forgot.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Blublu wrote:
Come on, guys. These videos are clearly a joke.
That doesn't make them funny or not stupid.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
upthorn wrote:
Now all that's left to do before the release of Gens_Movie_9.5 is to compile a list of the new features...
No 9k and onward?
The letters k and onward seem ugly to denote subversions, and I think there's been enough changed, at this point, to justify increasing the version number somewhat, but the milestone for 10 (GM2 implementation) hasn't been reached yet.
nitsuja wrote:
Let me check something first though, one of the RAM search features just struck me as wrong (and easy to fix, if you haven't already changed it).
Which feature? PM me.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
I don't think "ignores semi-important goals" needs to be removed so much as it needs to be given a clear definition, which is then applied with consistency. I always thought that it was a category for runs which ignore game goals that Have bearing on the plot, or convey an advantage to the player, but aren't necessary for completing the game (for instance, collecting emeralds in the Sonic games, collecting hearts in Zelda games, getting mushrooms in super mario), but that it was not a category for generalized sequence breaks (for instance: skipping bosses in Megaman/Rockman games). Although, to be honest, the category should probably be "completes semi-important goals", because ignoring those goals is generally normal and can be assumed to happen unless otherwise stated.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Now all that's left to do before the release of Gens_Movie_9.5 is to compile a list of the new features...
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Mukki wrote:
Upthorn -- Seems to be a fairly decent list, but only really serves as a top ten of the present and not of all time.
I used this as my reasoning: "The best TASes of all time won't get obsoleted, so I don't need to factor obsoleted runs in." If we were counting obsoleted runs, though bisqwit would probably be much higher, superninja probably wouldn't be on it, and phil cote probably would.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
That's already done, but cheats aren't implemented (only searching/viewing, and viewing could be more convenient), and there seems to be some bug in the way Gens handles all RAM addresses that Upthorn has been working on fixing.
Actually, I've already fixed that (search displays hardware-accurate addresses), implemented watchers (FCEU style, by popular vote), and reworking the code that updates the displayed values every frame so that having the RAM Watch dialog open doesn't cause slowdown (which was pretty massive with SegaCD). Before I release I just want to add a Frame-seek function to movie playback, fix up the Input splicer so it will work across sessions. (Admittedly, if I don't do this, the potential work loss is no greater than what already happens when you rerecord, anyway, but...) Release after this next one should have GM2 support, and more hotkey customizability.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
Mukki wrote:
There's a bit of him in all of us.
Speak for yourself. These reviews are positively retarded.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Experienced Forum User, Published Author, Active player (388)
Joined: 3/24/2006
Posts: 1802
In the interests of science, I have produced this list
  1. Nitsuja 14
  2. Genisto 10
  3. JXQ 9
  4. Adelikat 8
  5. DonamerDragon 3
  6. Fabian 2 9.05
  7. Spezzafer 2 8.8 2
  8. Bisqwit 2 8.8 3
  9. Scumtron 2 8.55
  10. Superninja 1
Rest assured, that there was a process involved in this:
  1. On a list of all nonobsoleted movies, sorted by descending rating (http://tasvideos.org/Movies-RatingY.html), find the first 10 players (Fabian, Nitsuja, JXQ, Superninja, Genisto, Spezzafer, (Shinryuu & Bisqwit), DonamerDragon, Baxter, Parrot14green)
  2. Find the rating for the movie by the 10th player. (8.6)
  3. Add all other players who have a movie of this rating into the potentials list (Scumtron, Adelikat, Pom)
  4. Count the total number of movies each has rated above 7.5
  5. In the event of a tie, stratify tied players by average rating of the relevant movies
  6. If any players are still tied, stratify tied players by number of movies rated below 7.5 (lower is better)
  7. If any players are still tied (this didn't happen, but), stratify once more by average rating of all movies
  8. If any players are still tied, a tie is declared
Edit: I had accidentally counted the "Fabian & JXQ" run for Fabian's score, but not JXQ's
How fleeting are all human passions compared with the massive continuity of ducks.