Here are some details, hope this helps:
AUDxPT: when Agnus does first DMA, it gets both DMA request and DMA reset bits via DMAL, does DMA from old AUDxPT -> AUDxDAT and loads new AUDxPT (state 1, this word is not used for anything), second fetch fetches from new PT (state 5).
AUDxLEN: Paula loads it to internal register immediately when DMA gets enabled (and when sample repeats)
AUDxVOL/AUDxPER: Paula loads both to internal registers when new 8-bit sample starts playing (=Volume/Period changes do nothing when Paula plays the sample and period is counting down)
Also when audio DMA gets disabled, it only prevents Paula from generating NEW DMA requests. Possible already DMAL queued DMA will still happen in next scan line. Agnus ignores DMACON audio (and floppy) bits.
|