I wrote:
Nicolas Pomarède schrieb:
I know from another demo that if you set start=end, then sound will be
played (I think dma first increases start by 1 word, then compare with
end, so you will play the whole RAM if you do that, but it's possible).
Interesting, because I don't see that (increasing before comparing) in
the GSTMCU schematic.
I just tried the "Little Bit Insane" demo, which according to [1] is the
"other demo" you refer to. It so seems that it sets the sound control
register ($FFFF8901) to $3, i.e. not only enables sound but also enables
frame repeat. It is clear from the schematic (and it also makes sense)
that sound is not stopped when the sound address counter hits the end
address, as long as repeat is enabled.
However, with no repeat enabled ($FFFF8901 set to $1), sound should stop
immediately when start address == end address, regardless of the actual
value of these addresses. (I see no special case for address 0.)
Now, if I only had the real hardware to verify my findings...