Stereo Famicom Register

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Stereo Famicom Register
by on (#106734)
This might be the way to support game with stereo sounds, even though most games will use mono, and is probably possible to implement in hardware, works with cartridges which include their own audio, doesn't cause problems on mono systems, etc

Make the unused $4009 register to control stereo:
  • bit7 = output internal square waves to left channel.
  • bit6 = output internal triangle/noise/DPCM to left channel.
  • bit5 = output internal square waves to right channel.
  • bit4 = output internal triangle/noise/DPCM to right channel.
  • bit3 = output internal square waves to cartridge.
  • bit2 = output internal triangle/noise/DPCM to cartridge.
  • bit1 = output cartridge audio to left channel.
  • bit0 = output cartridge audio to right channel.

Therefore, the default can be $0F. (Even if the cartridge has no pins for the audio, it can be treated as a direct connection instead.)
Re: Stereo Famicom Register
by on (#106737)
Then Ironsword is going to mute all sound. Just because the register is unused doesn't mean that games won't try to write 00's there. That game writes zeros to the entire APU registers area to try to reset the sound channels, then relies on the dummy reads that happen to prevent frame IRQs from happening.
Re: Stereo Famicom Register
by on (#106738)
I don't really see the point of mods that can't be done in hardware, specially if they break existing software.
Re: Stereo Famicom Register
by on (#106739)
You can easily add such a register though :

0 - APU1 R
1 - APU2 R
2 - APU1 L
3 - APU2 L
and extra :
4...7 - attenuation for each of the above bits

Each bit would control a gate that will switch that channel and the extra bits control gain of the opamps or such before mixing. Perfectly doable on real hardware, if not a bit complex... For problem games one can add an override jumper (which is what I do on my MD mods, there's always a fallback).
Re: Stereo Famicom Register
by on (#106742)
What writes to $401C-$401F?
Re: Stereo Famicom Register
by on (#106799)
Dwedit wrote:
Then Ironsword is going to mute all sound. Just because the register is unused doesn't mean that games won't try to write 00's there. That game writes zeros to the entire APU registers area to try to reset the sound channels, then relies on the dummy reads that happen to prevent frame IRQs from happening.
There are solutions to this too, such as inverting some of the bits or adding an override switch.

TmEE wrote:
You can easily add such a register though :

0 - APU1 R
1 - APU2 R
2 - APU1 L
3 - APU2 L
and extra :
4...7 - attenuation for each of the above bits

Each bit would control a gate that will switch that channel and the extra bits control gain of the opamps or such before mixing. Perfectly doable on real hardware, if not a bit complex... For problem games one can add an override jumper (which is what I do on my MD mods, there's always a fallback).
That isn't working with cartridge audio

tokumaru wrote:
I don't really see the point of mods that can't be done in hardware, specially if they break existing software.
I thought it can be done in hardware?
Re: Stereo Famicom Register
by on (#106809)
Do people really claim to hear the difference between stereo/mono on speakers that are only as far apart as the tv screen when you're sitting several feet away? Or do people wear headphones or have large surround sound rigs setup with their old CRT tvs?
Re: Stereo Famicom Register
by on (#106813)
Depends on the size of TV, no?

Have you seen the demonstration of people accurately pointing at sounds when blindfolded? Accurate to within 10° or so, so as long as you're not further away than ≈6× the speaker spacing, I bet you'd be able to hear it.
Re: Stereo Famicom Register
by on (#106817)
infiniteneslives wrote:
Do people really claim to hear the difference between stereo/mono on speakers that are only as far apart as the tv screen when you're sitting several feet away? Or do people wear headphones or have large surround sound rigs setup with their old CRT tvs?


Yes, I do, and I think most humans are capable of this. The difference between stereo and mono can probably be detected with very few degrees of separation relative to the listener's ears. I don't know how far the TV would need to be away to make the difference undetectable, but 5 feet away for even a smallish TV is still a difference I can notice for sure.