Right now, DevSound doesn't support SFX on its own. However, it is designed to integrate with FX Hammer, a sound effect system that was originally created as a companion to Carillon Editor. When using raw register writes for SFX (which IIRC is what you are doing) it's very difficult to tell exactly when a sound effect stops playing so the relevant music channel(s) can kick back in. Disabling CH4 in DevSound is kinda not an option for me because I like to be able to use all 4 sound channels
Right now no (unless you like writing directly to DevSound's RAM), but that's an excellent idea! I'll get to work on a sort of "external command" system for that purpose. Not sure what else the external command system would be used for, but I'm sure I'll think of something.Can you invoque for example [$89 - SetSpeed] from within the game code?
Also, an idea for your SFX trigger system: Each SFX should have its own "length" value, that way a music engine (such as DevSound) will know exactly when the SFX stops so the music channels can kick back in.
As for removing the halt in waitKey, I was trying to get it so that music could play during a waitKey, but I couldn't get it to work. I probably forgot to put the halt back in.
For the sake of variety, I'd say yes. I'd also recommend having different background graphics for each level if possible to add to the variety.By the way, is it an idea to make 8 different tunes for the 8 maps ?
EDIT: I have the external command system working now.