Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I'm still going compare my WIPs to the original route and post my results once I get back up to the same point, but it's already clear that Zero's lack of reach is just way too costly. the combination of the fish / mini boss in octopus' stage, the climb in catfish's stage, and the climb / enemies in Hornet's stage was just too much. Anyway, I've redone the first 4 bosses and am 1 second ahead with plenty of money for now. I'm going to compare going through tiger's stage with zero and X, I think it's going to be better overall to switch to just before entering the second ride armor. Also Zero can go through the first part of Sigma 1's stage much faster then X (it looks like X needs to stall for about 2 seconds to wait for platforms), so maybe it is preferable to switch to zero on the last hit of hornet, since velguarder will take 8 hits anyway. EDIT: It's about 40 frames faster to do Tiger's Stage as Zero. Since zero can also defeat tiger in 7 hits, I wonder if it is better to beat the level as tiger and switch in octopus. Then we save 20 frames of load in animation from X, but maybe it's not worth it not to have the claw attack.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Well seems like the zero route is dead. Not being able to kill enemies fast leads to lots of extra lag in later levels. Plus zero can't kill the last three enemies before the mini boss in the hornet's stage as fast as X. There is no way I can catch up to the several seconds I lost. I think it's faster overall to change to X later in Tiger's Stage, and it's definitely a time save to take the overhead path in flame mammoth's stage, so I guess now I'll just try to improve the original route. At least farming doesn't seem to be so bad.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Here is a new wip that gets back to launch octopus about 1 second ahead of my previous attempt: http://tasvideos.org/userfiles/info/70145395782161866 This time though I already have almost all the money I need to get Saber 2 before Sigma 1. It wasn't as annoying as I thought it would be. I probably could have been less aggressive at farming early on and saved maybe 20 more frames, but at the risk of RNG taking a turn for the worse I think I'll leave it as it is. Now all I need to do is get a good launch octopus fight and I should be able to complete the run.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have started redoing things with RNG in mind and aiming for early saber 2. One thing I did was forgo damage in the intro stage. This cost 10 frames but allowed me to farm 60 money without having to worry about the lag time of healing up when collecting it. Right now I have 100 money and am 2/3 into flame mammoth stage. I also I found that jumping up to the conveyor here: Is about 30 frames faster then climbing the wall, and I don't have to take damage so I can try to do a bit more farming. This can be done in the original run too, so it doesn't really count as a time save for the new route, but does make farming money just a little bit easier.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/70058201114250334 Here is a WIP of launch octopus stage with zero. It is 400 frames slower then the original, a bit more then i was expecting, which means this route is now only barely on the edge of being viable. Launch octopus is weak to lightning, so I could get a 6 hit kill, but it's probably the same speed as just hitting him 8 times after all the menuing. So just to summarize. ~11 seconds are saved by not getting any of X's weapons and the associated actions plus zero having a faster load in animation. Then ~7 seconds are lost on launch octopus stage and ~3 seconds are lost on bosses that now take 8 hits instead of 7. I think exit animations are about the same, and the weapon texts I think are roughly equal overall, so as long as I can beat the remaining two levels while only losing one second, I'll be able to be 2 seconds ahead if I get Saber 2 and get 6 hit kill on valguarder. It's pretty crazy how 2 completely different routes are less then ~150 frames apart overall.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Hmm, that means I need to average about 50 income per level, sounds pretty tedious. With how close things are, it might be the only way to definitely be ahead though. Do you happen to have any scripts or memory addresses still left from your original run for luck manipulation?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Unless the Sigma 1 or 2 bosses can be sped up with Saber 2, I'll just be getting it at the same time as the current run. I haven't really thought that much about it yet honestly, still checking to see it if this route is feasible. Looks like I'll be losing maybe 2 seconds with zero not being able to shoot enemies far in front of him, so it will be pretty close.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/69927227682947055 Here is a WIP with only zero that reaches launch otcopus' stage. Zero can still defeat neon tiger with 7 attacks, and can still beat the stage about as fast as X (discounting added lag in a few places) so right now no time is really lost. Not having to buy X's two weapon upgrades saves 5 seconds. Not having to equip them and switch back and fourth to zero saves about 5 as well. X's animation when entering a level is slower then zero's by about 20 frames, so this adds up to 1 second of savings as well. So overall I should have 11 seconds saved versus the current run. Currently my best attempt at a quick kill on the octopus mini boss is about 4 seconds slower. I'm not sure if zero can defeat the remaining bosses in 7 attacks or not, if so and he can still navigate levels as well as X, I should be comfortably ahead once the runs recombine in the Sigma stages. Also not having to heavily manipulate RNG for extra money makes this whole process much easier.
Post subject: Re: The Terminator (SMS) won't show backgrounds
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
PrinceWatercress wrote:
So I've tried to play The Terminator on the newest version of Bizhawk (2.6.1), and the game won't show backgrounds at all. Apparently this has been a thing for what seems like numerous version of Bizhawk; even 2.5.2 seems to do this. All you really get are your sprite as well as those of the enemies. Backgrounds are just completely black as if they don't even exist. https://twitter.com/PrinceWatercres/status/1364264787194957828 EDIT: Changed the link so you could actually see the screenshot.
I'm pretty sure the game gear version of this same game was fixed a while back by adding SRAM to it. I can't test it right now myself, but if you go into gamedb->gamedb_sega_sms and replace this line:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS			Europe
with this:
F224907676A09C7F0404C95C316F1503		The Terminator (E)	SMS		SRAM=8192	Europe
(or equivalently for the brazil version if you are using that one.) I'm guessing it will probably work. Let me know if so and I can commit it to master.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Make sure you are using 2.6.1 or the dev build.
PikachuMan wrote:
THIS IS URGENT! GBHawk is NOT saving SaveRAM properly! This NEEDS to be fixed ASAP!
Looks like it works fine for me. I would need a specific example where it's not working.
PikachuMan wrote:
UPDATE! GBHawkLink doesn't save properly for 3 and 4 players. Also, Pokémon might have trouble linking on 3 and 4 players.
I would need specific cases to check, do you have a file that's not working?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
To follow up on this, natt has fixed the state bug in TAStudio, so dev build should work for TASing O2Hawk now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
You should only need 'Odyssey 2 Bios' to run it. Something very strange is happening in TAStudio. When it loads a state the first CPU variable gets corrupted for unknown reasons. The weird thing is that when I change the order in which things are saved, the corruption goes away. quicksave states made outside of TAStudio never get corrupted. I briefly tried to debug what is happening, without success. As far as I can tell every variable that needs to be in there is in there, so I think it's a TAStudio issue somehow. I won't be able to look that deeply into it for a bit. O2Hawk existed in 2.5.2 in basically the same form as in 2.6 and there is no corruption there though, so try 2.5.2 for now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
yeah looks like a savestate issue, I'll look into it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks for the research, does ThunderAxe31's WIP of this game not encounter this somehow? (It's done in Gambatte, but haven't looked at it myself.) http://tasvideos.org/userfiles/info/67980900883093493
Post subject: Console Verification R & D
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I am making this thread for discussion about console verification research and development, what is currently happening and what is needed for advancement. Here is my synopsis of the current state of console verification (that I am aware of) for various systems and what next steps might be needed to move things forward. I won't go into detail for disc based systems, as likely the first step for a lot of those is replacing disc drives with something deterministic. NES: I think many more NES games can be console verified with current technology. I think the limitation right now is in understanding power on characterization. Improvement here just needs the time investment to do the many tests that it takes to understand the details. I had started doing this with true a few years back but didn't get anything concrete. Admittedly there probably aren't many runs left that would motivate that kind of investment, maybe Punch Out? SNES: My understanding is that the clock of the SPC700 is one of the major obstacles to verifying more games. Also the version of BSNES used in both lsnes and BizHawk is pretty outdated, but I'm not sure how much would actually be gained from updating it. Even sorting out these things, I'm not sure how well the various expansion chips are emulated, which many of the more noteworthy SNES games use. The SA1 memory access timing test still fails in the most recent higan, but I don't think it's known if passing it is even required for verificaiton of e.g. Super Mario RPG. It's probably a long road ahead for SNES. GB/C: I'm pretty confident most games can be verified with GBI. Even when they fail, the pipeline is mature enough that problems can be tracked down quickly. However all of this only applies to relatively standard TASes. Pokemon Yellow ACE for example requires subframe inputs at a higher resolution then GBI can supply. A new replay device would be needed for that. There may be a couple linked play TASes worth verifying that might need some new replay device work as well, and other edge cases like Kirby Tilt 'n Tumble. GBA: Probably some more games can be verified, maybe with some manual adjustment like in SMB3, I think there just needs to be more trials. Beyond that though it is still early days for console accurate GBA timing in many cases, especially ppu, so games requiring careful timing are unlikely to work. But how many of those are there? Currently there isn't enough data to tell, really just need to throw more runs at GBI. N64: Similar to GBA, probably there are more games like Mario 64 and Mario Kart 64 that will work even with current emulation (mupen) that just need to be tried to find out. However it's well known for notable games such as Goldeneye that current emulation is not close enough to console to work. New emulator needed. CEN64 is the closest but even that doesn't do things like cache emulation carefully yet. The huge performance cost perfect memory timings would bring though would make TASing full games tedious, maybe there is a 'good enough' middle ground. Genesis: Not much work has been done with Genesis recently, so it's hard to characterize. Probably Gensplusgx is good enough for many/most games. Again, more trials are needed to see. DS: Not sure how much previous success with Brain Age carries over to other games. Maybe Melon DS in BizHawk can spur more development, but it's still early. Other older cartridge based systems: Need someone interested to put in the ground work, likely not much interest though. Overall I would say that currently many more runs can be verified with current technology, but probably not the ones that would be the most high profile / important. In most cases the hardware side (replay devices) is way ahead of the software (emulation) side. Even where emulation is strong though (NES), the verification pipeline is not nearly as mature as it could be, so more fine tuning is needed. I'm going to try to put more work into NES / SNES later this year, hopefully the success with GB/C can be reproduced. Anyone have any other thoughts? Am I missing anything?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Link to video Here is a console verification of the most recent file.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
bihan wrote:
Where should I start if I want to learn to help develop emulators? I'm very much a beginner; I've examined and written some Lua code and have taken some Computer Science courses in college (university) and learned some basic Python, C++, and Java.
BizHawk has a lot of beginner friendly issues right now, you can probably find something there that fits your interests whatever they may be. If you want to get a sense of what it takes to develop the backend stuff, maybe try your hand at solving some of the NESHawk mapper issues that popped up recently. If you prefer front end stuff, there are some simple feature requests that should be doable without going into the more nebulous regions of BizHawk. I also had limited programming experience when I started working on BizHawk, and just kind of jumping in and fixing stuff worked for me.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Very impressive and unexpected find, and it looks so smooth too, nice work. Hopefully it can make it's way to console too.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Yeah runs with equal length frames true are pretty likely to desync. I don't think there is anything that can be done about it. Games that turn off the screen enough will eventually line up frame boundaries with input reading, and then the rounding in GBI will occasionally put the input on the wrong side. GBHawk also uses equel length frames, but avoids this by only changing input at the start of vblank, and games aren't likely to be reading input at that time since there are higher priority things to do. This is also why equal length frames false does work, since it tries to start new frames on vblank start. Maybe the text description for that setting should be changed to reflect this limitation (but really it is a limitation of the verification device so I don't know.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Cool i was hoping a TAS of this game would get done. I started looking into it but it seemed too complicated, but looks like you did a good job in it. Yes vote.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I console verified the first level of Airaki by Furrtek, a game that purposely tried to be difficult to emulate, with no issues. I also realized that twitch doesn't automatically save your past broadcasts, so none of the verifications I did previously were saved, oops. I'll be recording some of them and uploading to youtube. Hopefully I can have Spirou, Zen, SMB Deluxe, and Mega Man Xtreme up today, and the Oracle games later in the week.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
This is a known issue, it has already been fixed in the dev build.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Yup they are all the same ones I used in the console verifications. Just be aware that ones that need ram set need the hot swap to work.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The bk2 files I used for console verification are all linked in the opening post of this thread, they should all work in dev build, I don't think any of them are the same as the publication file. Kwirk and Spirou in particular were originally made on much older builds of GBHawk that emulate frame timing differently and thus required substantial resyncing to work in current builds. EDIT: I compared input from the new dump script to the old one, looks like it's off by quite a bit. I think the problem is that GBHawk needs to use the OnInputPoll event, where as Gambatte just does it at frame boundary, so the new script won't really work for GBHawk in it's current form. (I think I knew that back when I made the GBHawk script but forgot.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
TiKevin83 wrote:
I have an updated dump script here that works across gbhawk/subgbhawk/gambatte and splits up movies with hard resets. https://pastebin.com/NbTRNePD
Nice, that's convenient. I just console verified an 8 track test run of Wave Race with the new timings as well. At the risk of sounding over confident, I think maybe there isn't that much left to do here in terms of console verification dev. work, things have really come together. I have Gensan 1 and 2 ready to go for when 2.5.3 is released, and then I'm pretty much caught up on runs.