lowercasing filenames, part1; makefile adjustments
[picodrive.git] / platform / linux / 940ctl_ym2612.c
index 2cfa57b..9d7e38d 100644 (file)
@@ -8,25 +8,19 @@
 #include <fcntl.h>
 #include <errno.h>
 
-#include "../../Pico/sound/ym2612.h"
+#include "../../pico/sound/ym2612.h"
 #include "../gp2x/gp2x.h"
 #include "../gp2x/emu.h"
 #include "../gp2x/menu.h"
 #include "../gp2x/code940/940shared.h"
-#include "../gp2x/helix/pub/mp3dec.h"
-#include "../../Pico/PicoInt.h"
+#include "../common/helix/pub/mp3dec.h"
+#include "../../pico/pico_int.h"
 
 
-static YM2612 ym2612;
-
-YM2612 *ym2612_940 = &ym2612;
-int  mix_buffer_[44100/50*2];  /* this is where the YM2612 samples will be mixed to */
-int *mix_buffer = mix_buffer_;
-
 // static _940_data_t  shared_data_;
 static _940_ctl_t   shared_ctl_;
 // static _940_data_t *shared_data = &shared_data_;
-static _940_ctl_t  *shared_ctl = &shared_ctl_;
+_940_ctl_t  *shared_ctl = &shared_ctl_;
 
 unsigned char *mp3_mem = 0;
 
@@ -34,36 +28,14 @@ unsigned char *mp3_mem = 0;
 
 /***********************************************************/
 
-#define MAXOUT         (+32767)
-#define MINOUT         (-32768)
-
-/* limitter */
-#define Limit(val, max,min) { \
-       if ( val > max )      val = max; \
-       else if ( val < min ) val = min; \
-}
-
 
-int YM2612Write_940(unsigned int a, unsigned int v)
+int YM2612Write_940(unsigned int a, unsigned int v, int scanline)
 {
        YM2612Write_(a, v);
 
        return 0; // cause the engine to do updates once per frame only
 }
 
-UINT8 YM2612Read_940(void)
-{
-       return YM2612Read_();
-}
-
-
-int YM2612PicoTick_940(int n)
-{
-       YM2612PicoTick_(n);
-
-       return 0;
-}
-
 
 void YM2612PicoStateLoad_940(void)
 {
@@ -81,11 +53,29 @@ void YM2612PicoStateLoad_940(void)
        }
 }
 
+void YM2612PicoStateSave2_940(int tat, int tbt)
+{
+       YM2612PicoStateSave2(tat, tbt);
+}
 
-void YM2612Init_940(int baseclock, int rate)
+int YM2612PicoStateLoad2_940(int *tat, int *tbt)
+{
+       return YM2612PicoStateLoad2(tat, tbt);
+}
+
+
+void sharedmem_init(void)
 {
        mp3_mem = malloc(MP3_SIZE_MAX);
+}
+
+void sharedmem_deinit(void)
+{
+       free(mp3_mem);
+}
 
+void YM2612Init_940(int baseclock, int rate)
+{
        YM2612Init_(baseclock, rate);
 }
 
@@ -96,58 +86,6 @@ void YM2612ResetChip_940(void)
 }
 
 
-static void mix_samples(short *dest_buf, int *ym_buf, short *mp3_buf, int len, int stereo)
-{
-       if (mp3_buf)
-       {
-               if (stereo)
-               {
-                       for (; len > 0; len--)
-                       {
-                               int l, r;
-                               l = r = *dest_buf;
-                               l += *ym_buf++;  r += *ym_buf++;
-                               l += *mp3_buf++; r += *mp3_buf++;
-                               Limit( l, MAXOUT, MINOUT );
-                               Limit( r, MAXOUT, MINOUT );
-                               *dest_buf++ = l; *dest_buf++ = r;
-                       }
-               } else {
-                       for (; len > 0; len--)
-                       {
-                               int l = *ym_buf++;
-                               l += *dest_buf;
-                               l += *mp3_buf++;
-                               Limit( l, MAXOUT, MINOUT );
-                               *dest_buf++ = l;
-                       }
-               }
-       }
-       else
-       {
-               if (stereo)
-               {
-                       for (; len > 0; len--)
-                       {
-                               int l, r;
-                               l = r = *dest_buf;
-                               l += *ym_buf++, r += *ym_buf++;
-                               Limit( l, MAXOUT, MINOUT );
-                               Limit( r, MAXOUT, MINOUT );
-                               *dest_buf++ = l; *dest_buf++ = r;
-                       }
-               } else {
-                       for (; len > 0; len--)
-                       {
-                               int l = *ym_buf++;
-                               l += *dest_buf;
-                               Limit( l, MAXOUT, MINOUT );
-                               *dest_buf++ = l;
-                       }
-               }
-       }
-}
-
 #if 0
 static void local_decode(void)
 {
@@ -190,7 +128,7 @@ static void local_decode(void)
 
 static FILE *loaded_mp3 = 0;
 
-void YM2612UpdateOne_940(short *buffer, int length, int stereo)
+int YM2612UpdateOne_940(int *buffer, int length, int stereo, int is_buf_empty)
 {
 #if 0
        int cdda_on, *ym_buffer = mix_buffer;
@@ -233,13 +171,17 @@ void YM2612UpdateOne_940(short *buffer, int length, int stereo)
                mp3_samples_ready += 1152;
        }
 #else
-       YM2612UpdateOne_(buffer, length, stereo); // really writes to mix_buffer
-
-       mix_samples(buffer, mix_buffer, 0, length, stereo);
+       return YM2612UpdateOne_(buffer, length, stereo, is_buf_empty);
 #endif
 }
 
 
+void mp3_update(int *buffer, int length, int stereo)
+{
+       // nothing..
+}
+
+
 /***********************************************************/
 
 void mp3_start_play(FILE *f, int pos) // pos is 0-1023
@@ -269,8 +211,3 @@ void mp3_start_play(FILE *f, int pos) // pos is 0-1023
 }
 
 
-int mp3_get_offset(void)
-{
-       return 0;
-}
-