Pretty straightfoward question here, but the answer might not be so simple. Anomie's docs don't clarify... at least not that I saw.
Since the DSP can read from any address for both BRR and Echo data, I'm wondering whether or not these reads should be treated like normal CPU reads.
That is... if the DSP were to read from $00Fx, would it get register contents? Or would it get some dummy value (open bus, maybe?). And would these reads impact the respective areas of the system (like, resetting timer 0's output value if reading $00FD)?
What about $FFC0-FFFF if the IPL Boot ROM is enabled? Would it still read the RAM contents in that area, or would it get the Boot ROM?
EDIT -
Why not ask about writes too. If the DSP writes to $00Fx (by way of Echo buffer writes), would these writes occur? Or are they somehow blocked. Anomie's doc gives me the impression that they'd be ignored with his description of $F8/F9: "These registers act like RAM, except that they can still be written when $F0 bit 1 is set and are not altered by S-DSP echo buffer writes."
Also a somewhat related but not as important question: is it possible for the CPU and DSP to conflict by accessing the same area at the same time. Like, say, if the CPU is writing new BRR data while the DSP is fetching it -- could this cause the DSP to fetch a 'messed up' value?
Thanks in advance!
PS - my terminology may be wrong here. What's the proper name for the SPC's processor... S-SMP? Is the DSP the "S-DSP"? Then what is the "S-CPU" -- is that the SNES's 65c816?
Since the DSP can read from any address for both BRR and Echo data, I'm wondering whether or not these reads should be treated like normal CPU reads.
That is... if the DSP were to read from $00Fx, would it get register contents? Or would it get some dummy value (open bus, maybe?). And would these reads impact the respective areas of the system (like, resetting timer 0's output value if reading $00FD)?
What about $FFC0-FFFF if the IPL Boot ROM is enabled? Would it still read the RAM contents in that area, or would it get the Boot ROM?
EDIT -
Why not ask about writes too. If the DSP writes to $00Fx (by way of Echo buffer writes), would these writes occur? Or are they somehow blocked. Anomie's doc gives me the impression that they'd be ignored with his description of $F8/F9: "These registers act like RAM, except that they can still be written when $F0 bit 1 is set and are not altered by S-DSP echo buffer writes."
Also a somewhat related but not as important question: is it possible for the CPU and DSP to conflict by accessing the same area at the same time. Like, say, if the CPU is writing new BRR data while the DSP is fetching it -- could this cause the DSP to fetch a 'messed up' value?
Thanks in advance!
PS - my terminology may be wrong here. What's the proper name for the SPC's processor... S-SMP? Is the DSP the "S-DSP"? Then what is the "S-CPU" -- is that the SNES's 65c816?