and I think I've sussed it out, thanks to a few pdfs [smile]
Unlike the atari, which had multiple interrupts, one per source, the ARM procssor has just two interrupts, FIQ (fast interrupt) and IRQ (normal interrupt), which goto a global IRQ chuck of code. From there you have to work out which interrupt fired and run code accordingly. On the face of it it doesnt look that hard, I just need to make sure I can set the interrupt vector from game code [grin]
I'm infact reasonable confident that I could have a stab at an audio subsystem pretty quickly. I've also been looking into the AC97 subsystem and I think I've worked out how that works with interrupts and DMA.
It looks like when the data buffer on the controller gets low it signals an interrupt to request more data, which lets you fill a data buffer and kick off a DMA transfer to it.
A reasonable productive hour or so I think [grin]
Ofcourse, this is all in theory, the fun bit will be next week when I try to write this and not crash the thing, heh