lidnariq wrote:The MMC5 PCM channel basically can only really be used with timed code, so I'd expect that the only way it could be in an NSF rip would be using the same non-returning hack.
The Battletoads non-returning INIT hack was specifically for NSF players that happened to have a timeout on INIT (not sure why this timeout arose, but Blargg's GME did it).
Non-returning PLAY works on most NSF players, and it's pretty good for PCM playback, but requires carefully timed code to mix other APU control with the samples (see Super-NSF, and MUSE for capable implementations of this). If you just want to rip the MMC5 PCM use in that Mahjong game, you wouldn't have to worry about timing other code. The lack of return causes PowerPak to be unresponsive after playback begins, though still successfully playing the track.
The
Deflemask IRQ flag technique can be used to combine non-returning PLAY with a psuedo IRQ that's convenient for mixing PCM with non-timed APU code. This might be convenient for Battletoads. It still makes the PowerPak unresponsive, but you could return and resume occasionally to solve that problem, too.