Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Maybe there is a way to poll the broader GDQ audience and ask what TAS THEY want to see? It might help guide GDQ content, if it's possible to reach enough people to ask.
I can probably help with any NES stuff that needs to be done on the emulator side to get things like that working.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The life bars only show the bottom ~200 health. The players start with closer to 300, so even though all hits do damage as normal, they don't show up on the life bars until they get below that point.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Cool run. Out of curiousity, how did you make such smooth looking movements? Did you just edit by hand until it looked right, or did you have a script or other tool to help you out?
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow N64 is seeing a lot of advancements recently, which is good to see. I'm also surprised how 2 completely different approaches have both been very successful, pretty interesting to watch.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/32365328650776056
Levels 1-4 done.
I pretty happy with the way things are going. It's still mostly just banging enemies heads against the ground, but it's much smoother and faster now. I'm well over 1 minute ahead of the old run.
An important mechanic that Phil and Genisto obviously didn't know about is that once you beat a boss, any remaining enemies on screen instantly drop to 1 hp. This means if you can keep the normal enemies off of you, you can focus all attacks on the boss then finish off any remaining ones with a single attack. This really speeds things up.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/32305894701843977
Somehow I had some motivation to work on this game, so I figured I would at least get level 1 done so I would have a WIP to show.
Currently I am slightly ahead of Dooty's old WIP despite the bsnes core adding about 30 frames to menuing.
For anyone wanting to see the arcade version, sorry but there is just no way I'm going to touch it. I am TASing this purely to obsolete the old run.
It should be noted that 'Super' difficulty is accessed by holding down some buttons on controller 2. This seems to be the hardest difficulty, but if anyone sees any reason why this feature (I guess technically a password) should not be used now is the time to say so.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I think it's also worth mentioning that not every game uses the DPCM channel, and those that don't also don't need to use the controller read routine that enables this kind of glitch (of course this needs to be investigated in a case by case basis.)
Battletoads for example, another game with a notible game end glitch, does not enable the DPCM channel and only polls the controller once per frame.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow that's impressive, Marathonman must have done an incredible amount of work to get that multi-threading to work out.
Looking at the related cen64 forum thread, it looks like some accuracy was sacrificed though? I'm not sure of the details, still impressive either way.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Oh I had forgotten about that improvement. I also tried to find some frames but without success. Glad those 2 frames weren't left behind! (and the extra one too.)
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
In general I don't think there is a target audience, after all we do this as an enjoyable hobby, we aren't selling anything. I don't see the need to use formal business terms or come up with a definition to what we do. Even in the context of GDQ's, it's more important that preparers and presenters are themselves interested and fascinated by what they are doing, more then trying to cater to some 'target audience.' That earnest interest shows through in the presentation.
I guess I'm in the minority here, but I would definitely be interested in any and all such runs. (But I think the total number would be rather small anyway in this case.)
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Wow 37 second improvement that's great Zakem66!
I've always been curious how much my first TAS could be improved, but did not have the motiviation to take another look at it. I guess the answer is it could be improved quite a bit!
Also yeah I am a guy.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks!
So at this point I think the core itself is in pretty good shape. There are still some things I would like to clean up but for now I'll take a break from the code and move on to other forms of testing.
I have taken jlun2's advice and started looking at console verified runs. SMB3 is the most obvious choice for me since it uses the DMC channel and that had a major timing change in my recent improvements. The game end glitch run still syncs as it did on 1.11.6 (you have to remove one frame at the beginning though.) Then I remembered something True had wrote from the warpless run console attempt:
True wrote:
Edit: The run went well. It desynced after 2-1, just as PRG1 did on emulator. This is both a good thing and a bad thing. I need SMB3 PRG0 or a donor to continue, but it may verify yet. I'll see what I can do.
Edit 2: I ran PRG0 SMB3 on console. It desycned as PRG1 did on console and emulator. This might (or might not?) be a helpful test in improving emulation.
I tried this on 1.11.6 and realized it desynced in a different spot, in 1-4. This was an excellent test point, so I tried the run on the current version and it instead de-synced after 2-1, just as True describes. This is defintely an improvement, as it behaves just as console does now. I think this is a good sign.
Over the next few days I'll re-test some of the longer runs, but they are already highly likely to sync since they were made on the much less accurate fceux to begin with. I'll also see if I can learn anything from other runs that failed to sync, if they desync in the same manner, this seems like a good path forward.
______________________________
Also, if anyone wants to download and test the current version, I am definitely in need of new test cases. So if you see something not quite right, or a game that doesn't work , I could really use a report about it.
Update on syncs:
SMB 2 warpless syncs. But I encountered an interesting timing issue. I originally deleted a frame at the begining of the movie, since an early vsync allows input a frame earlier. However it turns out that this thorugh the run off all the way at frame 50000. When i didn't remove the frame it synced just fine. This is strange since I would not expect this to be the case in general. It could just be that the run syncs on console through astounding luck. Anyway, that it syncs is good confirmation.
I also tried looking at some failed syncs. Looking at Punch out was first on my list. Adelikat's run syncs all the way through, even though it desyncs on console. I'll try looking into this a bit to see what's going on.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Gamer Maiden Sonia wrote:
Alyosha wrote:
Down to just 2 tests, scnaline and TVpassfail. I'm not really interested in the TV one since it's just a filter, maybe I'll do it eventually.
So it's not important then? I'd like if you could tell me more about TVpassfail (what we'd be missing out if it's not accurate). I like learning about those little things whenever possible.
Well it's important for proper appearence, but it's basically a post processing feature so it doesn't effect core emulation.
The test is looking for proper emulation of cross talk between components of the output color singal. I'm no expert so here is a picture of the comparison between 2 filters in punes, the left emulates NTSC video signal output to a real life TV, the right is just raw video output.
Bizhawk looks like the right, so at some point a filter needs to be put in to make it look like the left.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
RaijinXBlade wrote:
Alyosha, I know of an NSF player by the name of NSFPlay which was reworked by someone called Rainwarrior. It is considered to be highly accurate, including for the mappers. Do you think that can be of some use to you?
Thanks for posting that, I looked over the code and even there they count up. Every over place I check also counts up, so I'm not really sure why the wiki says it counts down, counting up also gives correct test results, which is good enough for me!
Down to just 2 tests, scnaline and TVpassfail. I'm not really interested in the TV one since it's just a filter, maybe I'll do it eventually. Scanline is puzzling. Currently I get results similar to punes, and the test seems to rely a bit on start up state. I also don't see how FCEUX is able to pass it, I'm guessing a false positive.
EDIT: I finally fixed the Saint Seiya - Ougon Densetsu Kanketsu Hen glitch. This turned out to be a ppu $2007 write during rendering, for which you simply need to read from address the background renderer is using instead of the normal vram one. A simpler fix then I realized. I'm happy that this one is done, as it was one of the first things I tried fixing.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
hegyak wrote:
What is the white square doing? Is that normal?
Yup it's normal. That square is sprite zero, so presumably it's used for timing, although I don't know how exactly.
I got square channel mostly worked out, although something seems off:
NesDev Wiki wrote:
The reason for these odd sequences is that the sequence counter is initialized to zero but counts downward rather than upward
Right now it only works by counting up, not down as is clearly intended, so not sure what all that is about, but the test is much much closer to correct now.
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks a lot! I really like accuracy too, and I was always curious why NES emulation never really made into the realm of bsnes in terms of accuracy, despite the wealth of research done by NesDEv folks over the past few years. I think we're getting closer now though (at least with NTSC variants.) BizHawk was already really powerful, and my hope is that the accuracy improvements , combined with feos' numerous improvements to TASStudio, might bring in some runs that can be console verified. My personal goal is to have verifications of MegaMan, Punch Out, and Battletoads.
I'm making progress on APU Mixer tests. I'm using the full nonlinear mixer now, and DMC and Noise sound perfect. Triangle sounds strange but roughly matches punes, so not sure what to make of that one. Square is a mess. Audio is not my strong suite so it might take a while to track down what's going on, but either way 4 tests to go!
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
That's pretty cool. I'm always surprised how such tricks can go undiscovered for so long.
I think my name can probably be removed from the author list now. This current work certainly supercedes anything I had to add in the previous run.
Nice Work!
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Gamer Maiden Sonia wrote:
Just posting here to say I'm impressed with your work, Alyosha. A 100% NEShawk would be really, really awesome. Good luck with the remaining tests!
Thanks!
As I expected the remaining tests are going pretty smoothly, only 7 more to go!
@feos: oh wow, thanks for pointing that out, I guess the hard part is already done then!
EDIT: We're #1! Only 5 tests to go!
Editor, Experienced Forum User, Published Author, Expert player
(3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Once I got DMC figured out it was relatively easy to sort out the frmae timer. I got it working correctly and cleaned up the regression is DMA_and_IRQ. In the process I also got several other tests passing that were part of the same test suite.
So with that, there are only 10 more tests to go! Some of them seem relatively easy, so we should be tied with punes in no time!
The only challenging ones here that i am worried about are scanline (which I have no idea how it's supposed to pass and punes doesn't pass either) and tvpassfail which seems like a great deal of work.