Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I have two observations here. First, @spikestuff, assuming you aren't otherwise removed from staff (which seems it won't be the case) maybe it's time to take a brake? To me these are the actions of someone way too invested in something that isn't all that important. Maybe setting it aside for a few months can let you get a fresh perspective on things and give you a fresh sense of balance. I've had to do this at times in the past and it really helped me realize how far out of whack I had gotten. Second, I have to say, I am almost stunned at the staff response here. I can only describe it as half interested and tired. But even that isn't really the right words. It just strikes me as strange. Did morale fall off a cliff lately?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
My Goodness. Thank you for bringing all of this information to everyone's attention BrunoVisnadi. Bringing this kind of shadowy nonsense into the spotlight will hopefully bring a close to it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ah ok now I understand. For some reason I was confusing two ideas about the screen state in my head. Should be fixed in the most recent commit. Thanks for being persistent.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
There is subframe resets now in BizHawk: http://tasvideos.org/forum/viewtopic.php?p=480249#480249 Fortunate timing.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
SubNESHawk is now available as a core option in BizHawk. It is a subframe input capable NES core. It offers poll based input as well as ppu-cycle level reset timing. This enables some long sought after TASes to be made such as SMB3 DMC glitch to credits. To use SubNESHawk, first select NEShawk as your NES core (Config->Cores->NES->NESHawk), then check the 'SubNESHawk' option in Config->Cores. If you want to TAS NES games as normal, you can still use ordinary NESHawk just by not having the SubNESHawk box checked. NOTE: This core is not meant for casual play. Consider it TAS only. NOTE2: Movies from this are not yet fully supported on TASVideos, and the core is still marked as experimental. If you have any questions comments or suggestions feel free to post or pm me.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
feos wrote:
Is ppu cycle printed in the trace log or shown in any other way?
Good point, having that info in the trace log would make it much easier to work with. I just implemented it. EDIT: Note that other cores using the 6502 tracer will just return 0 for the ppu cycle. I guess I could work on giving them a proper counter as well.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I added in subframe resets. You can reset at ppu cycle precision. How it works is when you pick a number to target and then press the reset button. If that cycle number comes up during the frame a reset will occur . If not no reset will occur. Note this breaks existing movies , sorry about that. I’m not sure if there are any useful test cases for this, but this is probably the last change that’s happening .
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool stuff, yes vote. I'm very surprised so many savings were still possible.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Mari0: It was ok, definitely too long though. I agree that some context would have helped. Probably could have replaced the 4 player segment with the kind of introduction Masterjun suggested since it was too hard to follow anyway. Castlevania: Boring. To echo some earlier points, there is no expectation of failure in TAS, so seeing perfect play isn't impressive. It was also very jumpy which made it confusing for me and not fun to watch. (Also it was on emulator but I think that point is beaten to death by now.) Scribblenauts: I like the idea of interaction, but I don't like pay to play. This is on GDQs end so nothing you can do about it. I also found it strange that the automation made it slower then just typing in the answers by hand, which at least for me put it more in the realm of a needless gadget. But maybe a general audience liked it I don't really know. Everything seemed to go smooth though so that's good. Although that guy describing the difficulty of working with the scribblenauts machine makes me think that it was probably a close call again. Anyway I'm looking forward to seeing more cool stuff come out of LibTAS, so that seems like a fruitful direction to go in. Too bad the console verification front seems to be hitting a wall and giving you lot's of problems, but that's on emulator authors so you can only do so much.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ah ok , got it. Good luck then!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
2 SNES controllers are supported in the most recent dev build. Build: https://ci.appveyor.com/project/zeromus/bizhawk-udexo/builds/21572798/artifacts All available NES controllers in NESHawk should be available now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh that's cool! Is the only reason there is no music because it's not in the file? Or am I missing something else that needs to be implemented?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Interesting. I think I found a flaw in the link logic, so I'll post a fix. (It will break savestates so you'll have to export to BK2, but it should still sync.) Anyway that's probably the most intense game of GB Tennis ever played! Pretty cool stuff.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
The screen doesn't update immediately because I didn't want to put the entire screen state in the savestate. If it's really preventing you from doing something I can add it in, but I'd prefer not to. Can you clarify the desync? Did it play differently when you were TASing it and then when you replayed it it was different (i.e. savestate de-sync) or is it just the desync between the 2 consoles like in the video (link desync)?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
That's all I needed, thank you!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I re-worked SubNESHawk to use more of the underlying NESHawk features. Now you can select controllers and use PPUViewer among other things. If anyone is willing to re-test SMB3 I would appreciate it. Build: https://ci.appveyor.com/project/zeromus/bizhawk-udexo/builds/21572798/artifacts
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
^ that's needlessly rude. @PikachuMan: A simple bug report without the whining will do. We do try to avoid regressions, surely someone will patch it up for the next release.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
The PR had to be remade, here is the new dev build link: https://ci.appveyor.com/project/zeromus/bizhawk-udexo/builds/21537032/artifacts Also keep in mind that this is basically beta testing, so many things are subject to change, also I'm open to improvement suggestions as things mature.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It works! @Masterjun thanks for testing . Yeah each green frame is an input latch. Each red (lag) frame is a video frame edge , so a dump script for playback would only dump green frames. @DrD2k9 well you can work on Gimmick too. Or anything that polls input often like Punch Out.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I didn't know this, but apparently there is a dev build for branches as well, you can download a compiled build with subneshawk here: https://ci.appveyor.com/project/zeromus/bizhawk-udexo/builds/21423589/artifacts Remember that to enable subneshawk, you need to both enable NESHawk in the core menu and also check the 'SubNESHawk' checkbox in the core menu.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
It's not in the dev build yet, it's still a PR. You have to build it from source until it's merged.
DrD2k9 wrote:
Awesome! I love that you figured this out in less than a month after telling me "Subframe input on the piano roll isn’t happening." here. Even if it is only for 1 or 2 cores. This is essentially what I was suggesting/hoping for. WAY TO GO! FWIW, I'm willing to help work on getting the SMB3 run re-done to see if it will work.
yeah funny how that works, I guess a change in perspective is all I needed from working on something completely unrelated. That's very often how it works for me. Yeah SMB3 should probably be the first goal.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Alright I got everything straightened up for a pull request. Anyone who wants to try it out can check out the SubNESHawk branch. Everything seems to be in working order. You can load up and use TAStudio (audio and video need a bit of work still for TAStudio) and I'm pretty sure savestates work correctly. Right now I just have default 2 standard NES controllers plugged in, with no option to change them. As things mature I can add back in other options. Resets aren't supported yet, only normal controller input. If there is a specific use case for it I can look into adding it in.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
brunovalads wrote:
This is really interesting! Is there any NES TAS that uses subframe inputs? SUBNESHawk would be a different core to be chosen in the core dropdown list? TAStudio would have subframes like "1234, 1234.1, 1234.2, 1234.3 ... 1234.999, 1235"? Could the same be done in the bsnes core, like Lsnes does?
The SMB3 run from GDQ a couple years ago does. it constantly spams different controller readings until a stack overflow happens I believe. Hopefully this will allow that TAS to be remade and published. You will choose with a checkbox in the core submenu (right below GB as SGB.) You'll need to have NESHawk selected also. I'm not touching TAStudio, so you'll just have to re-interpret the frame number as input frames instead of video frames. No this won't work for SNES. What I'm doing relies on the fact that I can run NESHawk at single PPU tick precision from a separate core layer. This is possible for GBHawk as well, so technically it would be possible to make something similar to MrWint's Pokemon Yellow ACE, but that's a long way off. A2600/7800 would also technically be possible to do this. SMS is possible in principle but the core would need to be re-written for single cycle execution. So basically anything like SNES, GBA, or any ported core is not applicable here. You would need an entirely new emulator for it. This is basically just trickery with being able to run in-house cores with fine precision.
Post subject: SubNESHawk
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
As I was working through GBHawk Linked play support recently, I suddenly realized that what I was doing was really, really similar to what I needed to do to get subframe input working natively on NESHawk. In fact, it was so similar that I decided to have a go at implementing it using what I learned from GBHawk. As it turns out, it worked! I can run the NESHawk core at single cycle intervals until I hit a controller read, or until I hit a frame boundary. The trick is that I had to modify FrameAdvance to return a bool value depending on whether or not a full frame had rendered. Obviously, all the other cores will just return true as usual, but SUBNESHawk will only return true at frame boundaries. With this information, you can record video of only the actual frames. So even though a movie file might contain thousands of 'frames' (individual controller reads) when you record a video it will still be recorded at normal frame rate and produce a correct encode. So, I can successfully bypass all of the problems with subframe input. I can make movies at the subframe level, I can use TAStudio since I have access to the complete core state at every cycle, and I can make encodes at the frame level as usual. Pretty neat! I'll be making a PR in the coming days as I clean things up, but I don't foresee any major difficulties. So if you find this interesting, please post suggestions so I can add them in as I go.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool thanks for testing! Yeah GBHawk is pretty resource intensive, so unless you have a newer computer it's too slow to be useful in linked play. I have a pretty new computer and I can at least get GBC double speed mode running under linked play at full speed, but not much faster. I've never seen the multi-disk bundler window crash, if you can figure out how to reproduce that reliably please report it. I'll go over states again and make sure I didn't miss anything, in the savestate. EDIT: There was a savestate error after all. Fixed now. (this is why I need people other then me to test stuff I guess.)