Guten Morgen,

müsste
Dar = None (ist doch der reset der Zieladresse) nicht auf Block stehen, willst ja, dass er den Block wieder von vorne voll schreibt.
Sieht so aus als ob er den kompletten RAM voll schreibt.

Was vllt. auch noch hilft, es gibt eine "Single" Flag bei DMA, dann triggert liest nur ein Burst, überträgt die daten und wartet auf den nächsten trigger. ohne die Flag schiebt er die daten so schnell wie möglich raus, egal ob neu oder alt.
Kann sein, dass die Flag schon gesetzt ist, kenn mich mit Bascom nicht so aus. Kann es nur grob lesen.