Sound Engine: various fixes for interrupting looping DPCM music samples with SFX samples#436
Sound Engine: various fixes for interrupting looping DPCM music samples with SFX samples#436grendell wants to merge 3 commits into
Conversation
|
Hi. Can we isolate more of that code only when FAMISTUDIO_CFG_SFX_SUPPORT is active? From the description, most of the stuff seem to be related to SFX being interrupted and stuff, yet I dont see a single #if FAMISTUDIO_CFG_SFX_SUPPORT. Im guessing we probably dont need most of that stuff in ROM/NSF. And yes, this will need to be ported to other assemblers as well as a few other things.
|
|
Thanks for pointing me to those resources. Just to confirm, is this functionality you'd be interested in having, before I keep going? I missed the intended use of |
1bf567b to
dcc6cd2
Compare
Please let me know what other validation steps should be taken, if any. My concern with wrapping this logic in |
|
Apologies, I missed that I assume the only path forward is to optimize a few instructions. Any known low-hanging fruit would be most welcome. 😄 |
|
|
Usually another codebank is just added in cases like this, since it will just break again in future when something else is added otherwise. Mat mentioned this to me before when working on FDS and VRC7 related stuff. |
|
I originally tried adding another code bank in the VRC7 configuration, but after it wasn't an automatic fix, I didn't want to introduce bank switching for such a small fix. Of course, I may have just not known how to actually make this work within the system. I don't think there's any reason not to make these micro-optimizations, but if this is the preferred path, I will look into it. |
|
@BleuBleu any feedback on my previous points or the additional changes? Thanks. |
|
Form a high level I don't have any objection, Ill take a closer look at the code around 4.6.0, the next major release. You started this PR right around the time we release 4.5.0 so unfortunately we missed our window. :( The release schedule is these days is roughly every ~4-6 months, so before end of year for sure. -Mat |
These proposed changes fix the following issues:
I realize these changes will need to be ported to NESASM, ASM6, and cc65, but since this is my first attempt at a contribution to this project, I wanted to get feedback first.
Thanks!