Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Manual flash timings aren't implemented yet, so you won't be able to match the run to your particular cart unless you rebuild the core with a different value. (The current value is 325, if you use 425 you get the desync as in the video.)
I don't know anything about the internal workings of Pokemon, what are the specifics of what is wrong?
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
I'm not a fan of turning off the music, the game is too slow to go without it for over an hour.
Nice job finding some improvements though, I'll try to console verify when it's done.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
EDIT: New run submitted
In the RTA run there is a glitch where you can pause and unpause the game and that stops pearls from despawning after being used by clams.
This saves ~2 seconds in the second level and ~20 seconds in the seventh level.
I resynced up to the level past the angler fish chase, still needs some work, but works on console:
Link to video
There is some limited RNG in this game apparently. The flag in the fish tank level for example moves the wrong way in this test run so that level is ~1 second slower.
I'll finish this up and that should be another run verified.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Currently relevant sync notes:
Sonic Advance: Runs that didn't use BIOS seem to desync due to RNG at the pinball boss
Sonic Advance 3: Desyncs on wheel boss.
FF Tactics Advance: Lag inconsistent, so script doesn't work. Might sync with a large amount of manual effort.
Banjo Kazooie: I can't fix the RNG of the enemies, so damage boosts don't happen.
Advance Wars 2: Seems like it might sync in emulator but desyncs in a strange way on console, the game polls input in a weird way.
Mega Man Battle network 2: Bad encounter RNG
Bionicle: Desyncs half way through the run.
On the up side, 3-in-1 runs and Ice Age resynced easily, so that's 4 additional verified runs. Now over 40 GBA runs are verified, almost as many as GBC and slightly more than GB.
There are still several runs for which I am lacking carts but have GBAHawk runs or test runs: DKC2, Duke Nukem, and Power Rangers. Also I still don't have a 32 MB dev cart for some Metroid Zero Mission ROM hacks (they always seem to be out of stock.) So getting to 50 runs verified should be easy.
Still no shortage of stuff to do, hopefully the percentage of resync failures stays low.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
https://tasvideos.org/UserFiles/Info/638506352392123556
I improved RetroEdit's run (which is itself an improvement over the cancelled submission by Entepp) with a new skip and some minor optimizations.
I console verified this run, but I'll hold off on making a video in case any more improvements are found. This run is pretty sync friendly, so it's relatively easy to look around and test things throughout the run.
If no one else finds anything I'll submit what I have.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
I was asked to respond about the potential time saves, but really I'm happy with the current run and don't plan on putting more time into it. This game is not sync friendly at all, and it probably needs a specialist to optimize a new modern TAS. Personally I think a 1 minute improvement and console verified is good enough to warrant it obsoleting the current publication, but if optimization rules don't allow for it then fair enough.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
I went back and tried Sonic Advance runs again, so far I managed to get the Tails run to work without much issue, not sure what I was doing wrong before. I'll try the rest of them as well. EDIT: nope other runs don't sync, maybe tails worked because it used the bios? not sure.
Link to video
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
https://tasvideos.org/UserFiles/Info/638501074303052118
Here is a run that beats the game. It uses the old route through level 4, which is in fact much faster. Additionally I eliminated the waiting for the first platform in 4-2 with a swing, so that saves additional seconds.
There are other small time saves here and there. It is console verified:
https://www.youtube.com/watch?v=biFIl6l-1bY
EDIT: new run submitted but I'll leave this test run up here since it shows a drill despawn in level 4 that couldn't be reproduced in the new run.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Comparing encodes of the 2 published runs, it looks like the old path through level 4 is ~15 seconds faster than the new route. I don't really see any benefit to the new route in terms of weapon pick ups, so I'll go back to the old route for now.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Here is a resync up to level 3. I console verified up to beating the first boss, seems fine. So far there are minor time saves here and there but nothing major. The train level is a couple frames longer for unknown reasons.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
I started working a bit on this game. Here is a partial resync of hejops' current run with 3 stages done.
First 2 stages mostly the same except for RNG and lag adjustments.
Third stage I saved a couple seconds by grabbing the berserk which allows killing the tank without stopping.
I'll be slowly working on it, anyone is welcome to help if interested.
I'll try to console verify after getting past the first boss.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
It turns out sparky's SNES run can be almost directly used in the GBA version with some file editing. Having done so I managed to get past Cold Man and verified that the zip glitches also work on the GBA version. I didn't keep track of RNG so I eventually ran out of Ice Wall, but I console verified up to where I got in Astro Man's stage:
Link to video
Cold Man didn't have the same RNG so I had to redo part of the fight, and there are some small changes needed where the screen being slightly smaller led to some desyncs in hitting enemies, but other then that and fixing some minor desyncs the inputs are sparky's. Pretty convenient that the port matches so closely.
I'm not sure if I'll work through all the necessary RNG manipulation to get the complete run to sync, it would be funny if a SNES run got verified on a GBA first though.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Dimon12321 wrote:
I recorded a small TAS of Duke Nukem Advance: User movie #638491602391815310
The game features unusual usage of hardware. The sound chip participates in calculation and doesn't play music during the gameplay. Besides, the framerate is uncapped.
So I think it will be a good accuracy test for GBAHawk, if you have the game around.
Woah that's really interesting!
I don't have a cart right now, but I'll be sure to get one when I can and give this a try, thanks!
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
https://tasvideos.org/UserFiles/Info/638490759514684900
I was going to console verify this but I found a couple improvements in the latter levels. Maybe there are still some other improvements out there that can be found before I make a new submission.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Link to video
Here is a test run of the first level of Megaman and Bass GBA. This game uses the other variety of EEPROM (8kb while the other games I tested use 512b.) As it turns out my cart has very different timings compared to the other 2 EEPROM verifications I did so far. Those were -9000 or so on the cycle timing offset while this one is +28000. This value seems pretty stable at least.
Right now the only other 8kb cart I have is Ty 2, so I'll have to go back and check the timings of that one more carefully to see what kind of agreement I get.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
despoa wrote:
Is it possible for you to verify this again on camera?
Best I can do is a low quality cell phone video with no audio (i don't have a crt and my monitor won't recognize the NES component inputs.)
EDIT: Figured out how to output audio through OBS, video updated.
Link to video
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
Link to video
I finally managed to console verify this!
It turns out the data rate was only too high for a short time when the code is first being loaded. So I increased the latches per command from 28 to 32 (with some minor fiddling to prevent buffer overruns) in that area, then returned it to default 28 for the rest of playback.
With this tinkering and using my hacked SMB ROM that sets RAM for me, it worked out first try.
Really amazing that this worked out, you have really mastered the NES OnehundredthCoin!
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
I made a rom hack of SMB that loads the required RAM at power on (by editing unused level data and jumping to that) to avoid having to do any cart switching, but I still can't get sync. I get a white screen about 40900 poll in. I occasionally get one (incorrect) frame of animation before white screen.
I think to narrow it down further I would need some kind of test rom to verify that the bot I have / hardware registers can keep up with the rate at which data is being pushed.
The closest thing I have right now is NESnake 2, which has 300k polls in 3 minutes, and that works on console but this run has several times more than that.
Editor, Experienced Forum User, Published Author, Expert player
(3539)
Joined: 11/30/2014
Posts: 2742
Location: US
With a cart that sets RAM to the initial state, I can get to the 'N' worlds about 1/4 times on console, but then it crashes at Bowser. I imagine I need a more sophisticating swapping technique then manually to get it to work. The probability of none of the bits decaying away in the time it takes me to swap is probably very low.
Anyway really cool project!
Do you think you will re-submit stop and swap now that it works in 2.9.1?