Open Kroc opened 5 years ago
REU transfer blocks all interrupts. Clearing the offscreen buffer in one go means that the neccessary raster interrupts for switching banks or colors may be delayed by thousands of cycles. Either the clearing is done in 8-byte babysteps (longest regular instruction duration), or the distance to the next raster interrupt has to be factored in somehow. Maybe we can add a table containing safe cycles per raster line, or a flag that signals "256 bytes can now be transferred"
GeoRAM should also be supported, but that doesn't have DMA, so DMA-support should be considered a separate feature from RAM-expansion as far as build-options are concerned.
Whilst REUs are not that common for hardware users, they are widely implemented in emulators. The extra space is not so critical as is the DMA channel which would allow us drastically speed up data moving operations. Some possible uses: