upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Basically, it can't be TASed until Gens is improved to get rid of a desync issue with CD based games. Which can't really happen until the cause of the desync issue becomes clear. But I plan to TAS it myself as soon as it becomes possible.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 3/16/2006
Posts: 289
I've actually never heard of the issue. Does the emulator do different read-times or something when it "requests/sends" data to the virtual CD?
I am just a silhouette, a silhouette of a memory of a solitary night .. nothing more.
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
... Read what nitsuja and I were discussing in, like, the past 10 posts.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 5/24/2004
Posts: 262
Awesome game, I vote for it being TASed if it's technically feasable. By the way, I got a hold of the guitarist, Erik Frykman, who did the OST for this game. He's a very nice guy, and he helped me dial in his awesome lead sound. I love the way his guitar sounds on these tracks.
N._Harmonik
She/Her
Joined: 8/27/2006
Posts: 502
Location: Canada
This probably sounds unintelligent but I don't suppose you could do the PC version, could you?
Why, oh, why do I even <i>try</i> to understand my own species?
Joined: 6/6/2004
Posts: 223
The PC version doesn't have a savestate feature, and even if it did it has no provisions for creating an input movie file.
N._Harmonik
She/Her
Joined: 8/27/2006
Posts: 502
Location: Canada
What're these? Is it possible? http://www.youtube.com/watch?v=o7a1M6U2jCc http://www.youtube.com/watch?v=8smyDY4qfsg http://www.youtube.com/watch?v=bygHLiktMRA Is this person really tool-assisting and recording a SEGA CD game!? If so... I demand (politely) a full run of this game this instant!
Why, oh, why do I even <i>try</i> to understand my own species?
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Notice how there's only one level per video? That is because of the massive issue of desyncs during loading. Furthermore, each of those times has been beaten in unassisted speedruns.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 4/30/2006
Posts: 480
Location: the secret cow level
I've been thinking about that, and it seems to me that the only way to make a TAS on a CD-based game would be to have some kind of flag where the emulator pauses the movie when it's loading from the disk, and restarts when the loading is done, so the emulator would have to be designed with that in mind.
Player (37)
Joined: 9/9/2006
Posts: 388
Titus Kwok wrote:
I've been thinking about that, and it seems to me that the only way to make a TAS on a CD-based game would be to have some kind of flag where the emulator pauses the movie when it's loading from the disk, and restarts when the loading is done, so the emulator would have to be designed with that in mind.
Now meanwhile I admit im not terribly advanced at coding I have some grounds, so surely when GENS does a call to the function loadCD() or something.. you could make a branch right at the start.. ?
loadCD();
{
	recpause();
	//Rest of cdloading code here
}
Or perhaps a branch for the function that is handling the data that is being cached by the CD?
A whisper in the wind~~
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
DDRKhat wrote:
Titus Kwok wrote:
I've been thinking about that, and it seems to me that the only way to make a TAS on a CD-based game would be to have some kind of flag where the emulator pauses the movie when it's loading from the disk, and restarts when the loading is done, so the emulator would have to be designed with that in mind.
Now meanwhile I admit im not terribly advanced at coding I have some grounds, so surely when GENS does a call to the function loadCD() or something.. you could make a branch right at the start.. ?
loadCD();
{
	recpause();
	//Rest of cdloading code here
}
Or perhaps a branch for the function that is handling the data that is being cached by the CD?
Perhaps you would like to examine the gens source code available here to find such a function. Believe me, if it were that simple, we'd have had sega cd recording since 2005.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 3/16/2006
Posts: 289
Very true. Also, don't some games load mid-game while you are playing? So your solution would pause at those load points. Or am I mistaken?
I am just a silhouette, a silhouette of a memory of a solitary night .. nothing more.
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Shadow Byrn wrote:
Very true. Also, don't some games load mid-game while you are playing? So your solution would pause at those load points. Or am I mistaken?
Any game which used CD audio would pause like that.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 3/16/2006
Posts: 289
So what does cause the inconsistent load times? It's obviously not enough for a human to really take notice of, but around here we're doing superhuman feats!
I am just a silhouette, a silhouette of a memory of a solitary night .. nothing more.
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Shadow Byrn wrote:
So what does cause the inconsistent load times? It's obviously not enough for a human to really take notice of, but around here we're doing superhuman feats!
Partly hard drive seek times not being constant, partly gens not properly reinitializing variables on segaCD reset.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 3/16/2006
Posts: 289
Hard drive seek time? Wow, there's something I didn't even think of! I suppose that if you didn't have enough RAM it would have to cache the virtual CD to the HD. It does look like that there is going to have to be some really funky way to software control the loads to either be the same all the time or find a way to modify the gens movie files to handle variable load times... *gets headache thinking about it*
I am just a silhouette, a silhouette of a memory of a solitary night .. nothing more.
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Well, unlike with ROMs, Gens doesn't load whole ISOs into RAM when it starts them, so it's not even a matter of how much memory you have. And if you're playing from an actual CD there's actual CD-Rom seek time to worry about. But even if that issue is taken care of by sticking the ISO onto a RAM drive, there are several Sega CD related variables that don't get reinitialized properly when gens resets, or changes discs, even. Though when I tested playing from a RAM drive, desyncs were noticably lessened, it was only just enough lessened to be noticable - a 10% decrease at most.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 3/16/2006
Posts: 289
That's suprizingly good. I think I know what you mean by variables messing up. I see that happen in other games, sometimes they load and sometimes they don't. I think I see why ps1 doesn't have recording now!
I am just a silhouette, a silhouette of a memory of a solitary night .. nothing more.
Joined: 4/30/2006
Posts: 480
Location: the secret cow level
So, this looks like the kind of thing that's going to require an entirely new emulator to be written? Dang.
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Titus Kwok wrote:
So, this looks like the kind of thing that's going to require an entirely new emulator to be written? Dang.
No, just substantial cleanup of the existing one, and a good deal of research into how the Sega CD communicates with the main Genesis, as well as how data transfers reads are requested.
How fleeting are all human passions compared with the massive continuity of ducks.
Skilled player (1651)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
Speaking of cleaning up the code, do you have any plans to release the code to your version of the emulator? Inquiring minds would like to know!
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
If I could say something about the issue of desynching, how about making an AVI files of these runs as a temporary solution?
Joined: 10/15/2007
Posts: 685
Either that or just TAS individual levels and submit them as tech demos. Of course, even starting from a savestate doesn't guarantee it will sync properly.
Kirby said so, so it must be true. ( >'.')>
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Flygon wrote:
If I could say something about the issue of desynching, how about making an AVI files of these runs as a temporary solution?
How can you make an avi file if you can't play the movie back to begin with?
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 10/15/2007
Posts: 685
upthorn wrote:
How can you make an avi file if you can't play the movie back to begin with?
My assumption would be to TAS individual stages (like the YouTube videos mentioned previously) and splice them together as one video file.
Kirby said so, so it must be true. ( >'.')>