Volhout Guru
 Joined: 05/03/2018 Location: NetherlandsPosts: 5432 |
| Posted: 08:34am 26 Sep 2025 |
|
|
|
Hi Albert,
That is quite impressive work. I learned some new things. What I am not clear about is the synchronisation between PIO and MMBasic.
You are using "autopull" and that means that new data in FIFO is automatically transferred to OSR. It is unclear to me how that is synchronized with the PIO program. Where does it "wait" for the new data to arive ? It needs to sync since you are combining 4 pixel data elements in each fifo word. Is it waiting at the instruction where you get the last 8 bits from the OSR ?
Similar question to your comment that PIO is stopped at end of the DMA. How ? I know PIO can be started (re-started) by the PIO DMA. But how is it stopped ? Or do you mean that the PIO program is "halted" waiting for FIFO data.
I thank you for your publication of this code. It is good to see, and learn from others.
Volhout |