This is the discussion board of the tool-assisted video game movie site TASVideos Welcome. Please do not fill the forums with movie requests. Enjoy your stay.

If you have a question, please read the Site FAQ first to see if your question has already been answered.

Author Message

creaothceann ♂





Joined: 2005-04-07 13:24:00

Posts: 1852

Location: Germany EditorJoined: 2005-04-07 13:24:00Posts: 1852Location: Germany

Posted: 2017-06-14 05:52:57 Post subject: natt wrote:

creaothceann wrote:





Btw. a query:





RunToSave has never worked correctly over the entire life of bsnes. This was well known when the



The best example I can think of is Tales of Phantasia. It uses a uniquely difficult sound engine that crashes the emulated game and in some cases even the emulator when you savestate too many times. This is 100% repeatable on any Bizhawk build of the appropriate version: Turn on 1frame rewind, load the game, and watch the attract always crash on the exact same frame <6000 frames in (the exact number escapes me now...). I fixed the emulator crash



Some other things are heavily broken too, all with the same MO: The game will work fine with no savestates, but the moment you start savestating every frame, things break. Super Game Boy, audio on some Rare games; Sonia knows more if you're interseted



Besides complete breakage, there's also a lot of desync potential where a game will continue to run but handle timing subtlety differently. I believe Ilari has mitigated this by a combination of ignoring savestate requests at certain times and only taking savestates at known "good" times that happen to work out better, but I'm not sure; he's not the most cooperative and his code is impenetrable. Those solutions would be more duct tape and pray anyway; you still don't have something that is taking correct savestates.



End: Here are all of the commits that I ripped out of bizhawk that were related to our coreside fixes for libco savestate problems:



a60be7d2c9818229a0dcff0dbccf15f31015ca2a

a7b6a9af4d4c049dbcd775f05f8539f86456e5e9

57b1df8487e3102b2e81c75fb96640cb1da430a4

9119e4f4ea7661b555125f8d6023efda8f6ed704

b2c0910376657208acb325953fbb2dbd4957d5e1

587270cad2ec96eaeec0ae60e4247c31a0a06a2e

74c26d9b117d3bdc78f5e5247909c9a05dee2a98

5e3d6555b02b1d6a6b61d8aeb3617e256697cd01

451f786660744835be868c7fca91ef3fc33db687



There might be more of them, and I know there are frontend commits as well, and many other issues that we just didn't solve. RunToSave has never worked correctly over the entire life of bsnes. This was well known when the first bsnes movie was accepted to this site; if you pounded the savestate button a few dozen times at the beginning, the run would desync. Byuu has been presented facts about this a number of times and has flopped between viewpoints as needed, including denying the bugs, blaming them on the installation, and downplaying them as not significant for most users.The best example I can think of is Tales of Phantasia. It uses a uniquely difficult sound engine that crashes the emulated game and in some cases even the emulator when you savestate too many times. This is 100% repeatable on any Bizhawk build of the appropriate version: Turn on 1frame rewind, load the game, and watch the attract always crash on the exact same frame <6000 frames in (the exact number escapes me now...). I fixed the emulator crash https://github.com/TASVideos/BizHawk/commit/451f786660744835be868c7fca91ef3fc33db687 but the game still crashed; then I fixed the game crash https://github.com/TASVideos/BizHawk/commit/587270cad2ec96eaeec0ae60e4247c31a0a06a2e (note: there are two commits before it that are also relevant; see end). The exact problem was completely plain under a debugger, and once the fix was implemented it never happened again in Bizhawk, but according to Byuu that couldn't possibly have been it because the game works in Snes9x, which is much less accurate!Some other things are heavily broken too, all with the same MO: The game will work fine with no savestates, but the moment you start savestating every frame, things break. Super Game Boy, audio on some Rare games; Sonia knows more if you're interseted http://tasvideos.org/forum/viewtopic.php?t=19031 Besides complete breakage, there's also a lot of desync potential where a game will continue to run but handle timing subtlety differently. I believe Ilari has mitigated this by a combination of ignoring savestate requests at certain times and only taking savestates at known "good" times that happen to work out better, but I'm not sure; he's not the most cooperative and his code is impenetrable. Those solutions would be more duct tape and pray anyway; you still don't have something that is taking correct savestates.End: Here are all of the commits that I ripped out of bizhawk that were related to our coreside fixes for libco savestate problems:a60be7d2c9818229a0dcff0dbccf15f31015ca2aa7b6a9af4d4c049dbcd775f05f8539f86456e5e957b1df8487e3102b2e81c75fb96640cb1da430a49119e4f4ea7661b555125f8d6023efda8f6ed704b2c0910376657208acb325953fbb2dbd4957d5e1587270cad2ec96eaeec0ae60e4247c31a0a06a2e74c26d9b117d3bdc78f5e5247909c9a05dee2a985e3d6555b02b1d6a6b61d8aeb3617e256697cd01451f786660744835be868c7fca91ef3fc33db687There might be more of them, and I know there are frontend commits as well, and many other issues that we just didn't solve.

byuu's reply: byuu's reply: https://board.byuu.org/viewtopic.php?f=8&t=12&p=42176#p42176

Fortranm ♂





Joined: 2013-10-19 21:35:01

Posts: 933

Editor / Active player (474)Joined: 2013-10-19 21:35:01Posts: 933

Posted: 2017-06-14 07:49:06 Post subject: feos wrote:

You forgot updated GlideN64.



And there's some work on recent mame too, which will hopefully make it to 1.x branch.

That's great to hear. Will MAME be an actual Bizhawk core or a part of the libretro core like how it is now?

feos





Joined: 2010-04-17 05:29:12

Posts: 9500

Location: RU Senior Judge / ... / Skilled player (1553)Joined: 2010-04-17 05:29:12Posts: 9500Location: RU

Posted: 2017-06-14 09:20:42 Post subject: Fortranm wrote:

feos wrote:

You forgot updated GlideN64.



And there's some work on recent mame too, which will hopefully make it to 1.x branch.

That's great to hear. Will MAME be an actual Bizhawk core or a part of the libretro core like how it is now?

There are 3 options.



- Make it work only through libretro, fixing both mame core and libretro to rerecord properly.

- Port mame core directly or its libretro interface like a usual bizhawk core.

- Waterbox mame in its entirety.



The last option can't be done without splitting mame into single driver parts, otherwise each game would have insane overhead in its savestates. The second option requires fist fixing everything and wiring it all up. The first option is supposed to fix everything and wire it up, and make it possible to port mame directly if needed, and it also helps to fix other libretro cores. So I'm working on the first option.



_________________

Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.



If TASing is meta-play, _________________If TASing is meta-play, TASVideos Movie Rules are meta-meta-play! There are 3 options.- Make it work only through libretro, fixing both mame core and libretro to rerecord properly.- Port mame core directly or its libretro interface like a usual bizhawk core.- Waterbox mame in its entirety.The last option can't be done without splitting mame into single driver parts, otherwise each game would have insane overhead in its savestates. The second option requires fist fixing everything and wiring it all up. The first option is supposed to fix everything and wire it up, and make it possible to port mame directly if needed, and it also helps to fix other libretro cores. So I'm working on the first option.

natt

Vested Editor / Emulator coder



Joined: 2011-05-11 12:37:17

Posts: 1094

Location: Murka

Posted: 2017-06-14 21:04:19 Post subject: creaothceann wrote:



byuu's reply: https://board.byuu.org/viewtopic.php?f=8&t=12&p=42176#p42176



I honestly didn't write that for Byuu's benefit, just the benefit of other people that might be interested. As for his reply, I didn't read past the "it's possible" in the first sentence. We've got years of experience from many TASers and multiple developers working on this core to demonstrate these facts. Byuu is like a climate change denier but for emulation determinism.

Sonia ♀





Joined: 2013-12-06 00:05:41

Posts: 424

Location: Brazil Active memberJoined: 2013-12-06 00:05:41Posts: 424Location: Brazil

Posted: 2017-06-15 20:20:20 Post subject: So, I've been messing around with the rewind function in 1.13.0 and noticed it doesn't work for all cores. Below are the ones I tested:



Works

-NES

-Genesis

-PC Engine

-SMS

-Game Gear

-GB and GBC

-WonderSwan and WSC (Judgement Silversword failed)



Doesn't Work

-SNES

-Sega CD

-PCECD

-N64

-PS1

-GBA



Will we be able to rewind those cores in the upcoming Bizhawk 2.0?



feos wrote:



There are 3 options.



- Make it work only through libretro, fixing both mame core and libretro to rerecord properly.

- Port mame core directly or its libretro interface like a usual bizhawk core.

- Waterbox mame in its entirety.



The last option can't be done without splitting mame into single driver parts, otherwise each game would have insane overhead in its savestates. The second option requires fist fixing everything and wiring it all up. The first option is supposed to fix everything and wire it up, and make it possible to port mame directly if needed, and it also helps to fix other libretro cores. So I'm working on the first option.



I was hoping for the 3rd option myself, as I've always dreamed about having MAME in the regular bizhawk to keep all my movies organized in the same place. I've never used libretro before and know very little about it, other than I pretty often see it talked about on emulation sites.



But either way, do what you think is best.

adelikat





Joined: 2004-11-03 20:14:03

Posts: 4581

Location: Tennessee Site Manager / ... / Expert player (4158)Joined: 2004-11-03 20:14:03Posts: 4581Location: Tennessee

Posted: 2017-06-15 20:24:11 Post subject: Sonia wrote:

So, I've been messing around with the rewind function in 1.13.0 and noticed it doesn't work for all cores. Below are the ones I tested:



Works

-NES

-Genesis

-PC Engine

-SMS

-Game Gear

-GB and GBC

-WonderSwan and WSC (Judgement Silversword failed)



Doesn't Work

-SNES

-Sega CD

-PCECD

-N64

-PS1

-GBA





Config -> Rewind & States



Notice by default rewind is off on cores with larger savestates. This is because there is a performance cost. Turn it on for cores you want and fiddle with settings. Rewind works for all cores. You are just reporting what the default options are here.



_________________

Pimpin' ain't easy

My Homepage

My TAS projects _________________Pimpin' ain't easy Config -> Rewind & StatesNotice by default rewind is off on cores with larger savestates. This is because there is a performance cost. Turn it on for cores you want and fiddle with settings. Rewind works for all cores. You are just reporting what the default options are here.

feos





Joined: 2010-04-17 05:29:12

Posts: 9500

Location: RU Senior Judge / ... / Skilled player (1553)Joined: 2010-04-17 05:29:12Posts: 9500Location: RU

Posted: 2017-06-15 20:39:21 Post subject: Sonia wrote:

I was hoping for the 3rd option myself, as I've always dreamed about having MAME in the regular bizhawk to keep all my movies organized in the same place. I've never used libretro before and know very little about it, other than I pretty often see it talked about on emulation sites.

We have a libretro launcher. This is what I mean, bizhawk's libretro later for mame, not retroarch.



_________________

Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.



If TASing is meta-play, _________________If TASing is meta-play, TASVideos Movie Rules are meta-meta-play! We have a libretro launcher. This is what I mean, bizhawk's libretro later for mame, not retroarch.

Shentok

Newbie



Joined: 2016-12-01 05:25:43

Posts: 12



Posted: 2017-06-16 20:45:17 Post subject: Will 3D Pad support be available with the update to the Saturn core as well? I'd like to be able to have that for a couple of games I'd like to experiment a TAS with.

natt

Vested Editor / Emulator coder



Joined: 2011-05-11 12:37:17

Posts: 1094

Location: Murka

Posted: 2017-06-16 20:45:41 Post subject: Shentok wrote:

Will 3D Pad support be available with the update to the Saturn core as well? I'd like to be able to have that for a couple of games I'd like to experiment a TAS with.



Yes

Shentok

Newbie



Joined: 2016-12-01 05:25:43

Posts: 12



Posted: 2017-06-16 20:50:40 Post subject: natt wrote:

Shentok wrote:

Will 3D Pad support be available with the update to the Saturn core as well? I'd like to be able to have that for a couple of games I'd like to experiment a TAS with.



Yes



Awesome. Thank you very much. I will look forward to this release. The updated core will really help with Saturn TASing.

Sonia ♀





Joined: 2013-12-06 00:05:41

Posts: 424

Location: Brazil Active memberJoined: 2013-12-06 00:05:41Posts: 424Location: Brazil

Posted: 2017-06-16 21:49:42 Post subject: adelikat wrote:



Config -> Rewind & States



Notice by default rewind is off on cores with larger savestates. This is because there is a performance cost. Turn it on for cores you want and fiddle with settings. Rewind works for all cores. You are just reporting what the default options are here.



Thanks a million. Simply checking the boxes for "Medium savestates" and "Large savestates" did the trick. By the way, is it possible to rewind toggle instead of having to hold it down?



An unrelated thing I forgot to mention:



adelikat wrote:



* SNES - Snes9x 1.54 ported. Note that bsnes still should be used for serious TASing intended for submission at TASVideos. But snes9x is provided for its performance and decent compatibility for casual gaming, botting, and testing





I'd suggest porting 1.53 instead. Main reason is that 1.54 wrecked the audio of some games. Haisei Mahjong - Ryouga, Dark Law - Meaning of Death, Super Pinball - Behind the Mask, to name a few. There's now a heavy and painful audio screeching that didn't exist in 1.53.



The reason is that they changed the SMP to the one written by byuu for bsnes performance. The same bugs exist in bsnes' performance core if you run those games there.

feos





Joined: 2010-04-17 05:29:12

Posts: 9500

Location: RU Senior Judge / ... / Skilled player (1553)Joined: 2010-04-17 05:29:12Posts: 9500Location: RU

Posted: 2017-06-16 22:03:24 Post subject: Sonia wrote:

The reason is that they changed the SMP to the one written by byuu for bsnes performance. The same bugs exist in bsnes' performance core if you run those games there.

This is so absurd that it's hilarious.



_________________

Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.



If TASing is meta-play, _________________If TASing is meta-play, TASVideos Movie Rules are meta-meta-play! This is so absurd that it's hilarious.

Sonia ♀





Joined: 2013-12-06 00:05:41

Posts: 424

Location: Brazil Active memberJoined: 2013-12-06 00:05:41Posts: 424Location: Brazil

Posted: 2017-06-17 00:59:00 Post subject: feos wrote:



This is so absurd that it's hilarious.



What do you mean by "this"? bsnes performance being buggy or my statement?



If you mean the former, then all right. But if you're skeptical over my statement, then just run the three games I mentioned in snes9x 1.54 and bsnes performance/compatibility/accuracy. You'll notice that the bugs only exist in 1.54 and bsnes performance (and by extension, bizhawk's snes performance core), since they all share the same SMP code.



1.53 and bsnes compatibility/accuracy runs them perfectly.

Sonia ♀





Joined: 2013-12-06 00:05:41

Posts: 424

Location: Brazil Active memberJoined: 2013-12-06 00:05:41Posts: 424Location: Brazil

Posted: 2017-06-17 03:01:24 Post subject:

https://www.youtube.com/watch?v=v1OwD6vUhiQ



Here is the order I went through things:



-Dark Law (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)

-Haisei Mahjong (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)

-Super Pinball (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)



As it can be seen, audio is completely wrecked in performance/1.54. But it works correctly in balanced/1.53. Yes. Here, I made an audio comparison video:Here is the order I went through things:-Dark Law (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)-Haisei Mahjong (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)-Super Pinball (higan balanced -> snes9x 1.53 -> higan performance -> snes9x 1.54)As it can be seen, audio is completely wrecked in performance/1.54. But it works correctly in balanced/1.53.

ruadath





Joined: 2016-12-13 14:15:59

Posts: 346

Active player (400)Joined: 2016-12-13 14:15:59Posts: 346

Posted: 2017-06-17 09:18:03 Post subject: Minor initial config suggestion that I think people would find useful:



change default key for select from spacebar to backspace



it's what most people use, and signficantly reduces n-key rollout with combinations of select and other buttons (in particular, soft resets).

feos





Joined: 2010-04-17 05:29:12

Posts: 9500

Location: RU Senior Judge / ... / Skilled player (1553)Joined: 2010-04-17 05:29:12Posts: 9500Location: RU

Posted: 2017-06-17 10:13:03 Post subject: Sonia wrote:

What do you mean by "this"? bsnes performance being buggy or my statement?

The situation. Performance profile gets dropped due to being useless for casual play when snes9x is here, and after all the drama about byuu's decisions and moving away from them in terms of savestates, they hit us from the back, from snes9x itself, where they were reused. And they are exactly what causes bugs there. And 1.54 has already been integrated. Fucking LOL.



_________________

Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.



If TASing is meta-play, _________________If TASing is meta-play, TASVideos Movie Rules are meta-meta-play! The situation. Performance profile gets dropped due to being useless for casual play when snes9x is here, and after all the drama about byuu's decisions and moving away from them in terms of savestates, they hit us from the back, from snes9x itself, where they were reused. And they are exactly what causes bugs there. And 1.54 has already been integrated. Fucking LOL.

natt

Vested Editor / Emulator coder



Joined: 2011-05-11 12:37:17

Posts: 1094

Location: Murka

Posted: 2017-06-17 11:43:46 Post subject: I remember byuu ranting back in the day about snes9x developers copying bits of bsnes without looking at the big picture of emulation accuracy, and so accomplishing nothing... I guess they didn't learn their lesson.



The good news for bizhawk is that bsnes compat core is faster than it was and the determinism issues are gone, so snes9x isn't actually that important to us.

Alyosha ♂

Editor / ... / Expert player (3444)



Joined: 2014-11-30 20:07:31

Posts: 2125

Location: US

Posted: 2017-06-25 20:26:05 Post subject:



Now we just need a TASVideos 2.0 :)

Hurray 2.0 is here! Great work to everyone who helped get the new cores working and especially natt who made some seriously huge commits and got the magical water boxing stuff working. This is a big advancement in TASing technology !Now we just need a TASVideos 2.0 :)

PikachuMan ♂





Joined: 2009-09-12 20:48:49

Posts: 1477

Location: Wichita Limited User / Player (10)Joined: 2009-09-12 20:48:49Posts: 1477Location: Wichita

Posted: 2017-06-25 22:24:24 Post subject: On BizHawk, If you get an error message that reads "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item" check your antivirus and add BizHawk 2.0 to the exclusions/exceptions/whitelist and the game mode.

_________________

Puzzle games were my strong suit but it became my downfall... Gotta do something in order to get my submission privileges reinstated.

InfamousKnight

Active member



Joined: 2014-09-12 16:16:38

Posts: 418



Posted: 2017-06-25 23:34:57 Post subject:



Does it mean it will make it easier to port cores from this:



If so, that will be awesome! I don't understand this whole "waterbox" technique..Does it mean it will make it easier to port cores from this: http://buildbot.libretro.com/nightly/windows/x86_64/latest/ If so, that will be awesome!

Challenger

Expert player (2190)



Joined: 2016-02-23 01:18:23

Posts: 787



Posted: 2017-06-26 00:43:04 Post subject:



Also, any plans to add 32X someday?



_________________

My homepage



--Currently not much motived for TASing as before...--



But I'm still TASing. _________________--Currently not much motived for TASing as before...--But I'm still TASing. Excellent work with the newest version and new cores!Also, any plans to add 32X someday?

natt

Vested Editor / Emulator coder



Joined: 2011-05-11 12:37:17

Posts: 1094

Location: Murka

Posted: 2017-06-26 01:13:33 Post subject: InfamousKnight wrote:

I don't understand this whole "waterbox" technique..



Does it mean it will make it easier to port cores from this: http://buildbot.libretro.com/nightly/windows/x86_64/latest/ ?



If so, that will be awesome!



In short, it's a way for cores to make better savestates. It could be used for more libretro cores, but it doesn't make things automatic.