VOGONS


First post, by rwkaye

User metadata
Rank Newbie
Rank
Newbie

Hi

I have been setting up old computers recently for a number of different applications. You guys have been the most helpful resource I have found on old hardware - thank you!

I have an old Sound Blaster 16 value (CT2770) card which works but barely. I want it to use the OPL3 chip and am programming this directly in linux without any drivers. My program works fine on other cards, so this is a HW sound card issue.

The issue is that the volume on one channel (left) is rather low and the volume on the other channel (right) is almost but not quite zero. Anyone have any idea what is causing this and how it can be fixed?

Could it be that one channel is dead and all I am hearing on it is crosstalk? But that wouldn't explain why the other channel is a bit too quiet too.

Or is it that one or more of the caps have gone? There is no visible physical damage to any of them. There are a *lot* of caps to be thinking of a re-cap without any expectation of success.

thanks for your help!

Richard

Reply 2 of 8, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

I had the exact same problem on a SBPro2 card and I managed fix it.
I played a 440Hz signal using MPXPlayer in DOS and used a DVM to probe for AC voltage from the Output all the way back to CT1336A on a live card, but I already knew where to probe.
The Input Cap right before the amplifier was dead (discontinuity) and did not pass the signal, but everything before it was the same for both channels.
This problem is quite common with Creative old ISA SB cards for some strange reason...

dead input cap on ct1600.jpg
Filename
dead input cap on ct1600.jpg
File size
179.12 KiB
Views
1491 views
File license
Fair use/fair dealing exception

On your card the input pins to the amplifier should be marked in red (second from top on both sides), so find the caps that go to these pins and replace the correct one:

ct2770 pins.jpg
Filename
ct2770 pins.jpg
File size
252.08 KiB
Views
1486 views
File license
Fair use/fair dealing exception


my important / useful posts are here

Reply 3 of 8, by rwkaye

User metadata
Rank Newbie
Rank
Newbie

Thanks ever so much James! I am impressed!

I changed those two caps.. both small 1uF caps on the input pins of the TEA2025. Things are now much better. One channel is producing the level I was expecting and really sounds fine. The other is definitely working (and independent of the first so it's not crosstalk I am hearing) and it's an improvement but still much quieter than needed. I am only using the OPL3 device and not very bothered about the rest btw.

Richard

Reply 4 of 8, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Post a photo of your mixer settings.
The L/R imbalance is only from the OPL3 part of the card or are PCM sounds (in games or windows player) also imbalanced?

BTW, are you using the Line-Out or Speaker out?
Also, are all the jumpers near the speaker output in place?


my important / useful posts are here

Reply 5 of 8, by rwkaye

User metadata
Rank Newbie
Rank
Newbie

Hi James

thanks for all your help!

mixer settings: since I am using the device in a driverless mode the mixer settings are just "write 0 to register 0"

void resetmixer(struct soundcard *sc) {
uint16_t base = sc->baseaddr;
outb(0,base+4); // register 0
outb(0,base+5); // register 0
}

I am using https://pdos.csail.mit.edu/6.828/2011/reading … oundBlaster.pdf as a reference. I have also followed the instructions there to reset the DSP and that works. (Incidentally there are a few oddities, which I put down to me not fully RTFMing when the FM is not available. I also read a yamaha datasheet which didn't tell me very much. I have searched for docs all over the internet for an "official" way to reset the OPL3 on the SB16 and failed. The other major omission in the docs is some sort of timing diagram i.e. how rapidly one can set different OPL3 registers. With modern fast computers this can be rather important. The test computer is a cyrix pentium at 166MHz by the way. But I don't think this is the problem.)

I just tried loading the official sb driver for this particular board with the correct parameters for it. When playing a wave file afterwards, there is no problem with L/R and both channels are equally loud, so the output amplifier paths are all working. (That answers another of your questions.) However, even after loading this driver with the correct parameters the problem is still there using the OPL3. What's more, with all the official drivers loaded I can run one of the standard "playmidi" programs that play a midi file through the OPL3 device. The result is massively weaker sound on one channel than the other, so the problem doesn't appear to be my software at all.

I do not get these problems with other cards I have available to test (an ISAPnP OPL3-SA3 card that needs a driver before I can access the OPL3 ports, an ES1869 PnP virtual card that is on the motherboard)

I just checked the jumpers near the speaker-out port. They seem to be exactly as in your photo. A connection between pins 2 and 3 ( out of 1,2,3,4,5 counting upwards from the bottom ) in the group of 5 nearest the port and the two pins just next to this are connected by another jumper.

To me, unless I missed something, this is pointing to a HW issue between the OPL and the mixer/amplifier...

Richard

Reply 6 of 8, by rwkaye

User metadata
Rank Newbie
Rank
Newbie

sorry, just to add to my last post because I realise I didn't answer all your questions, I get the problem using both line out and speaker out, and... um... games? what are those? windows? nope. This is a minimal linux install. R

Reply 7 of 8, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Well then, you may have to use Adlib Tracker 2 to generate a test tone and use an oscilloscope to find what pins on the CT1747 output the OPL3 signal and trace the signal to the faulty coupling cap.


my important / useful posts are here

Reply 8 of 8, by rwkaye

User metadata
Rank Newbie
Rank
Newbie

yes..

that sounds possible, but it will have to wait. the case prevents any useful access to the rear of the card. I have a dead 486 computer in a much more useful case, but I will have to resurrect that one first... (dead PSU and who knows what else?)

thanks again for your help. if I get any further I will report back