Recently, I've acquired an old SNES, specifically the SNSM-CPU-1CHIP-03 model, with no audio output. I traced the issue to a dead S-Mix chip, essentially a buffer between the audio DAC and the line output.

While the DAC in question, an LM6379A, is technically capable of driving the line output on its own, I thought I'd try my hand at making a replacement buffer, using an LM358 op amp as a voltage follower and taking advantage of the passive components already in the board. The resulting circuit looks a bit like this, for each stereo channel:

enter image description here

Now, this does seem to work, at least for a little while - but eventually, after a minute or two, the output gradually lowers, before disappearing completely, or being drowned out by power supply noise. Placing my hand next to the amp did occasionally make the problem go away, making me suspect it's some sort of coupling issue, but I am not experienced enough with analog circuitry to pinpoint what exactly might be going wrong.

Is there anything I might be overlooking in this?


DC bias currents must flow into the opamp terminals for it to function since the transistors at the inputs inside the amp need to be biased. It's a tiny current, but it is there.

enter image description here

From LM358 Datasheet

But your 88nF capacitor is a DC-blocking capacitor.

As the bias current flows through the input in the same direction (it is DC after all), the cap slowly charges up towards that DC level. Once the cap charges to that DC voltage, it fully opposes the DC source driving that bias current and no more bias current can flow into the opamp inputs, therefore the opamp stops working. The smaller the bias current is, and the larger the DC block capacitor is, the longer it takes to fully charge up to the point the DC bias currents are completely blocked and the longer it will function for before the problem rears it's ugly head.

Connect the input to GND through a large resistor(s) to mid-supply (say 10K - 100kOhm for the LM358 since it is a BJT input opamp so the currents are higher so the resistance has to be lower than it otherwise would be for a CMOS input opamp) to give the bias current a path to flow. For a bipolar supply this would be a single resistor to GND. For a unipolar supply this would be two equal resistors, across the voltage rail forming a divider with the opamp input sitting in the middle.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Do we know if that opamp has a bipolar supply? If it isn't then biasing the opamp to GND will result in the 'bottom' half of the signal being cut off. \$\endgroup\$ – brhans Oct 18 '20 at 0:27
  • \$\begingroup\$ @brhans Is that what happens? I've never actually needed to AC couple an opamp input so I've never actually had to deal with the issue. I'm just aware of it. You're saying it should be biased to mid-supply, I assume? Through a resistor to V+ and a resistor to V- (whether it is actually GND or -V) if necessary? \$\endgroup\$ – DKNguyen Oct 18 '20 at 0:29
  • \$\begingroup\$ Yes that would work much better if it's a single supply. \$\endgroup\$ – brhans Oct 18 '20 at 0:30
  • 1
    \$\begingroup\$ The lousy old LM358 or its sister the LM324 are never used for audio because they produce crossover distortion and lots of hiss. Crossover distortion sounds awful but is OK with acid rock "music". \$\endgroup\$ – Audioguru Oct 18 '20 at 0:32
  • \$\begingroup\$ Using a divider with two 200k resistors (admittedly a bit too much but it's what I had on hand) seems to have solved it completely. I guess that's what I get for treating it as an ideal op amp! Thank you very much for your help. Also @Audioguru it's funny you mention that, because older versions of the SNES actually used the LM324 as both amp and preamp - So I suppose the replacement is somewhat in the spirit of the original design, heh. \$\endgroup\$ – Areku Oct 18 '20 at 1:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.