Kroc / elite-harmless

Disassembly (CA65) of the Commodore 64 port of the seminal space-sim Elite, by Ian Bell / David Braben.
https://discord.gg/ZYnQr5S
Other
93 stars 12 forks source link

REU Suport #53

Open Kroc opened 5 years ago

Kroc commented 5 years ago

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:

dyme6510 commented 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"

Kroc commented 4 years ago

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.