The following adds support for the DMA controller on the MEGA65.
[x] Add _dmagic.h C header
[x] Add volatile MMIO access to F018 "DMAgic" controller
[x] Add C++ support library for constructing arbitrary DMA jobs as well as fill and copy functions.
[x] Add minimal C++ example with DMA fill and copy on screen. There is still an issue with DMA fill/copy routines likely due to code being optimized away. Will try to solve this on Discord.
[x] Add C++ example of vertical raster bars using the DMA hold feature as described in the MEGA65 Book. Below is a screenshot of the effect.
The following adds support for the DMA controller on the MEGA65.
_dmagic.h
C headerThere is still an issue with DMA fill/copy routines likely due to code being optimized away. Will try to solve this on Discord.