Sad that you don't admit that a well implemented DMA, able to transfer one word (with word width = bus width) at each bus or memory clock cycle is *obviously* faster than a CPU needing several clock cycles to just transfer one word, not even taking into account the counter-decrement/test/branch instruction overhead. Even when executed from cache, look at the 68060 timing for each instruction, and you will see by yourself.Peter wrote:I just kept coming back to your original point that DMA was required for faster data transfer rate, which remains wrong, no matter how you turn it.
It probably could: I gave it a try, back in 2000, but without the sources for QLib_run, and without a debugger/monitor able to deal with the full 68060 instructions set and features (especially the cache related ones) it did not lead anywhere. With the commented sources, finding the culprit code sequence and fixing it seems however quite feasible.Can't this 68060-QLiberator problem be solved at it's roots? I lack sufficient knowledge about it, rarely used QLiberated BASIC at all.
Note also that you description of the copyback burst is only related to writes to memory or I/F (not reads).