Ecco splash sound fix?
[picodrive.git] / Pico / sound / ym2612.c
index 59bb0cc..4b64fb4 100644 (file)
@@ -561,6 +561,7 @@ INLINE void FM_KEYON(int c , int s )
                SLOT->key = 1;\r
                SLOT->phase = 0;                /* restart Phase Generator */\r
                SLOT->state = EG_ATT;   /* phase -> Attack */\r
+               SLOT->volume = MAX_ATT_INDEX;    /* fix Ecco 2 splash sound */\r
                ym2612.slot_mask |= (1<<s) << (c*4);\r
        }\r
 }\r
@@ -1668,6 +1669,8 @@ void YM2612Init_(int clock, int rate)
        ym2612.OPN.ST.clock = clock;\r
        ym2612.OPN.ST.rate = rate;\r
 \r
+       OPNSetPres( 6*24 );\r
+\r
        /* Extend handler */\r
        YM2612ResetChip_();\r
 }\r
@@ -1680,7 +1683,6 @@ void YM2612ResetChip_(void)
 \r
        memset(ym2612.REGS, 0, sizeof(ym2612.REGS));\r
 \r
-       OPNSetPres( 6*24 );\r
        set_timers( 0x30 ); /* mode 0 , timer reset */\r
        ym2612.REGS[0x27] = 0x30;\r
 \r
@@ -1833,12 +1835,7 @@ int YM2612Write_(unsigned int a, unsigned int v)
                ret = OPNWriteReg(addr, v);\r
                break;\r
        }\r
-/*\r
-       if(ret) {\r
-               extern int Scanline;\r
-               dprintf("ymw [%i]", Scanline);\r
-       }\r
-*/\r
+\r
        return ret;\r
 }\r
 \r
@@ -2053,10 +2050,8 @@ int YM2612PicoStateLoad2(int *tat, int *tbt)
        return 0;\r
 }\r
 \r
-#ifndef EXTERNAL_YM2612\r
 void *YM2612GetRegs(void)\r
 {\r
        return ym2612.REGS;\r
 }\r
-#endif\r
 \r