When the SMP wants to read a DSP register it does the following:
1) SMP writes DSP register address to $F2
2) SMP reads DSP register contents from $F3
My question is this...does the DSP latch the internal contents of the specified register into $F3 only once when the SMP writes the address to $F2? Or are the internal register contents continuously being loaded into $F3 based on the present address stored in $F2? This matters in the case where the DSP updates an internal register value at various points in its sample generation loop.
Scenario:
1) SMP writes DSP register address to $F2
2) SMP reads $F3
3) DSP updates register value internally
4) SMP reads $F3 (without first writing address to $F2, so same address still in $F2)
What does the SMP read? Does it read the value it originally read in step 2? Or does it read the updated value?
1) SMP writes DSP register address to $F2
2) SMP reads DSP register contents from $F3
My question is this...does the DSP latch the internal contents of the specified register into $F3 only once when the SMP writes the address to $F2? Or are the internal register contents continuously being loaded into $F3 based on the present address stored in $F2? This matters in the case where the DSP updates an internal register value at various points in its sample generation loop.
Scenario:
1) SMP writes DSP register address to $F2
2) SMP reads $F3
3) DSP updates register value internally
4) SMP reads $F3 (without first writing address to $F2, so same address still in $F2)
What does the SMP read? Does it read the value it originally read in step 2? Or does it read the updated value?