VOGONS


First post, by Paul_V

User metadata
Rank Member
Rank
Member

=====
UPD 19.07.26 - Added utilities and guide (see ISA-MIX.rar attachment below)
=====

Let me present my long-term project - "At Last: Silence".
The goal of the project was to understand whether the infamous noise on Avance Logic ALS120 audio chips could be fixed or improved.
And, although it did not end up hi-fi (around mid-tier, i would say), I dug out quite a lot of very promising things in the process and would like to share with you.
My main research is generally completed. But the process of creating a prototype and a finished card is very slow, for many reasons (including lack of time and finances).
I fear that my development at this pace may disappear in a dusty closet, so I would like to update and post all the information here, as I progress.
So, here we go.

In short:
1) I reverse-engineered the schematic, since original is missing in datasheet.
2) Recreated the card with bare minimum for output and completely cut out input stages (no one will ever use it for recording, anyway).
3) Determined main flaws of the IC, which are responsible for the main portion of the noise - VREF and FM DAC.
4) Made two prototype versions in the process. V1 is a PC104 format card with a solid ground plane. V2 has analog and digital planes separated.
5) Developed a circuit for supressing VREF noise
6) Dug out some performance boosting chip registers (including, surprisingly, even one fixing DOOM and other games messing up mixer volume).
Made some utilities and scripts along the way and discovered at least two revisions of the chip.

Here is what I got:
1) Idle noise on the uninitialized audio card has practically disappeared (VREF).
Noise from the PC is also gone.
2) The initialized card hisses, but much less. The main culprit here is FM.
Part of the noise was eliminated through filtering, while the SNR itself was boosted via registers.
By combining attenuation, gain, and registers, I managed to achieve a good balance where the sound is quite loud, but the hiss is virtually inaudible.
However, it didn't become hi-fi: at volumes above 80, that very same hiss creeps back in.
Fun fact - you can disable FM and get yourself a pretty low noise floor for games, that don't need FM (OMF2097)

Things left to do:
1) DONE - Noise spectrums of V1 vs V2 and find out which design works best (ground planes, filtering, 7805 vs TPS7A etc)
RESULT
If there's any difference between V1 and V2 grounding - it's negligible.
After fixing VREF noise the main culprit that remains is FM DAC.
As it seems, it does not care much whether I split A\D grounds or not.
It's hard to tell whether it's a DAC issue or internal chip crosstalk without decapsulation.
But, stock design is immune to VREF voltage injection, so changing ground layout definitely helped.
I finished testing the regulators. 7809+7805 with single power plane is solid, no need to buy expensive LDOs.

2) DONE Gameport (I have no means to test it ATM)
RESULT
Enjoying yet another massive pain in the neck.
While I did the circuitry right with 2.2K+4.7nF, the timing seems to be off, so I decided on 2.2K+10nF
Cobbled together "gamepad" works. Tested on Supaplex and Rollin.
Unfortunately, I don't have a 30-year-old squeaker with clapped-out pots on hand, which makes testing somehow blindfolded.
And I have no knowledge about compatibility issues or bugs with games.
So, I'm leaving it AS IS.

3) DONE (Determine best ratio of attenuation and gain or "gain staging" (those two ugly SpINNERS on top) and transfer values to final schematic.)
RESULT
No attenuatuon. HPF 0.1uf+100K before OpAmp will do. GAIN will be somewhere around 3. (3.2 with 1K+2.2K, as 2K is less common).

4) Rework dual-rail opamp power into single-rail (over-engineered dual-rail vs two big caps and compatibility).
My motherboard has two 34063 IC's responsible for -12v and -5v. They are HELL to filter out.
Will redesign the final version to take 5v from 7805 and wil add -5v inverter IC (something like SGM3204).

5)DONE Test out A0-A1 IOW-IOR signal buffering (I encountered some note-skipping and other FM bugs on fast PCs)
RESULT
IOW\IOR buffering helps, but does not eliminate the issue.
The culprit is probably my main test motherboard sending data too fast.
Other motherboards work flawlessly.
Most likely, I won't be adding any buffering to the final revision.
The results are mostly negligible and my circuit requires 74LVC2G17, which is not very common part.
I want the final design to be based on easily available and affordable components.
Just keep in mind, that ALS120 is slower to chew on data, compared to ES1868 or similar.

6) Finally decide on the type of crystal\oscillator
Oh boy. it seems I'll have to go deep into troubleshooting cave again.
It works fine with motherboard OSC. But all hell breaks loose as soon as I try crystal or active oscillator (audible whistling).
There's no guarantee the card will play nice with OSC on other motherboards.
So I'll need to at least make an OSC circuit onboard, which does not ring.
Part of the ringing problem is due to motherboard and card frequencies keep oscillating together.
I will need to shift the crystal frequency slightly above or below 14.31818 MHz to avoid resonating with the motherboard's OSC frequency and thus eliminate the ringing.

7) DONE Test the best LP filter configuration for DAC and FM
RESULT
1nf cap for crispy (matches stock) or 1nf+4.7nf (5.6nF) for warm and bubbly.
5.6nF is not a very common value. and keeping two sets of capacitors is not very elegant and not good practice in general for audio.
I'm still trying to strike a balance between simplicity and versatility.
Being able to switch on the spot between values is a nice option, but choosing just one value during soldering simplifies the design.
Internal resistance of the FMDAR\FMDAL pins seems to be around 10K, so the cutout freq is as follows:
10K+1nF = 15.92kHz
10K+(1nF+4.7nF)=2.79kHz. (AFAIK this is close to what early SB did)
FM DAC generates its noise around 1000-4000hz, so the second option supresses it a little.

8) Possibly, make a utility program instead of scripts.

9) Make that project finished already, dang it!

A lot of info on V1 of the project is mentioned here, including some sound tests.
Re: ALS120, ALS100 Plus audio fix ?

Over time, I'll pull and gather all the info here and organize it.
Since V2 is basically a continuation of V1, this topic will focus on V2.

This topic will have first 3 pages reserved for general info, schematics and sound tests.

Last edited by Paul_V on 2026-08-05, 20:58. Edited 56 times in total.

Reply 1 of 7, by Paul_V

User metadata
Rank Member
Rank
Member

==== PAGE RESERVED FOR SCHEMATICS AND CUSTOM MODIFICATIONS====
====EDITING IN PROCESS====

OpAMP based VREF buffer and voltage injector.

This is also a second revision of the circuit. V1 was based on LM4040, but using OpAmp proved to be better.
Supresses stock ALS120 VREF1 and VREF2 voltages (which are around 1.81-1.9v depending on the card design) with around 2.45v.
Also acts as a solid virtual ground for FM and DAC filtering stages and a soft-start.
VREF has high internal resistance and sink current is about 1mA.
While the method is just "brute force", it is very effective at supressing idle noise.
OpAMP can easily source and sink current, so nothing will blow up if you for whatever reason change IC VREF voltage through registers (it can go as high as 3.3v)
I did not have any problems so far, but consider this modification dangerous.

I'll probably adjust some resistor values and add more protection in the final revision,
so that it would have minimal chances to transform into "At Last: Smoking" project.

Last edited by Paul_V on 2026-08-02, 14:25. Edited 18 times in total.

Reply 2 of 7, by Paul_V

User metadata
Rank Member
Rank
Member

====PAGE RESERVED FOR SOUND TESTS====
====UPDATE IN PROGRESS====

===
UPD 21.07.26
Here is the most fair test possible comparing the stock audio and mine.
The mixer settings are identical: M82 F99 W65.
Both are recorded via line-out .
Before recording, the Vpp levels were fully matched with hi-fi amp on a test FM OPL3 sine wave, accounting for my recorder's line-in impedance.
(stock card required additional gain, since my card setup has at least +75% more dynamic range , attenuating it would put the former in even bigger disadvantage)
Then, the overall volumes were normalized in the audio editor.

Three track were recorded using ADLMIDI with apropriate sound patch (first 14sec idle):
1) Stock card
2) V2 card with 1nf low-pass filtering (matching stock)
3) V2 card with additional 4.7nf (a bit less noise and more warm sound, my preference)

SnR difference in this test roughly 33db vs 44.5db RMS between stock and V2.
If I tune dynamic range register on a stock card, the main difference would be VREF background noise.

Pure 440hz sine yield about 55db SnR on V2. And about 60db if I crank up all the volumes (at the cost of idle noise being audible).
Not bad, not best either. Solid mid-tier.
===

===
UPD 18.07.26
Added idle noise sound sample. First 10sec is stock, then 10sec V2 card.
Same recording setup, 50db software amplified.
"Jet engine" noise type is a direct result of stock cards missing power filtering and caps.
"Waterfall" noise type is fixed with VREF voltage injection.
This was recorded using same volume settings and gain, but V2 card requires less gain for same music\sound output, reducing idle noise even more.
===

Last edited by Paul_V on 2026-07-21, 16:38. Edited 17 times in total.

Reply 3 of 7, by carlostex

User metadata
Rank l33t
Rank
l33t

Great work! I do like the ALS100 chip, it has SB, SB Pro and SB16 compatibility. Unfortunately these cards have pretty weak SnR

Reply 5 of 7, by Paul_V

User metadata
Rank Member
Rank
Member
carlostex wrote on 2026-07-17, 20:25:

Great work! I do like the ALS100 chip, it has SB, SB Pro and SB16 compatibility. Unfortunately these cards have pretty weak SnR

Funny thing is, I cannot go back to ES1869 after endlessly tinkering with ALS120, exactly because of SB16 support (though emulated)
Unfortunately, I do not own any ALS100 to test whether it can also bump up it's dynamic range using mixer register 52h
This literally brought ALS120 SnR back from the dead. But ALS100 is different, so I could only guess.

I pulled the description from ALS4000 datasheet

MX52 Auto-Mute 3D control and VP, VN control
Default 80h (default is 00h for ALS120, as is does not seem to have Auto-Mute)
Read/write
Power up value changeable.
Bit 1,0 Vref-P/Vref-N control
00 1.68V (base)
01 2.11V (+25%)
10 2.53V (+50%)
11 2.95V (+75%)

Tiido wrote on 2026-07-17, 20:59:

Hahahaha, the gain descriptions are fun ~

Awesome effort ~

Thanks ) Frustration sometimes transform into things like this.
The gain can be set to 100 for real (101 to be exact 😀 )
Of course, 2 to 4 is more than enough.

P.S.
GAIN 100 turned out to be good way to test crystal oscillators.
Overloaded crystal adds buzz to sound output, non-optimal capacitance adds whistling.

Reply 6 of 7, by Paul_V

User metadata
Rank Member
Rank
Member

Why did nobody warn me that comparing two different audio interfaces would become someone's entire life's work? 😀
'Impedance and gain stage matching' actually means dealing with the sheer "impudence" of two audio interfaces refusing to play nice under the exact same recording conditions ...

Added three test recordings to main page.

And a couple of thoughts about ALSFM:
Is it a clone of original OPL3 ? I believe so (it has same bugs as original core), but only the FM Core itself.
DAC section is probably their own, cheaper design with lower resolution.
It struggles with agressive modulation and low volume instruments.
It sounds pretty close to original, until it meets it's DOOM.
I have attached a small sample - one of the tracks.
You can hear specific artifacts accompanying the notes at the very beginning of the track.

Probably because of low DAC resolution, "UFO Enemy Unknown - Geoscape" is HELL for this card to play.
Not only is the track itself is ambient, but OPL3 channels often run at minimum volume levels.
In other words, ALSFM = Accurate Logic, Screwed by Flawed Modulation

Reply 7 of 7, by Paul_V

User metadata
Rank Member
Rank
Member

Finished testing new single rail preamp circuit. Looks promising.
Should be able to drive 38ohm headphones or active speakers without trouble.

Got almost all things wrapped up for final revision.