// alt_renderer, 6button_gamepad, accurate_timing, accurate_sprites,\r
// draw_no_32col_border, external_ym2612, enable_cd_pcm, enable_cd_cdda\r
// enable_cd_gfx, cd_perfect_sync, soft_32col_scaling, enable_cd_ramcart\r
// alt_renderer, 6button_gamepad, accurate_timing, accurate_sprites,\r
// draw_no_32col_border, external_ym2612, enable_cd_pcm, enable_cd_cdda\r
// enable_cd_gfx, cd_perfect_sync, soft_32col_scaling, enable_cd_ramcart\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
extern int PicoRegionOverride; // override the region detection 0: auto, 1: Japan NTSC, 2: Japan PAL, 4: US, 8: Europe\r
extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP\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
extern int PicoRegionOverride; // override the region detection 0: auto, 1: Japan NTSC, 2: Japan PAL, 4: US, 8: Europe\r
extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP\r
void PicoFrameDrawOnly(void);\r
extern int PicoPad[2]; // Joypads, format is MXYZ SACB RLDU\r
extern void (*PicoWriteSound)(int len); // called once per frame at the best time to send sound buffer (PsndOut) to hardware\r
extern void (*PicoMessage)(const char *msg); // callback to output text message from emu\r
void PicoFrameDrawOnly(void);\r
extern int PicoPad[2]; // Joypads, format is MXYZ SACB RLDU\r
extern void (*PicoWriteSound)(int len); // called once per frame at the best time to send sound buffer (PsndOut) to hardware\r
extern void (*PicoMessage)(const char *msg); // callback to output text message from emu\r
int PicoCartLoad(pm_file *f,unsigned char **prom,unsigned int *psize);\r
int PicoCartInsert(unsigned char *rom,unsigned int romsize);\r
void Byteswap(unsigned char *data,int len);\r
int PicoCartLoad(pm_file *f,unsigned char **prom,unsigned int *psize);\r
int PicoCartInsert(unsigned char *rom,unsigned int romsize);\r
void Byteswap(unsigned char *data,int len);\r
\r
// Draw.c\r
void PicoDrawSetColorFormat(int which); // 0=BGR444, 1=RGB555, 2=8bit(HighPal pal)\r
extern void *DrawLineDest;\r
\r
// Draw.c\r
void PicoDrawSetColorFormat(int which); // 0=BGR444, 1=RGB555, 2=8bit(HighPal pal)\r
extern void *DrawLineDest;\r
extern int (*PicoScan)(unsigned int num, void *data);\r
// internals\r
extern unsigned short HighPal[0x100];\r
extern int (*PicoScan)(unsigned int num, void *data);\r
// internals\r
extern unsigned short HighPal[0x100];\r
extern unsigned short *PicoCramHigh; // pointer to CRAM buff (0x40 shorts), converted to native device color (works only with 16bit for now)\r
extern void (*PicoPrepareCram)(); // prepares PicoCramHigh for renderer to use\r
\r
// sound.c\r
extern int PsndRate,PsndLen;\r
extern short *PsndOut;\r
extern unsigned short *PicoCramHigh; // pointer to CRAM buff (0x40 shorts), converted to native device color (works only with 16bit for now)\r
extern void (*PicoPrepareCram)(); // prepares PicoCramHigh for renderer to use\r
\r
// sound.c\r
extern int PsndRate,PsndLen;\r
extern short *PsndOut;\r
-void sound_reset();\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
+extern void (*PsndMix_32_to_16l)(short *dest, int *src, int count);\r
+void PsndRerate(int preserve_state);\r