Added interrupt-based DMA transfer