Wow!
I should have read that thread before. Nice to see BSC at work on a SID tracker.
I can hear the songs and sounds (I can wonder how to use that on demo), but I won't comment the tracker itself: I'm not the right guy to compose song.
Anyway: I like the news and the sound.
Thanks, great to know that you like it
About using it in a demo: It is basically a tightly timed play routine just as a sample player or your average line split: There's something to be done every 72us (not 64us as with splits). This something is picking the next sample value and sending to the AY, which takes 23 nops per iteration (and there are 277 in total). So there are 49 nops left,
BUT: this does not apply for all the iterations, because approx. 30 to 40 of those are needed to do instrument and song playing logic and to write the other AY registers. That still leaves you with more than 200 iterations (i.e. 225 scanlines) with the aforementioned spare 49 nops where you can do anything you like,
BUT(2): many of the CPU registers are pre-loaded and can't be used. In an earlier post I essentially said that you can't use any register - which was plain crap.
Currently the d, ix and iyl registers are free and there could be more with a bit of refactoring etc. The other registers could of course also be used, but then you'd have to pay the price of saving/restoring the value (because it could be anything at that time) or setting it to a known constant (like f4 or f6 to address the PPI/AY)
Some of this should remind you of Backtro where I guess you had to deal with similar constraints and thus had to resort to color cycling and the likes.
Some ppl have already expressed interest in integrating the player with some fancy on-screen action btw