Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I haven't been able to focus on this too much over the past few months, but I have a bit of time now and am back to making progress. The biggest thing I've done is port the core over to C++. The C# core was just way too slow, and was falling under 60 fps even in simple cases. I expected I would have to do this so built the C# core to be conversion friendly from the start, but it still took a bit of effort. Converting to C++ and making a few basic optimizations about doubled the speed, and now I at least have a bit of headroom to work with. I expect more complicated scenes to still fall below 60 fps until I optimize a bit more, but that's a concern for further down the road once the rendering pipeline is finished. Aside from that I made a bit of progress with rendering timing and open bus emulation, so I can get past the misc edge case timing test on the mGBA test suite: I still plan to develop the rendering pipeline in C# as it's just much easier to bug fix in it, so for now both cores will be developed together. Sprites are the next thing to do.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh cool strat, seems obvious but I never thought to try it. I don't really have the will do deal with this game's RNG again, so free improvement for anyone I guess.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Nice improvements once again, but also voting for not hitting the knight, that's not a very pacifist thing to do.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Thanks to scrimpeh resyncing the Dracula fight (again), the warp path Grant run finally works on console! Link to video There is a small caveat here though. It turns out open bus behaviour is more non-deterministic than previously believed, a fact discovered while working on this verification. The emulation of this is, by necessity, fine tuned to my particular console / cart. It may be different and not work for other carts / consoles. Watching the RTA runs that also use the warp path, results appear to be inconsistent. Fortunately this is only relevant for runs using the warp path, as here the game mistakenly tries to load sprites from WRAM, which Castlevania III does not possess. Other CV III runs should be deterministic with the improved MMC5 IRQ timing. There are still some loose ends in MMC5 emulation, but it's good enough for CV III and that's about the extent of my interest in it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
-- Finally a complete game WIP to look at. I'll give it a second pass before submission, at least a few levels are improvable. EDIT: new run submitted
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Removed Rolo. Also removed Ranma, since it's pending publication, thanks to ShesChardcore. This leaves 11 runs in total, a lot of progress has been made this year. pretty cool! On a more bureaucratic note, I currently have #756: JXQ's NES Skate Or Die 2 in 10:28.37 listed in the 'added after vault' category, but this is incorrect, it was just published later. In fact #780: Highness's Genesis Legend of Toki - Going ape spit in 28:25.37 and #979: Luke's NES Deadly Towers (USA) in 15:20.27 also fall into the category of runs submitted earlier than the last submitted 'First 500' run, which is Star Ocean. So for consistency I should either add Toki and Deadly towers or remove Skate or Die. I'm not concerned with such nuances, as the project is First 500 publications not First 1000 submissions, so I'll just remove Skate or Die, bringing the total to 10.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Console Verification: -- updated console verification for new improvement, see publication.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
arnaud33200 wrote:
I'm curious, how is it an improved run if there are more lags? is it just about the number of frames?
Aside from accuracy, VBA also has the very annoying feature of counting all lag frames where the screen is off (usually when the game is loading stuff) as a single input frame. Modern emulators do not do this. Over the course of a run this can add up to many seconds worth of extra lag frames. VBA does however add back in loading times when making encodes, for correct sounding audio. If you look at the displayed time of the previous Kirby run it is listed as 8:44.65, however if you watch the encode it actually runs for about 8:55. So basically you have ~11 seconds of loading time. The bios takes about 3 seconds as well. So with no emulation differences, the previous run would have had a time of ~8:58.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Took another look at Castlevania III. I originally set this aside because I thought the issue was MMC5 and there weren't any test ROMs to pinpoint the problem. However in thinking about it it should have still worked in the range of IRQ timings I tested, so I thought maybe there was still some DMC edge case I was missing. It turns out that there is a single instance where the game reads from the APU status register ($4015) at the same time the DMC channel decrements to zero. Originally I had this read back as not zero, but it turns out to be correct to have it read back as zero. This combined with adjusting the IRQ timing led to the run working on console. I am up to getting Grant, hopefully I'll have a complete run in the coming week. EDIT: It now desyncs after the wrong warp. Lot's of crazy stuff is happening there, could be anything going wrong. Probably the new last boss of NES console verification outside of resets.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
-- Made it through level 45. Looking back it looks like the RTA run is faster in level 39, but I'm going to loop back through all the levels anyway so can fix it later. Honestly this isn't as interesting as I thought it would be, I'll grind it out to a completed run though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Link to video Console verification of Samsara's most recent improvement. Note that this game's use of NROM + CHR RAM is technically not officially supported, but nothing is physically preventing it from being implemented.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I finally got around to assembling a UxROM dev board. Naturally the first thing I tested was Streemerz, and it worked! Link to video This uses the current movie file: https://tasvideos.org/userfiles/info/72428431403912808 This is slower than the original, so hopefully it can be optimized and made into a console accurate submission. I always suspected that power up timing was the culprit in previous failures, but now with a proper dev board those problems are solved. I'm really happy this finally works. Streemerz was one of my original tests and I really wanted to see a working console run. Apparently I don't have a syncing version of the other Streemerz run, so I'll work on getting that working too. EDIT: Working version of other run too Link to video movie file: https://tasvideos.org/UserFiles/Info/638060457284160338
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Console verificaiton of feos' improvement: Link to video
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
ShesChardcore wrote:
Alyosha wrote:
Nice work! Wasn't expecting such a big improvement here.
Thanks. There's 2 games on the list I felt like I could do. This one and Lee Trevino. I don't know if I have the patience left to do both courses though haha.
Why both courses?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Nice work! Wasn't expecting such a big improvement here.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Thanks again for the encode Dimon12321
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Made it to the end of world 2 if Brandon or anyone else wants to take a look please do. I think I'll try to get a complete game WIP and then go back for a second pass.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Brandon wrote:
Nicely done! Let me know if you'd like to get on a call to discuss routing sometime. I don't have my tooling setup anymore, but I'd love to strategize.
Rest of the WIP resynced. Well first thing I need to do is figure out these elevators. Looks like I lost time on level 24 for no obvious reason. EDIT: pretty big time save on level 23. I'll see what I can find on level 24. EDIT: small time save in level 24.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I decided to give this a shot. Resynced Brandon's WIP through the garden. Saved a few frames on optimized key grabs: -- Seems mechanically simple but complicated to route. I haven't done this kind of routing in a while so it's a refreshing break from RNG madness.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Samsara wrote:
EDIT: User movie #638053447918419088
LGTM. I have no more ideas, so I don't think I'll be putting more time into this.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
^ cool new tech. -superseded- new route! Still pretty sloppy and I couldn't seem to get by the 3 spike balls without waiting anymore for some reason. Probably another ~100 frames to save in basic optimization.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
-superseded- swap order of orbs 4 and 5, saves some waiting, probably can still save a few frames. -superseded- removed some slowdown. Only about 100 frames to sub 3
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
https://tasvideos.org/UserFiles/Info/638052702456742027 Can probably be improved a bit, heading towards the 3 minute mark.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I played this game a lot as a kid but thought it would be too boring to TAS a whole play through. I didn't know this other mode existed so it's cool to see a short version. nice work.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
around frame 5750 you don't need to wait for the spike ball, can save another ~20 frames.