Sprybug Posted July 15, 2019 Share Posted July 15, 2019 (edited) Just wanted to let you know, I'm developing a new music engine for Zed, which I'll make available to anyone who wants to include it in their game. It allows use of Patterns (Up to 16), so you can easily repeat sections of music (Save ROM Space!) Each pattern can hold approximately 5 measures of music (4/4 Time) Data for the measures is only inputted when there is something to spit out, which saves even more on ROM Space. Ability to jump to other music patterns out of sequence. Ability to loop a song. A databank that sorts the Atari's musical scale to make it easier to input the data. A special bank for drums and percussion Ability to hold a note, a natural sustain decay, a slowed sustain decay, or cut a note. And all this I was able to do using only 2 bytes of RAM and one extra bit! It takes even less RAM (by 7 bits) than the standard way of doing music in your game via Batari! A sequence pointer that is one byte, a pattern pointer that is one nibble, a volume control nibble, and a toggle bit for slow decay. It does use some of the temp variables, and a few of my own variables I use as temp variables (I need them to last for the whole routine), so be sure to have a few extra bytes handy for those. When I release it, I will also release a sheet that shows the values of the notes on a keyboard, along with the sequence values for note holds for 20,30, and 60 FPS games. The notes will also include the best key signatures to use for your games, because of Atari's limited musical scale. After this, I am going to start work on an actual Atari 2600 program where you can play around with the TIA to experiment on making new sound effects. It will show you the values you are using in the interface, so you can write them down and be able to put them in your sound effect data sequences. Now of course specs can change because I might have originally overlooked something, which knowing myself, is highly likely. Like for example, right now, I'm wondering if I have to add even more bytes because of the simultaneous channels doing their own thing or not. I just finished the program and yet have to take it for a spin, so I'll keep you posted. Edited July 15, 2019 by Sprybug 8 3 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.