Blood Bros arcade JAMMA PCB repair log (sound problems)
Last updated on May 2, 2018, 22:05 by Sebastian Mihai
Upon initial testing, my Blood Bros arcade PCB output no sound at all.

After cursory inspection, the PCB traces to JAMMA pins 10 and L (speaker connections) were broken - possibly from a previous repair attempt.

I soldered two wires between the pins 10 and L and their next respective components (resistor array?), bypassing the traces.

In this image, the wire that goes underneath the board is connected to pin 10.

Sound started playing, but with overpowering amounts of noise.

After taking measurements of all pins of the proprietary HB-41 audio mixer chip, I found that:
  • The output pin that feeds into the amplifier read a DC voltage of 7mV
  • Multiple pins were at DC 2.4V

I then used an small external speaker to "listen" to each 2.4V pin.

I was pleasantly surprised to find that pin 16 "sounded" very clean, but lacked one of the channels - specifically the one used to output voices.

This meant that the amplifier was fine. The problem was either the proprietary HB-41 chip, or a different upstream IC.

At that point, I decided to go the way of the 80-20 rule and make one simple fix which got me 80% of the sound back.

I broke the trace into the 450ohm volume potentiometer and soldered a 220k resistor between HB-41 pin 16 and the potentiometer input pin, to bring the voltage down to between 0mV and 5mV, depending on the potentiometer position.

I mounted the 220k resistor on a strip of electrical tape, to prevent accidental connections. One advantage of electrical tape is that it can be easily removed without residue left-overs.

Using this voltage divider as an input to the amplifier IC worked because of the characteristically high impedance of the amplifier IC's input pin (due to it being an input into an op amp).

One other small issue with this solution is that some noise remains. I found that it didn't bother me and that it was no longer noticeable once the in-game music reached normal volume levels.


If you use the materials on this page, or any other page on this web site, you do so at your own risk. They are provided "as is". No warranty is provided or implied. I neither guarantee that the materials will work, nor that they will not be harmful in any way.

One of the most interesting bugs I ever fixed

Example of indexing and searching in Lucene.Net using C#

Atari Lynx - installing a power connector

Blood Bros arcade JAMMA PCB repair log (sound problems)

Generating DC (direct current) from a plasma ball (wireless charging)

Listening to an electromagnetic field

Tesla coil - visualizing its electromagnetic field

.Net development - C# from C#

The naming convention of the C standards is Y2K-susceptible

Missing stack trace entries in Release mode assemblies in .Net 4.0 (C#)

Public constants across assemblies and default parameter values in C#

C# lambda operator

Simple two-column, three-panel web site template

An easy to use random number generator

Puppy Linux on a computer without a hard drive (on a USB stick!)

(My) Useful settings for fresh Windows installations on new computers

How to use multiple versions of Firefox on the same computer

How indexes work

Trivialization of history through technology

Entropy in code

Basic Linux tricks

MSSQL tips for production databases

Keep your computer clean with VMware