ui cleanup
[dos_auplay] / src / au_sb.c
index eb58762..63fb49d 100644 (file)
@@ -92,7 +92,7 @@ static void start_dsp4(int bits, unsigned int mode, int num_samples);
 static void start_dsp(int nchan, int num_samples);\r
 static void write_dsp(unsigned char val);\r
 static unsigned char read_dsp(void);\r
-static void write_mix(unsigned char val, int reg);\r
+static void write_mix(int reg, unsigned char val);\r
 static unsigned char read_mix(int reg);\r
 static int get_dsp_version(void);\r
 static int dsp4_detect_irq(void);\r
@@ -224,16 +224,12 @@ static void start(int rate, int bits, int nchan)
                        return;\r
                }\r
 \r
-               printf("DBG allocated seg: %x, addr: %lx\n", (unsigned int)seg,\r
-                               (unsigned long)seg << 4);\r
-\r
                addr = (uint32_t)seg << 4;\r
                next64k = (addr + 0x10000) & 0xffff0000;\r
                if(next64k - addr < BUFSIZE) {\r
                        addr = next64k;\r
                }\r
 \r
-               printf("DBG aligned: %lx (mid: %lx)\n", (unsigned long)addr, (unsigned long)(addr + BUFSIZE / 2));\r
                buffer[0] = (void*)addr;\r
                buffer[1] = (void*)(addr + BUFSIZE / 2);\r
                wrbuf = 0;\r
@@ -334,11 +330,11 @@ static void setvolume(int ctl, int vol)
                /* DSP 4.x - SB16 */\r
                val = vol & 0xf8;\r
                if(ctl == AUDIO_PCM) {\r
-                       write_mix(MIX_SB16_VOICE_L, vol);\r
-                       write_mix(MIX_SB16_VOICE_R, vol);\r
+                       write_mix(MIX_SB16_VOICE_L, val);\r
+                       write_mix(MIX_SB16_VOICE_R, val);\r
                } else {\r
-                       write_mix(MIX_SB16_MASTER_L, vol);\r
-                       write_mix(MIX_SB16_MASTER_R, vol);\r
+                       write_mix(MIX_SB16_MASTER_L, val);\r
+                       write_mix(MIX_SB16_MASTER_R, val);\r
                }\r
 \r
        } else if(VER_MAJOR(dsp_ver) >= 3) {\r
@@ -381,9 +377,9 @@ static int getvolume(int ctl)
                }\r
 \r
                val = read_mix(lreg);\r
-               left = (val & 0xf8) | ((val >> 3) & 7); /* duplicate last 3 bits */\r
+               left = (val & 0xf8) | (val >> 5);\r
                val = read_mix(rreg);\r
-               right = (val & 0xf8) | ((val >> 3) & 7);\r
+               right = (val & 0xf8) | (val >> 5);\r
 \r
        } else if(VER_MAJOR(dsp_ver) >= 3) {\r
                /* DSP 3.x - SBPro */\r
@@ -454,7 +450,7 @@ static unsigned char read_dsp(void)
        return inp(REG_RDATA);\r
 }\r
 \r
-static void write_mix(unsigned char val, int reg)\r
+static void write_mix(int reg, unsigned char val)\r
 {\r
        outp(REG_MIXPORT, reg);\r
        outp(REG_MIXDATA, val);\r
@@ -492,7 +488,7 @@ static int dsp4_detect_irq(void)
        }\r
        if(!irq) {\r
                /* try to force IRQ 5 */\r
-               write_mix(2, MIX_SB16_IRQ_SEL); /* bit1 selects irq 5 */\r
+               write_mix(MIX_SB16_IRQ_SEL, 2); /* bit1 selects irq 5 */\r
 \r
                /* re-read to verify */\r
                irqsel = read_mix(MIX_SB16_IRQ_SEL);\r
@@ -535,7 +531,7 @@ static int dsp4_detect_dma(void)
        }\r
 \r
        if(dma_chan == -1 || dma16_chan == -1) {\r
-               write_mix(dmasel, MIX_SB16_DMA_SEL);\r
+               write_mix(MIX_SB16_DMA_SEL, dmasel);\r
 \r
                /* re-read to verify */\r
                tmp = read_mix(MIX_SB16_DMA_SEL);\r