-
Notifications
You must be signed in to change notification settings - Fork 9
Chip address space access arbitration
h5n1xp edited this page Feb 28, 2019
·
1 revision
Currently the CPU can access the Chip address space without being block by the DMA. This is not how it works on a real Amiga.
On a real Amiga if the DMA is using the memory the CPU must wait.
My plan is to implement a new DMA.c function called waitFreeSlot().
This will be called by the chip space access functions, when any address below the ROM is requested.
The function will now execute a DMA Operation, if that returns clear (i.e. no device used the memory), it will then allow the memory access to occur. If the DMA operation returns busy (i.e. a device used the memory), the next DMA operation will be executed. This will repeat until a free slot is found.