I had an idea come to me at work when I'm by myself, peace and quiet while I place cookies on a cardboard trays. Why don't I abuse the play_sound function some more. Each sound data can be the single instrument and tone. Maybe put about 10-20 instrumental tone in different pitches on the sound list. Play_sound function can retrieve the sound number from a table, and it'll play that sound. When the next note come it'll stop the sound in progress and play that tone since it uses the same SOUNDAREA. I'll put a joker code to skip play sound function to make the note sustain/finish it sound thingy. In this way, the note can be high quality, and the note being played can be 1 byte each.
I'll probably build a sequencer and it'll help me get the song I want made. Of course it'll be only for the Colecovision format since I can only produce Colecovision and Intellivision programs. Of course RAM might be an issue, but I have 800 bytes, also I can just move the data from RAM to VRAM if I'm pressed for space. I'll make it print a table of numbers for me to key into Notepad+.
The driver have to have, tempo, function play_sound, songtable, and I don't think there's a limit how being the sound_t snd_table.
And I remember today to keep the first entry of the list to be SOUNDAREA1. I changed it to SOUNDAREA 5 because music uses SOUNDAREA1, 2 and 3. Of course Rock Cutter glitched out due to sound pointer wrecking havok to the program. SOUNDAREA6 is the highest priority over SOUNDAREA1. When SOUNDAREA 6 is played, it borrows the sound channel while SOUNDAREA1 advances. It gives it back to SOUNDAREA1 when it done playing.
Anyway, I'll build it tomorrow after work. I have an early morning shift.
- GroovyBee likes this