Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I changed version to USA so I could console verify but then was able to save frames in level 2 by somehow getting a different spring pattern where i didn't have to wait at the end.
https://tasvideos.org/UserFiles/Info/638178796134699589
This happened by random chance I don't know why it's different.
EDIT: the bouncing springs can randomly start in one of 3 different positions, I just accidentally changed things to get the bast spawn at the end.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Link to video
Here is a video of the original version.
Note that this uses mapper 2 rather than mapper 7 in the original since I didn't have a mapper 7 dev board. There's no bank switching and both use CHR RAM so seems reasonable.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh, interesting, I had thought such things were already quite advanced for GameCube. In your estimation, how far off is it? Like, for NES for example even a relatively inaccurate emulator can generate console verifiable runs a good fraction of the time, would the same be true with GameCube? Maybe there are games that spend a lot of time in an idle loop for example that would stand a chance?
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I'm not sure, I don't know why this new glitch works either. General homebrew glitchiness isn't surprising to me, so I'm not really looking too deeply into it.
EDIT: although looking at it again, it looks like I now have 3 lives throughout the run, so maybe something changed? Perhaps I can improve some stages where waiting was required before.
EDIT2: Turns out no more time can be saved with damage boosts, but only because you have to wait for the skip glitch to line up. Also my other time save also didn't end up saving time due to waiting, so the only time save is in waiting for the skip glitch.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Link to video
By pure chance I stumbled upon a big time save in Powerpig. There is one frame every so many frames where you can complete one level and skip the next level intro, saving a couple seconds every level. It is possible to hit this glitch just moving normally through a level, so it seems Darkman425 was just extremely unlucky to have not stumbled upon this in the original. I found it while improving another level, so this skip glitch isn't the only improvement.
I console verified this new run as well, so finally I have an actual console verified improvement over an existing publication. Eventually I will ask for GBAHawk to be accepted for publications, so it's nice to already have a relevant example, even if only in homebrew.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Here's a few possibly useful notes about this:
- Mesen has a different power on state than NESHawk, they are not directly compatible for careful timing cases like reading from ppu.
- You can change the cpu / ppu alignment in Mesen, this may or may not give more chances at success.
- BigBass' test was done from reset, which isn't the same as doing the test from power on.
- I briefly looked at where the ppu registers were being read, and it looks like it happens during rendering. Even if the test was done during power on, this gives a very low chance of success, probably worse than 1/8. I would try myself, but I have neither the game nor an adapter to play famicom games on my NES.
- Reading from ppu write only registers has not in general been carefully tested.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Thanks to Bigbass grinding out more NES verifications, we've reached over 300 currently published runs console verified, awesome! With 2890 currently active movies, we remain above 10% of all movies.
It's worth saying that the influx of short homebrews for both NES and GB/C have allowed for some quick and easy verifications, so this stacks the numbers somewhat, but oh well.
Aside from just raw numbers, there's also a good amount of R&D type work being done. Castlevania III led to some new research into NES edge case behaviours, Streemerz finally works with a new dev board, and SMB Stop and Swap managed to push the envelope of NES verifications in an innovative new direction. Some notable failures also occurred, such as Dragon Quest (J), so even for NES issues remain.
A lot of GBA work has happened recently as well. NanoboyAdvance and my own GBAHawk can now make it through the entire mGBA test suite, as well as many other timing sensitive tests, so console verifications of first party GBA games is (hopefully) on the horizon. In both cases issues remain, but I'm pretty optimistic. The pipeline for such verifications was already in place, not being much different than the GB/C version, so it's really just waiting on emulation. Even with mGBA though some runs have worked, with Sushi the Cat being the first GBA verification in over 2 years.
In somewhat relevant news I saw this cool video about loading games on Gamecube while bypassing the disc drive:
Link to video
Maybe something like this can lead to the possibility of Gamecube verifications down the road (admittedly cheating a bit but would still be cool.)
I'm not aware of anything happening for other ssystems, but Sour has returned to working on Mesen (which includes SNES and now PCE) so maybe down the road something will be found that can give more SNES games a chance at verification. Also Ares is now in BizHawk, so maybe n64 has more of a chance now besides SM64 and Mario Kart, but I'm not aware of any console testing yet.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Interesting, this would then point to something on the SMB1 side (even though it's still strange the bot doesn't exit the SMB3 part correctly.)
Recent work on open bus behaviour shows some inconsistency, and I haven't personally tested unofficial opcodes on my NES, so there are several variables at play.
Some kind of test to verify the baseline behaviour would probably help sort things out.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I tried a few more times, and it seems like the SMB3 part of the run isn't being completed properly on console. It looks like some inputs are not being processed. This is occasionally a problem for games that require processing input very rapidly.
Maybe someone with a different bot or a V4 TAStm32 could make it work.
I'll try some more when an updated movie is made.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I always like seeing new innovations in TAS technology, and this one is really cool, nice work!
I tried console verifying, but it crashes in various ways at the axe grab. Not sure what this means. here is an example:
Link to video
I hold reset in between cart changes. Gives pretty consistent results up until the axe grab.
EDIT: Upon reading the submission text, it seems it's probably crashing at the unofficial opcode, or maybe the payload is not getting written properly.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Another game tackled with Jaffar, cool stuff. I'm kind of surprised the reward function was able to be so simple, but I guess it helps it was starting from Randil's route already.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
https://tasvideos.org/UserFiles/Info/638156248767474820
Here is an example of what i mean for controlling jumps in that level. This is about 5 frames ahead just on the second jump, and this applies to both going up and coming back down, I would guess at least a second can be saved in that level.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Pretty cool homebrew.
At frame 5955 (in the updated movie file) it's faster to go to the right rather then wrap around the screen to the left.
For the level starting on frame 9213, you can save a lot of time by controlling jumps better to always line up with the holes in the floor you need to jump through.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I tested two of the latest homebrew publications.
[5017] GBA Sushi the Cat by Cephla & Technickle in 01:18.22 synced, so I was able to add that one to the console verified list. This would have raised the number of current GBA console verifications from 2 to 3, but Sonic Advance was improved recently so back to 2.
[5141] GBA Powerpig by Darkman425 in 05:22.95 desynced about half way through the game. I then tried the movie in GBAHawk, and it desynced at the same spot as on hardware. So I resynced the movie and tried again, and it synced:
Link to video
So this is the first example of a real world accuracy improvement compared to mGBA.
Aside from Homebrews I still haven't had any luck syncing any games, so more work is needed.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
If you jump at frame 4011, you then can reach the first platform in the next level faster since you are already in the air. After this it takes some work to resync things, but you can definitely save at least 10 frames.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Nice, always cool too see more advancements in Jaffar-bot technology. Games like this never felt quite done as there was only so much time and effort to put into searching by hand, really glad to see things like 'The Jaffanator' giving a more satisfying solution.
Also I feel your pain regarding A2600 emulation, glad the result still synced in BizHawk after all the work you put into it, (most games should, but with A2600 you never really know for sure.)
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
EDIT: new run submitted
Full game resync with new route and cutscene cancels.
There are a couple things I need to fix before submitting, but this is pretty much what the final run will look like. Just under 25 minutes compared to the 27:22 of the published run.