Do you have the source for this copper assisted C2P?
Well, it's not like 030s using copper to help with c2p but copper is used to choose between rendering and c2p. The time you have between one frame and the next one you can write to chipmem at maximum speed (7MB/s). In this short interval your copy to chipmem shouldn't be interrupted by the rest of the system or the system wouldn't make much sense, that's why disabling multitasking is usual with this technique (perhaps running your program with a very high priority like 127 helps, I don't know).
If you talk to Blueberry/Loonies he'll tell you that performing just a copy to chipmem is a waste of time because you can do more effects at the same time. And he's very right but both techniques aren't mutually exclusive so you probably can perform the copy in the short interval *and* apply some filters.
All in all you should organize your code to have 2 phases: one of rendering and another one of c2p (c2p one would include a pair of c2p functions, one that does c2p inside fastmem and the other that does c2p to chipmem).
Article by Rune Stensland (put special attention to the part titled "DMA Problem"):
http://membres.multimania.fr/amycoders/opt/fasttruec2p.htmlThis part is the one that you could implement:
I use 2 interrupts triggered by the copper, one when the frame starts, and one when the frame ends. Each time the interrupt is triggered I change state from c2p->effectrender or effektrender->c2p. Inside the interrupt I exgange all registres used by the current routine (a0-a7/d0-d7,PC,SR), the Program counter and status register changes are performed by writing to the supervisor stack, so when I RTE the system will automaticly change to the right PC,Sr)
You told me some time ago that you didn't want to shut down multitasking, if you have changed your mind Winden/Network offered me the sources a pair of years ago, I could ask him if he wouldn't mind sending you the sources to do that. Perhaps it's already in the sources he published of some his demos/intros.