1.50a release?
[picodrive.git] / Pico / sound / ym2612.c
index a619c45..efe5054 100644 (file)
@@ -1668,6 +1668,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 +1682,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
@@ -1779,11 +1780,11 @@ int YM2612Write_(unsigned int a, unsigned int v)
                                }\r
                                ret=0;\r
                                break;\r
+#endif\r
                        case 0x27:      /* mode, timer control */\r
                                set_timers( v );\r
                                ret=0;\r
                                break;\r
-#endif\r
                        case 0x28:      /* key on / off */\r
                                {\r
                                        UINT8 c;\r
@@ -1797,7 +1798,6 @@ int YM2612Write_(unsigned int a, unsigned int v)
                                        if(v&0x80) FM_KEYON(c,SLOT4); else FM_KEYOFF(c,SLOT4);\r
                                        break;\r
                                }\r
-#if 0\r
                        case 0x2a:      /* DAC data (YM2612) */\r
                                ym2612.dacout = ((int)v - 0x80) << 6;   /* level unknown (notaz: 8 seems to be too much) */\r
                                ret=0;\r
@@ -1807,7 +1807,6 @@ int YM2612Write_(unsigned int a, unsigned int v)
                                ym2612.dacen = v & 0x80;\r
                                ret=0;\r
                                break;\r
-#endif\r
                        default:\r
                                break;\r
                        }\r
@@ -1835,12 +1834,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
@@ -1904,13 +1898,14 @@ typedef struct
        UINT16  unused2;\r
        UINT32  keyon_field;    // 20\r
        UINT32  kcode_fc_sl3_3;\r
+       UINT32  reserved[2];\r
 } ym_save_addon;\r
 \r
 typedef struct\r
 {\r
        UINT16  block_fnum[6];\r
        UINT16  block_fnum_sl3[3];\r
-       UINT16  unused;\r
+       UINT16  reserved[7];\r
 } ym_save_addon2;\r
 \r
 \r
@@ -2054,10 +2049,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