> ie, are you saying my instructions need to eat
> more cycles?
Possibly, it's something to bare in mind.
> To be honest, I'm a bit confused in general about the timing on the
> Arm7 especially with all the pipelining stuff, so I wasn't quite sure how to
> code the instruction cycles.
Timing is always a bitch, it's difficult to know how accurate you need to be until you try something and it's not accurate enough. Accuracy tends to cost in terms of speed.
> If I run the cpu slower, but keep the IRQ the same, the output is distorted,
> probably since (i'm guessing) the cpu cannot fill the output buffer fast enough.
You need to know why. It might be that running the CPU faster than it needs to is just working round another issue. In fact it might be anything, you can only find out by doing the ground work.