Page 1 of 1

Nintendo MMC5: Include PCM channel

Posted: Sat Nov 14, 2015 2:53 pm
by NicolasMaeder
I had been researching information about the Nintendo MMC5's PCM channel recently. The MMC5 has three: two of them generate square waves, and the third one uses 8-bit PCM samples. I wonder how DPCM samples would work in this expansion chip's third channel, and how PCM samples would work in the 2A03's DPCM channel. A new "PCM samples" tab will be added to the Instrument editor. While file size limitations and bankswitching are to be involved, I think the number of 2A03 DPCM samples might be affected by the number of MMC5 PCM samples. Why would that part of the chip be not included in FamiTracker for so many years? I wish that channel was there.

Re: Nintendo MMC5: Include PCM channel

Posted: Sat Nov 14, 2015 3:30 pm
by HertzDevil
See this, this, or this. Both 2A03 PCM playback and MMC5 PCM channel have probably been rejected for years.

By the way, the MMC5 DAC cannot play DPCM samples natively.

Re: Nintendo MMC5: Include PCM channel

Posted: Sat Nov 14, 2015 3:43 pm
by NicolasMaeder
HertzDevil wrote:See this, this, or this. Both 2A03 PCM playback and MMC5 PCM channel have probably been rejected for years.

By the way, the MMC5 DAC cannot play DPCM samples natively.


Thanks, HertzDevil! :)

Re: Nintendo MMC5: Include PCM channel

Posted: Sat Nov 14, 2015 5:38 pm
by iYamWhatIYam
This may not be too relevant, but I think having two sample channels would be pointless, since many composers would most likely not utilize this feature. If you want, you can get the source code of FamiTracker and write that in yourself.

Besides, if you want to use samples so much, make music for the SPC700 m8.

Re: Nintendo MMC5: Include PCM channel

Posted: Sun Nov 15, 2015 6:44 am
by ImATrackMan
iYamWhatIYam wrote:many composers would most likely not utilize this feature.

I fucking would.

Re: Nintendo MMC5: Include PCM channel

Posted: Sun Nov 15, 2015 7:02 am
by Sky Yoshi
I agree to this thread.
I can make my project to be true with the PCM Sample ability.
Also I want to hear what MMC5 PCM will sound? and what game includes MMC5 PCM?

Re: Nintendo MMC5: Include PCM channel

Posted: Mon Nov 16, 2015 2:27 pm
by rainwarrior
You should want PCM over the 2A03 first. The MMC5's doesn't add much of value over that.

I doubt Famitracker will ever have PCM, but currently there are 3 other NSF producing programs that I know have PCM support:

Deflemask: http://www.delek.com.ar/deflemask
MUSE Tracker: http://kkfos.aspekt.fi/projects/nes/tools/musetracker/
SuperNSF: http://forums.nesdev.com/viewtopic.php?t=7309

Re: Nintendo MMC5: Include PCM channel

Posted: Mon Nov 16, 2015 5:22 pm
by NicolasMaeder
rainwarrior wrote:You should want PCM over the 2A03 first. The MMC5's doesn't add much of value over that.

I doubt Famitracker will ever have PCM, but currently there are 3 other NSF producing programs that I know have PCM support:

Deflemask: http://www.delek.com.ar/deflemask
MUSE Tracker: http://kkfos.aspekt.fi/projects/nes/tools/musetracker/
SuperNSF: http://forums.nesdev.com/viewtopic.php?t=7309


I have Deflemask, and I will download MUSE Tracker and Super NSF soon.

Re: Nintendo MMC5: Include PCM channel

Posted: Wed Nov 25, 2015 5:09 am
by w7n
rainwarrior wrote:You should want PCM over the 2A03 first. The MMC5's doesn't add much of value over that.

Really?
From my experiences about writing PCM programs, 8-bit PCM is a lot better than 7-bit PCM.


On topic:
I think it's recommended that you make your own programs or just use engines like SuperNSF.
Usually the DPCM is better than PCM of the same size but with a sampling rate of 1/8 of the DPCM sampling rate (which makes the size of the PCM file the same as the DPCM file). Besides, DPCM can be played without occupying massive CPU processing time, but afaik even read mode of MMC5 PCM occupies full CPU time(or am I mistaken?)
If you know some programming, you could try to edit the source code so that it enables a special command:
Like, command 9xx in which xx is the value written to a specific register. Then, the NSF engine checks if this register is written to, if yes then the usual NSF engine is postponed and the PCM playing engine is executed.

Re: Nintendo MMC5: Include PCM channel

Posted: Wed Nov 25, 2015 5:34 am
by rainwarrior
w7n wrote:
rainwarrior wrote:You should want PCM over the 2A03 first. The MMC5's doesn't add much of value over that.

Really?
From my experiences about writing PCM programs, 8-bit PCM is a lot better than 7-bit PCM.


You should want 2A03 PCM first because the same technique will work on both, and 2A03 is always available whereas the MMC5 is rare and poorly emulated.

The difference between 8-bit PCM and 7-bit PCM is a 6db lower noise floor, or in relative terms, 0.78% less noise from quantization by gaining that extra bit. It is technically better, but it's really quite a small difference.