Atari STE audio mixer fixing
stays for Mega STE and TT too

    I found this problem in 2015, while made special audio bakground music playback during game. It was Xenon 2, and digital sampled audio playback via STE audio DMA chip. It appeared that game effects, which are played via PSG (YM) chip were much louder. It needed some time and experimenting a lot to realize that this is actually HW bug in audio mixer circuit - yes, sounds pretty unbelievable, but in meantime other ones spotted this problem too. The reason why was not known over many years is simply that there was no SW, or maybe just few, which had simulateneous audio with PSG and DMA.

p/STEmicrw.png
 Original Microwire audio mixer in STE schematic.

p/STEmicrwFix.png
Schematic of mixer with fixed audio level balance.
Fix is really simple - need to add 1x 10K resistor, and cut connection of upper pin of R531 (51K) with R530 - simplest is just to cut it carefully near to PCB, then can do soldering on that pin/wire.


p/MegaSTEmxFix.jpg
Fix in Mega STE . That blue resistor with txt. 'VTM' is added 10 K one. This is under PSU, btw. 

Short explanation: by default PSG audio level is about 6x louder than DMA audio level. Microwire chip LMC1992 has multiple inputs, which can be switched on/off by SW - and according to Atari DOCs, Atari ST ProfiBuch should be possible to change audio level ratio.  But it just works not. Basically can just switch them on and off.

I made this fix so, that by default (so with mixer settings after reset) it is with same audio disbalance as unmodded one. To be compatible with SW done for unbalanced PSG-DMA audio (there is some new SW using both at once). And myself did first Xenon 2 background music player version with lowered effects volume (what needed lot of time, and lowers audio quality of it).

To get proper mixing ratio 1:1 need to set LMC1992 mixer inputs in state %01 - unlike %10, what says in DOCs (and works not) .

Short ASM code for it is:  

   move.w #$7FF,$FFFF8924.w
   move.w #%10000000010,d1  *mixer - correcting PSG level to -12 db 
   bsr   mww

*****
mww   
    cmp.w    #$7FF,$FFFF8924.w
    nop
    bne.s    mww
    move.w    d1,$FFFF8922.w
    rts

Subroutine mww is needed to give time to LMC1992, before writing in setting register.

Atari Falcon does not need this fix - in it audio balance is OK (but may need some measures in SW , so audio in some game work).

And must say here that despite what some  (Cyprian) say at AF, this fix is not done by only me, I got several e-mails from people who done it with success. But I guess that it is against law to say something good about me at so great AF :-)



   PP, August 2021.  Started somewhere in 2015.