The Most User-Hostile POKEY Sequencer for The Atari Home Computer
P·HYDRA is a ...well, what the hell is it? You could say that it's a music tracker/sequencer*. It can certainly be used that way. It might be better thought-of as a live coding environment for music/sound.
In its current incarnation, P·HYDRA provides you with little more than a hex editor that you use to manipulate the contents of the computer's memory** whilst an interpreter runs in the background and executes the program code that you're plugging into RAM.
P·HYDRA is programmed with a sort-of virtual machine code; the virtual machine works like this:
There are four "heads", each with a program counter, delay counter, and a single general-purpose register. At every tick of the time-clock they decrement their delay counter, and when the counter reaches zero they execute the instruction pointed-at by their program counter. The instructions are all four bytes long, and look like this:
[DELAY] [OPCODE] [OPERAND1] [OPERAND2]
The DELAY byte sets the head's delay counter. After the current instruction is performed, the head will wait this number of "ticks" (jiffies, 60ths of a second – or 50ths, depending on where you live) before executing the next instruction.
The OPCODE byte tells the head what to do; maybe change the pitch or timbre of a POKEY channel, change the program counter of a head, store bytes in the head's register, &c..
And of course the OPERAND bytes provide data needed to execute the instruction.
WHAT DOES IT SOUND LIKE?
You can listen to some "raw" captures of me playing the ol' HYDRA here: <http://alph.laemeur.com/snd/Atari/>. Or, if you want to hear it with the Atari zazzed-up a bit, here's an album on Bandcamp:
As powerful as programs like Theta Music Composer are, they're not performance sequencers; the sequences and instruments cannot be edited as they play. Moreover, chip trackers are designed for the composition of pop/dance music, not for weirdo, free-form, avant-garde-y arty music. I wanted something that would allow me to playback and modify sequences and sounds in real time, the way that one can with step sequencers and modular synthesizers, and I wanted to be able to compose way outside the box of Western musical traditions and into the realm of generative/stochastic music.
OKAY, BUT WHY IS THE INTERFACE SO BAD?
The interface is really user-hostile, I know. The reason is simply that I didn't want to spend a lot of time writing a UI; my priority right now is experimenting and developing the instruction set. Once I've developed the back-end to a place I'm happier with, then I would like to build a nice UI around that.
WHERE CAN I GET IT?
Sorry, it's not available at the moment. There's zero documentation, and it's completely impossible to operate without that, so... soon, I hope!