First post, by wyatt8740
- Rank
- Newbie
I wanted to report my success modifying an "MPB-000036 ver:1.2" (FCC ID KWX-SC1650) sound card that I obtained recently.
Ignore the missing gameport, the connector was corroded and I'm awaiting the arrival of a shiny new one.
I'd grabbed it because I had an ES1869 card that appears to be from the same manufacturer that also used LM386 amplifiers for speaker output which sounded remarkably quiet even when the LM386 chips were enabled. I also wanted the ES1688 card instead because it had an on-board crystal instead of depending on the motherboard clock, which I don't always trust. And the LM386 is a chip I understand pretty well. I figured if they managed to make the LM386's that quiet on the ES1869 card, they'd be able to do the same thing on their older card.
I was wrong, unfortunately; there's a lot of hiss in the output of the ES1688 card I got, and unlike the ES1869 card there's no jumper to bypass the LM386 amps. Also annoyingly, there's no jumper to disable the CD drive interface, and since there's an ES968 chip on-board, it's a plug-n-play CD interface. It was causing issues in Windows, so I knew I had to do something if I wanted to be able to use the card meaningfully.
In windows 98, I have a sound blaster live that is outputting to the line input of the ES1688 card, so that I get good FM in DOS games as well as good sound (and EAX) in windows 9x games. With this setup, the hiss was just too much. So I started poking around for two things:
- A way to disable the CD drive interface from being detected by windows
- A way to bypass the LM386 amplifiers
I have a third AudioDrive sound card; an "SST-0688/Muon Rev. B" card using an ES688 (not ES1688). It also uses an ES968 for plug-n-play. It uses an unlicensed OPl3 clone (LS-212) for FM synthesis, but I prefer ESFM slightly, so I don't use it much. But that card had a jumper to disable its CD drive interface. So I traced from the jumper, and discovered that the card had a pull-up resistor connecting pin 77 of ES968 to +5V. By closing a jumper, the pin gets tied to ground, effectively disabling the pullup.
In other words, if pin 77 of ES968 is at 5V, the CD interface is enabled; if it's grounded, then the interface is disabled. I was able to cut the 5 volt rail trace on the back of the card to isolate the via which pin 77 was hooked into, and then run a wire to re-connect the two sides of the broken 5 volt trace while leaving pin 77 isolated by two cuts.
Then I put a tiny enamel coated wire into the via and tied it to the ground pin of a serial EEPROM chip on the card. This disabled the CD interface as I suspected it would.
The wiring (one thin green wire, one fat blue wire):
The cuts to the 5 volt trace:
For the second problem, that of bypassing the amplifiers, I referred to the datasheet of the ES1869 and the product brief of the ES1688. I discovered that both chips output line-level audio straight from them. So I then followed the traces from the line outputs on the ES1869 card to figure out what components the signals were passing through prior to the bypass jumper. It turned out to just be two small surface mount capacitors (one per channel). I then checked where the other side of the bypass jumpers went to, and effectively it went through the exact same pathway the output of the LM386 amplifiers would, except with the LM386 outputs disconnected.
I had trouble desoldering one of the LM386 chips from the board I was bypassing the amplifiers on, so I ended up using IC sockets to push a little bit of one of the legs that broke off out of the hole it was in. That gave me an idea, though: I have more LM386 chips floating around, so I might as well just put sockets where the LM386's used to be in case I ever want to revert the mod! It also means I can easily swap the left and right audio channels if a specific game has them wrong and has no setting to swap them in software.
So with all this in mind, I soldered wires to the output sides of the two surface mount ceramic capacitors I mentioned earlier (the other sides of which are connected directly to the outputs of ES1688). I then soldered in two eight-pin DIP sockets. Since I only had one proper socket I actually just cut a 16 pin DIP socket in half for the other one.
Then I re-checked the LM386 datasheet, noted that pin 5 is the output pin of the chip, and then jumped the wires I'd added to pin 5 on each of the sockets.
I also made a recording of a track from daggerfall for a quick demonstration of the results; it's attached below.
I have to go to work now, but maybe later I can add a recording I made prior to modifying the card for comparison.
There might be some more improvements I can make to the output, but I've not tried yet.
IBM PC: AT&T 6300; Gateway E-3200 with Voodoo3 (AGP), ES1688 sound, and SB Live; Thinkpad 760EL.
PC-9801: NEC PC-9821 Ce2, Epson PC-486GR.
Macintosh: PowerBook G4, Macintosh Centris 650.
Commodore: A500 (NTSC, USA), A500 (PAL, Germany), VIC-20, C64.