Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Game: Legend of Zelda: Oracle of Seasons Emulator: BizHawk: Gambatte (but also behaves the same in GBHawk) in GBA mode Console Verification Device: Gameboy Player with GBI Movie: http://tasvideos.org/userfiles/info/68126602397597426 Description of Desync: On emulator, Link walks over a pit after collecting a key. On console, Link falls in the pit instead. Research: I tried changing input latch timings but that made it worse. Comparing video of the desync to emulator, it looks like input is applied one frame to early after the room transition (or the transition takes one frame longer) after Link gets the key. No idea why. Also a complete run of Oracle of Ages syncs on console, what's different? Possible Next Steps: ? Status: Closed. Resolution: Uninitialized WRAM combined with improperly writing SRAM to 0 instead of 0xFF led to the desync.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/68123456048984346 Well I tried resyncing oracle of seasons but it hit a hard desync a little over half way through the run at a mini boss. For some reason RNG advances in the middle of the fight in GBHawk but not VBA. Even if you edit the fight it will desync shortly after also due to RNG. But that doesn't really matter, because on console it desyncs in the Hero's Cave at the start of the game. After getting the first key Link is supposed to walk over a pit, but on console he falls in. No idea why this would be, I tried changing the input timings slightly but that just makes it worse. Oracle of Seasons seems to run pretty much the same as Ages, so not sure wy one syncs but the other doesn't. I put the run into Gambatte as well and plays the same as in GBHawk, and I confirmed that executed cycles match between the two cores. I also dumped input from the Gambatte run and it desyncs the same way on console. I'm going to put this one in the failures for now.
Post subject: Re: Odyssey2 System Bus only shows ROM.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
TheAlmightyGuru wrote:
The System Bus memory domain in the Hex Editor and RAM Search for the Odyssey2 emulator appears to only show the ROM memory domain. Is this a mistake? Shouldn't the system bus include the RAM?
No, system bus is what is visible to the 8048 from the PC register, which in this case is just whatever ROM banks are currently mapped in and the BIOS. RAM, ppu, etc are accessed with port R/W functions. I guess I could make a separate 'port bus' domain but it would be kind of messy, and even that would miss CPU RAM which is internal to the cpu. So, I think in this case it's better just to use the individual domains.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/67994414567448321 I resynced the Zelda oracle of ages TAS to GBHawk. The above movie will play back in the current dev build. I have successfully console verified it as well. I recorded the last few minutes so I'll post a video tomorrow.Messed up the video so no upload. The run isn't an exact duplicate of the original, but it's correct to within a couple dozen frames, mostly just adding or subtracting a frame here and there to adjust. This run revealed a bug in GBHawk's implementation of the ram bank register. The wrong warp at the end of the game requires a return value of 0 when zero is written, even though bank 1 is used. It also requires upper bits to read back as 1s. This game reads uninitialized memory at start up, so I also adjusted GBHawk's initial RAM state to match an idealized version of Gambatte's to match timing a bit closer. But, the games isn't too picky about timing anyway. I also added a setting in GBHawk to allow dumping of double speed mode games to be used with GBI. I'll be working on the Oracle of Seasons run too, that one will probably not be done very soon though as it was made in VBA so will be much more tedious to sync. I think it will be worth the effort in the end though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
EZGames69 wrote:
After a bit of a talk with TiKevin83, it’s unlikely we’ll see a solution for the desync on console for awhile, so I’m gonna retract my request to delay this submission.
what was wrong with it?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
I fixed screen fading to white in GBC mode. I also made a big improvement to mode 1 timing, fixes a lot of tests but doesn't seem to effect any games yet. Mode 1 isn't used that often. I made a test run of Wacky Racers. GBHawk and Gambatte agree cycle for cycle, but the run desyncs on console with default input script. I adjusted the script so that inputs are set slightly later (about 2000 cycles at 4MHz) and then it worked fine on console. I think the problem is that the game processes input at scanline 143, very non-standard, as you'd normally expect input processed sometime into vblank. I tested a bunch of other possibilities why emulation might not be right, but it seems to be right so I'm leaving it there for now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
6 years seems so long ago! Nice improvement on this, looking forward to the new improvement hyper jump to the end. yes vote.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Not sure how I'll deal with that yet. The screen can't go white immediately or cinematics on some games like MiB won't work. I'll consider it low priority for now, will have to get done eventually though. I'm making steady progress on a lot of HDMA cases and other miscellaneous timing stuff. I think the biggest weakness in overall timing right now is LY/LYC around the 153->0 transition in double speed mode. Timing of audio stuff in double speed mode also isn't that great yet, but I haven't looked at audio closely in a while so that's to be expected. I'm going to make a few more test runs of tricky games like Wacky Racers as well and see what comes up, that has proved useful before. If anyone has any GBC games they want to see console verified as well let me know. I think I'm going to look at the oracle of ages /seasons TASes soon also.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Looks like it would be faster to get the clip overall, so I'll cancel this one. I can't get the clip to work in 1.1 rev, but maybe I'm just not doing it right.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Oh neat, that's what I get for not doing proper research. Pretty cool glitch there. EDIT: not sure it's faster though, getting power ups takes a long time, make save enough time including killing the pirahna plants in 8-4 though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Oh cool I was thinking about working on this game at some point but you beat me to it. Nice work and yes vote.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
I can't reproduce this. Either delete the config.ini file in your bizhawk folder or just start from scratch with a new download. If that doesn't help, try some older versions and see if they work. 2.3.2 an 2.4.2 are pretty stable versions to try.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Most likely you accidentally started it from a savestate, in which case there isn't much that can be done about it. bk2 movies are just normal compressed files that can be opened with something like 7zip or whatever utility you like. Open it up and look in the header file, if it says something like 'starts from savestate' then that's why. Whenever you record a movie, make sure you select 'power on' and not 'now' if you don't want this to occur. You would need to add more specific details and exact reproduction steps for us to be able to look into this further, I've never heard of this problem before.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow another big discovery, great find and good luck on the new TAS.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Too bad this trick is only applicable at the end, but an improvement is an improvement, yes vote. Nice job once again on finding this.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
With all of GBHawk's recent upgrades I decided to look at an untested run to see if it would now work on console. And here it is, Mega Man Xtreme, now console verified: http://tasvideos.org/userfiles/info/67682588245482745 Here is a brief video of the last few boss refights and sigma fights. Apologies for the extremely poor quality, my phone decided it didn't like focusing anymore. I should get a capture card at some point so I can make proper videos. Link to video This run isn't too picky about accuracy, but it did require a resync compared to 2.5.2 so it wouldn't have worked before now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow, how unexpected, I guess this will be the next thing I look at, thanks for testing.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Cool! Thanks for the verification.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow, incredible find , looking forward to an updated TAS.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
I've finally upgraded GBHawk's HDMA and double speed mode timing implementation enough that Men in Black the series finally syncs on console: http://tasvideos.org/userfiles/info/67676199274271440 Besides one obvious bug that slipped through my testing until now, the main thing I needed to understand to make this work is that HDMA only starts on the edges of instructions, similar to IRQs. Once I implemented this correctly everything worked out. Men in Black requires pretty much perfect emulation of most of the system to sync correctly, so at this point I think I can ramp up console verification of more GBC games. Unfortunately HDMA is something with many, many horrible edge case effects that I have so far only implemented the basics of, so there is still more work to do. As long as games aren't doing anything too crazy though I expect most of them to work. Experience has shown that this assumption is bound to fail eventually, but the implementation now is pretty robust so I should be able to sort out edge cases as they pop up.
Post subject: Re: TasStudio seeking goes to start when selecting prev. frames
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Cioss wrote:
Can anyone help, It's a pain to have to wait constantly beczuse I made a mistake or because I have to check if it works. And turbo seek doesn't help either. Before, it didn't do that and it simply didn't seek at all only when going backwards.
I have also had this problem, but unfortunately I can't reproduce it consistently, so I haven't been able to figure out a fix. As a workaround, whenever this is happening to you, reset the greenzone by adding and then removing a random input at the start of the movie. Then once the movie plays back up to where you want it to it should work fine from there.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Game: Warioland II (USA) (GB Version) Emulator: BizHawk: Gambatte (but also behaves similarly in GBHawk) in GBA mode Console Verification Device: Gameboy Player with GBI Movie: http://tasvideos.org/userfiles/info/67631410422598803 Description of Desync: On emulator, player character beats the level using out of bounds at ~ frame 50000. On console, there is a desync in the out of bounds section and the level does not complete. Research: This is a case of trying to read VRAM on the same cycle it is released by the ppu. This is not emulated correctly and currently the details are not known. Possible Next Steps: This needs an exhaustive test ROM. Status: Open. The current work around is to simply avoid the glitch, which is cycle exact so is easy to avoid with irrelevant button presses
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
Link to video I had some time so I did the console verification today. I only recorded around the time where the old one desynced. It synced all the way to the end though, so looks like simply avoiding the VRAM glitch is the best approach for now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
jlun2 wrote:
https://cdn.discordapp.com/attachments/280808167993245707/779944765173006346/Wario_Land_II_100_GB_2.bk2 This is the GBHawk input file that uses select to somehow get rid of the VRAM bug. Can you please check if this is legit? Playing back for me seems to have no occurrences on the log at least.
I played it in dev build and it looks fine to me. I'll try to console verify it in the next couple of days (I'll try to capture video of the last couple of minutes.) The glitch is cycle exact, so if the game takes a few extra cycles to process a button press it can change alignment and you won't encounter it. __________________________________ I've also been making progress on double speed mode. The timing of the speed change seems right now (some of the existing tests play out differently on different revisions, so it took e quite a while to work out what is supposed to be happening and why.) Mode 3 timing tests seem to all pass as expected, so no major surprises there. LYC seems to behave differently, almost like the logic gets clocked twice as fast in double speed, but several LYC behaviours are also revision specific and this also passes all the tests so I'm going with it. I think the only obstacle at this point is HDMA timing. This is what is currently keeping Men In Black the Series from syncing correctly.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3560)
Joined: 11/30/2014
Posts: 2744
Location: US
I recently fixed a couple bugs in movie recording where it was possible to record inputs to the movie file while not sending them to the core. If anyone is able to test the dev build and make sure I didn't introduce any other issues accidentally at the same time I would very much appreciate it.