Just to make sure I've gotten this right:
Is the DMC channel always just outputting whatever value the counter has, regardless of whether the enabled flag is set or not? If so, does that mean that games that play samples might need to initialize the counter with a write to $4011 first, so that the deltas are relative to the right counter value? (I'm assuming writing $4011 directly sets the same counter that's updated by the deltas.)
If the above is correct, would it be accurate to say that the only function of the enable flag for the DMC channel is to control whether the automatic delta-encoded-sample-playing logic is currently active?
I'm also a bit hazy on what different ways there are to get delta-encoded samples playing again after the end of a sample has been reached. What particular register writes will kick it off?
Oh, and are $4011 writes and deltas from delta-encoded samples the only things that can update the counter?
Is the DMC channel always just outputting whatever value the counter has, regardless of whether the enabled flag is set or not? If so, does that mean that games that play samples might need to initialize the counter with a write to $4011 first, so that the deltas are relative to the right counter value? (I'm assuming writing $4011 directly sets the same counter that's updated by the deltas.)
If the above is correct, would it be accurate to say that the only function of the enable flag for the DMC channel is to control whether the automatic delta-encoded-sample-playing logic is currently active?
I'm also a bit hazy on what different ways there are to get delta-encoded samples playing again after the end of a sample has been reached. What particular register writes will kick it off?
Oh, and are $4011 writes and deltas from delta-encoded samples the only things that can update the counter?