I think it would be interesting to talk about how it would be possible or not to play a sample in the DPCM channel while having timed code.
Many games doesn't use this channel at certain times to avoid gliches (I think to Earthbound), or simply have giches (like Castlevania 3) because the DPCM channel stole one cycle every x time. Often, only the DPCM frequency $f is used to have the better quality as possible.
I think it would be possible to have a timing routine for use when DPCM is playing a sample, and another one for use when it's disabled, and we could check $4015.5 to know witch one we have to execute. So we're just limited to use only one frequecey ($f) instead of be limited to don't use DPCM at all. The only problem would be if the sample stops during the timed code, the CPU will run a bit faster and this would cause gliches, so it's better to use this only when the timing code isn only there for a small part of the screen to avoid huge gliches.
PS : I enventually bought a Game Boy Advance! It's a special model who has the same design as the original Famicom ! That's cool, but it was much more expensive...
Many games doesn't use this channel at certain times to avoid gliches (I think to Earthbound), or simply have giches (like Castlevania 3) because the DPCM channel stole one cycle every x time. Often, only the DPCM frequency $f is used to have the better quality as possible.
I think it would be possible to have a timing routine for use when DPCM is playing a sample, and another one for use when it's disabled, and we could check $4015.5 to know witch one we have to execute. So we're just limited to use only one frequecey ($f) instead of be limited to don't use DPCM at all. The only problem would be if the sample stops during the timed code, the CPU will run a bit faster and this would cause gliches, so it's better to use this only when the timing code isn only there for a small part of the screen to avoid huge gliches.
PS : I enventually bought a Game Boy Advance! It's a special model who has the same design as the original Famicom ! That's cool, but it was much more expensive...