int mp3_get_bitrate(FILE *f, int size);\r
void mp3_start_play(FILE *f, int pos);\r
int mp3_get_offset(void); // 0-1023\r
+void mp3_update(int *buffer, int length, int stereo);\r
\r
\r
// Pico.c\r
// PicoOpt bits LSb->MSb:\r
// enable_ym2612&dac, enable_sn76496, enable_z80, stereo_sound,\r
// alt_renderer, 6button_gamepad, accurate_timing, accurate_sprites,\r
-// draw_no_32col_border, external_ym2612\r
+// draw_no_32col_border, external_ym2612, enable_pcm, enable cdda\r
extern int PicoOpt;\r
extern int PicoVer;\r
extern int PicoSkipFrame; // skip rendering frame, but still do sound (if enabled) and emulation stuff\r
int PicoFrame(void);\r
extern int PicoPad[2]; // Joypads, format is MXYZ SACB RLDU\r
extern int (*PicoCram)(int cram); // Callback to convert colour ram 0000bbb0 ggg0rrr0\r
-extern void (*PicoWriteSound)(void); // called once per frame at the best time to send sound buffer (PsndOut) to hardware\r
+extern void (*PicoWriteSound)(int len); // called once per frame at the best time to send sound buffer (PsndOut) to hardware\r
\r
int PicoFrameMCD(void);\r
\r
extern int PsndRate,PsndLen;\r
extern short *PsndOut;\r
void sound_reset();\r
-void sound_rerate();\r
+void sound_rerate(int preserve_state);\r
void z80_pack(unsigned char *data);\r
void z80_unpack(unsigned char *data);\r
void z80_reset();\r