I have not used the timer A on the STe buffer indeed.
The VBL interrupt was just checking the current playing address of the DMA sound. When it enters the second half of the buffer, it launches loading for the first half of the buffer and then when the address has looped since the last VBL, it launches loading for the second half of the buffer.
If you use the system routine for loading, I guess your whole screen needs to run into an interrupt (VBL I guess) ?
For Rebirth, the system is more complex but same idea : stream the PCM musik to have everything fitting in 1mb RAM.
I load a buffer in background from FDC and slice transfers in VBL to left or right channel then use balance level to mix the 2 samples (you need to listen in mono...)
Here is the score code that synchronizes everything and require samples loading (kind of C co-routine using "funny" macro trick
)https://github.com/gibs75/demOS/blob/ma ... SNDTRACK.Chttps://github.com/gibs75/demOS/blob/ma ... DK/SOUND.H
VBL slices transfers, increments SNDdmaLoopCount when it sees the playing address has looped since last VBL and set the balance into the Microwire https://github.com/gibs75/demOS/blob/ma ... DK/SOUND.S