[stella] New idea for 6 channel music on the 2600

Subject: [stella] New idea for 6 channel music on the 2600
From: Kevin Horton <khorton@xxxxxxxxxxx>
Date: Wed, 19 Sep 2001 03:43:15 -0500
I have an interesting idea for generating 6 channel music using nothing but a stock 2600. The basic idea is to use the two volume registers on the chip to generate 3 channels each.

It appears that I can generate square waves, ramps, and triangle waves in this fashion, mix them in software, and then output their values to the volume registers with just enough time to spare. The only downside is there can be no video while this is occurring (except for maybe flashing the screen or some other relatively static display).

The basic idea for this is to increment a phase accumulator for each channel every scanline and use the upper bits of it to select bytes from a waveform table; then add them to an accumulator, and finally output the results to the sound volume registers.

I already have some basic code written for this, and should post more about it in a couple days. Unfortunately, due to cycle constraints, this thing will only work for linear note/length/instrument data, and cannot use a track/pattern/note setup (which I originally wanted to use). There's just not enough cycles otherwise.

Would such a piece of code be at all useful? I was thinking maybe a power-on tune, in between level tunes, etc. It may be possible to "multiplex" the sound updating every couple scanlines with some TIA updating, but I dunno yet if this will be possible to do. This code as it stands is very very cycle-intensive.

Thoughts? Comments?

- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/

Current Thread