-void KillOPL(void);
-void UpdateOPL(int Count);
-void vrc7translate(uint8 A, uint8 V);
-void LoadOPL(void);
-extern uint8 VRC7Instrument[16][8];
-extern uint8 VRC7Chan[3][6];
+static OPLL *VRC7Sound=NULL;
+static int dwave=0;
+
+void DoVRC7Sound(void)
+{
+ int32 z,a;
+
+ //if(FSettings.soundq>=1) return;
+ z=((SOUNDTS<<16)/soundtsinc)>>4;
+ a=z-dwave;
+
+ moocow(VRC7Sound, (int32 *)&Wave[dwave], a, 1);
+
+ dwave+=a;
+}
+
+void UpdateOPLNEO(int32 *Wave, int Count)
+{
+ moocow(VRC7Sound, Wave, Count, 4);
+}
+
+void UpdateOPL(int Count)
+{
+ int32 z,a;
+
+ z=((SOUNDTS<<16)/soundtsinc)>>4;
+ a=z-dwave;
+
+ if(VRC7Sound && a)
+ moocow(VRC7Sound, (int32 *)&Wave[dwave], a, 1);
+
+ dwave=0;
+}