}
}
-static DECLFW(Write_IRQFM)
+DECLFW(Write_IRQFM)
{
PSG[0x17]=V;
V=(V&0xC0)>>6;
static void FilterSound(uint32 *in, int16 *outMono, int count)
{
// static int min=0, max=0;
+ int sh=2;
+ if (soundvol < 5) sh += 5 - soundvol;
for(;count;count--,in++,outMono++)
{
flt_acc2+= (int32) (((int64)((diff-flt_acc2)*lowp))>>16);
*in=0;
- *outMono = flt_acc2*7 >> 2; // * 1.75
+ *outMono = flt_acc2*7 >> sh; // * 7 >> 2 = * 1.75
// if (acc2 < min) { printf("min: %i %04x\n", acc2, acc2); min = acc2; }
// if (acc2 > max) { printf("max: %i %04x\n", acc2, acc2); max = acc2; }
}
nreg=1;
}
-void (*SetSoundVariables)(void) = 0;
-
-void SetSoundVariables081(void)
+void SetSoundVariables(void)
{
int x;