ok after mucho head banging. I think we can say that the new apu sound core and running some games in 720p is the source of speed loss of non-chip based games. Apparently some games running slow in mode 7 run alot better when at 480i/p. This is caused by the sound engine. I confirmed this by getting the new apu sound engine to run under snes9xbox 1.51 and the same speed issues occured. Snesxbox running under 1.51 with the old sound engine runs comparable to Snes9xbox v2.
Super FX and chip games however are a different story. Between the new sound core and a lack of an ASM core we get the speed loss even at 480i/p. However I have not had a chance to confirm C4 games running at 480p (Megaman).. but I think they are ok (someone feel like checking)?
So what does this mean? It means that pretty much the new sound core is the culprit. At one point I ruled out the sound engine because we were not getting buffer underruns on the sound engine and the sound synch code was not kicking in so I was at the time beginning to think it was something else. But apparently this is not the case.
So one of the things I'm gonna do is add an option to select the video mode that each game runs in. This will allow you to set slower running games to 480p to make up for the speed loss. We had discussed this in the past with pcsxbox and dosxbox because those emu's have a similar situation where some games run perfectly fine at 720p. So I guess now is the time to do it now that I'm storing all the game screensizes for each game anyways.
Another option is to modify Snes9xbox so that you can launch 1.51 with the old sound core. Sure there will be definite speed improvements. So if 720p and speed with old sound is more important to you then this would be the core to use. Or if you are not satisfied running Super FX games with "Set Auto Max Skip Frames To 1" to yes then this would also be the way to go.
However there is a big catch 22. The savestates are incompatible between 1.51 and 1.53. So we would have to come up with some way to deal with that to minimize user confusion. One way would be to have the savestates named differently between versions so that a savestate saved in one core will not show up in the other. Although I can see people getting confused wondering where their savestates are. The other option would be to do version checking on the loading of a savestate and if you are using say 1.51 and trying to load a 1.53 it would say "This savestate was saved under Snes9xbox 1.53 core". This may be a little less confusing and more of an annoyance on the users part.
Of course then there is the lazy option and just include two seperate cores and let the user use which ever one floats their boat... (IMG:
style_emoticons/default/tongue.gif)
Unless dante_ali manages to work some magic with the apu sound core.
I could probably tinker around with the sound output rate and sound filter of the new apu core. However all the times I tried tinkering with those it didnt seem to make any diference.
QUOTE(NobodyHere @ Jun 22 2011, 09:44 AM)
I apparently won't be beta testing. Not that I mind really, but I don't want to seem like I'm not good for my word.
Is there a reason? I really could use someone to test some IPS patching. No one has stepped up yet to do it. I got to thinking I might be best off adding it as an option in either the game config screen or the in-game menu as opposed to having it autoload an IPS if a matching filename is found in the zip.
This would help accomodate games that may have multiple different patch files for them.