Entry | |
---|---|
R11 | Value of R2 from DMA_QueueTransfer call |
R12 | Value of R5 from DMA_RegisterChannel call |
Exit | |
---|---|
R0 | Pointer to error block (if V set), else preserved |
- | All other registers preserved |
Processor in IRQ or SVC mode |
IRQ & FIQ status undefined |
This callback will be called when a transfer has reached the front of a queue for a given channel and is about to be become active. Unlike the enable/disable callbacks, the start callback (and the DMA completed callback) will only be called once for a given transfer.
If the callback wishes to cancel the transfer, it can do so by returning with the V flag set and R0 pointing to a RISC OS error block. The DMA completed callback will then be called with this error. Otherwise, DMAManager will proceed to call the enable callback and start the transfer in the DMA controller.
This documentation only covers the RISC OS 5 version of the DMAManager SWIs. For other OS versions, consult the appropriate PRM volume (e.g. volume 5a).