* <<F8E.0854>> Chain Sequencer I've been developing the idea of a musical "chain sequencer" in the back of my mind for a while; in particular, it's something I'd like to do on the Atari, but the concept is interesting to me more generally. To describe it, let's first describe a typical step-sequencer. A step sequencer provides a fixed number of stored values; these stored values are "stepped" through at a fixed interval and sent to a fixed destination. At the end of the sequence, the process restarts. Now, for a chain sequencer, you'd have, essentially, a simple stored-program computer: the sequencer would store an arbitrary number of sequences (programs), and each "step" in these sequences wouldn't just be a single stored value, but instead would contain a complete sequencer instruction. An instruction would consist, like a machine-language instruction, of an opcode and operand, and an additional parameter, optime, which would determine the delay between the execution of the current instruction and the next in a sequence. One of the instructions would be a jump-to-sequence instruction, which would facilitate the "chaining" of sequences, hence the "chain sequencer" moniker. The logic of the sequencer is very simple: for each running sequence, maintain a delay counter and a step counter; at each tick of the sequencer clock, decrement the delay counter, and if the delay counter equals zero, increment the step counter and perform the instruction at that step, setting the delay counter to the instruction's optime. The complexity of the thing comes from the operations provided by the sequencer. You could make a dead-simple chaining step-sequencer with two operations: store-value, and jump-to-sequence. But what makes the chain sequencer idea interesting to me is the great variety of instructions that you could write into one. -- Excerpted from: PUBLIC NOTES (F) http://alph.laemeur.com/txt/PUBNOTES-F ©2015 Adam C. Moore (LÆMEUR) <adam@laemeur.com>