Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 5780

programming • Re: Envelopes when directly programming the SN76489

$
0
0
In case anyone is interested, here is my encoding, it does a poor job (&1F1 for code and data) because of the nature of the volume envelopes being random :oops:
Track2 fails with the current encoding schemes as it only supports 32 volume envelopes and track 2 has 33 and it isn't clever enough to split them and then have two separate notes that happen to be continuous! It would be fairly easy to add, but the wouldn't improve the compression!
test.zp is the 16 bytes of zero page that it wants
test.asm is the code, .snd_update for each clock and .snd_start with track offset in Y, only one track here!
test.equb the volume envelopes, the notes/sequences and the track's sound channels (TrackNC N=number C=channel).
in this case, envelope is an indexed offset .env_off, would have been direct with smaller or fewer volume envelopes.
.frq_lo/.frq_hi for period indexing. data = 256 bytes, so code must be ~241 bytes but wouldn;t change for multiple tracks.
Track1.zip

test1.ssd

Statistics: Posted by tricky — Tue Feb 03, 2026 6:33 pm



Viewing all articles
Browse latest Browse all 5780

Trending Articles