[Coco] Device module for (O)VCC continues. How to do DMA?
Walter
zambotti at iinet.net.au
Sun Jun 2 00:17:24 EDT 2019
Ok
So I have my MPU pak module (PFU & GPU) successfully performing floating
point operations and drawing under OS9.
However it only works in synchronous mode. In async mode it corrupts task
memory and after several hours of debugging
I now know why but I'm unsure how to fix the issue.
The problem turns out to be the GPU can only DMA into the same 64k address
that the process is running in.
If OS9 switches the MMU memory map the GPU is completely unaware and
continues drawing into wrong memory.
The GPU has no way of knowing the MMU has pulled the memory rug from under
its feet!
So my question is:
How does a physical pak device accomplish DMA given this limitation?
Can a PAK device see (and DMA) into the full (512k/1M/2M) ?
If yes, how?
If no, what is the work around?
Walter
More information about the Coco
mailing list