Once again I managed to fool my own emulator:
A500 8A: 馃グ

vAmiga: 馃檲

Might be related to #207

A1000 sprdma16

A1000 - sprdma17
馃き OMG, the A1000 is giving us a hard time.
Just at the moment when I was happy that sprdma16 is working in vAmiga now:

The problem is that my new code breaks the older tests 馃槵. My feeling is that I'm coming closer to the real DMA behaviour, but the test case results are telling me that I a going in circles.
Just looked at the code. The test-case developer designed the program in a way that it reads from uninitialised memory if sprite DMA does not stop (sprite in column 3). On the Amiga 500, the memory seems to be filled with zeroes whereas the A1000 seems to contain arbitrary values (or an encrypted message from outer space or Jay Miner's dog's DNA, which all look the same).
Anyway, I better fire the developer 馃檮.
Wait I will shutdown the A1000 and rerun. Maybe this way uninitialized memory is empty too.


Warm reset.
Just made big progress with Sprite DMA 馃К.
However, I feel a little bit like an idiot, because it's all described in here:
http://eab.abime.net/showthread.php?t=94709&page=4
The following post by adrazar summarises how it really works (clean and simple hardware logic):

Although I did read this before, I still needed 20 self-written sprite DMA tests to make it fly. Anyway, I think I can close this. The sprites in the A1000 images look similar to the A500 images which is good. In upcoming test cases, I'll try to be more careful with using uninitialised memory.