Right at the moment, ggsound allows 256 byte long volume envelopes, pitch envelopes, duty envelopes and arpeggios. For each playing note, an address for each envelope must be loaded into zp and then the envelope executes.
That seems kind of extreme. I wonder how common it would be to take advantage of such potentially long sequences?
If I allowed each to occupy a single 256 byte sequence could just have "instruments" where each of these type of sequences start at different points, and then I'd only have to load the address for the current instrument once. The only types of sequences which are usually long are volume and pitch. From what I've seen and used myself, arpeggios and duty are typically very very short. In fact I've never actually seen a looping duty envelope or used one, I typically just have a max of 2 values where the first creates a crisp "attack" sound.
That seems kind of extreme. I wonder how common it would be to take advantage of such potentially long sequences?
If I allowed each to occupy a single 256 byte sequence could just have "instruments" where each of these type of sequences start at different points, and then I'd only have to load the address for the current instrument once. The only types of sequences which are usually long are volume and pitch. From what I've seen and used myself, arpeggios and duty are typically very very short. In fact I've never actually seen a looping duty envelope or used one, I typically just have a max of 2 values where the first creates a crisp "attack" sound.