#define POPT_EN_Z80 (1<< 2)\r
#define POPT_EN_STEREO (1<< 3)\r
#define POPT_ALT_RENDERER (1<< 4) // 00 00x0\r
-#define POPT_6BTN_PAD (1<< 5)\r
+// unused (1<< 5)\r
// unused (1<< 6)\r
#define POPT_ACC_SPRITES (1<< 7)\r
#define POPT_DIS_32C_BORDER (1<< 8) // 00 0x00\r
#define POPT_EN_MCD_PCM (1<<10)\r
#define POPT_EN_MCD_CDDA (1<<11)\r
#define POPT_EN_MCD_GFX (1<<12) // 00 x000\r
-#define POPT_EN_MCD_PSYNC (1<<13)\r
+// unused (1<<13)\r
#define POPT_EN_SOFTSCALE (1<<14)\r
#define POPT_EN_MCD_RAMCART (1<<15)\r
#define POPT_DIS_VDP_FIFO (1<<16) // 0x 0000\r
-#define POPT_EN_SVP_DRC (1<<17)\r
+#define POPT_EN_DRC (1<<17)\r
#define POPT_DIS_SPRITE_LIM (1<<18)\r
#define POPT_DIS_IDLE_DET (1<<19)\r
#define POPT_EN_32X (1<<20)\r
#define PAHW_PICO (1<<3)\r
#define PAHW_SMS (1<<4)\r
extern int PicoAHW; // Pico active hw\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
+\r
+#define PQUIRK_FORCE_6BTN (1<<0)\r
+extern int PicoQuirks;\r
+\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 PicoRegionFPSOverride; // override the refresh rate of the region 0: Auto, 1: NTSC, 2: PAL\r
+extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP\r
extern int PicoSVPCycles;\r
void PicoInit(void);\r
void PicoExit(void);\r
typedef union { int vint; void *vptr; } pint_ret_t;\r
void PicoGetInternal(pint_t which, pint_ret_t *ret);\r
\r
-// cd/Pico.c\r
+// cd/mcd.c\r
extern void (*PicoMCDopenTray)(void);\r
extern void (*PicoMCDcloseTray)(void);\r
-extern int PicoCDBuffers;\r
\r
// pico.c\r
#define XPCM_BUFFER_SIZE (320+160)\r
void PicoTmpStateRestore(void *data);\r
extern void (*PicoStateProgressCB)(const char *str);\r
\r
-// cd/buffering.c\r
-void PicoCDBufferInit(void);\r
-void PicoCDBufferFree(void);\r
-void PicoCDBufferFlush(void);\r
-\r
-// cd/cd_sys.c\r
-int Insert_CD(const char *cdimg_name, int type);\r
-void Stop_CD(void); // releases all resources taken when CD game was started.\r
+// cd/cdd.c\r
+int cdd_load(const char *filename, int type);\r
+int cdd_unload(void);\r
\r
// Cart.c\r
typedef enum\r
PM_MARK3,\r
PM_CD,\r
};\r
+\r
+enum cd_img_type\r
+{\r
+ CIT_NOT_CD = 0,\r
+ CIT_ISO,\r
+ CIT_BIN,\r
+ CIT_CUE\r
+};\r
+\r
enum media_type_e PicoLoadMedia(const char *filename,\r
const char *carthw_cfg_fname,\r
const char *(*get_bios_filename)(int *region, const char *cd_fname),\r
\r
extern unsigned char media_id_header[0x100];\r
\r
+// memory.c\r
+enum input_device {\r
+ PICO_INPUT_NOTHING,\r
+ PICO_INPUT_PAD_3BTN,\r
+ PICO_INPUT_PAD_6BTN,\r
+};\r
+void PicoSetInputDevice(int port, enum input_device device);\r
+\r
#ifdef __cplusplus\r
} // End of extern "C"\r
#endif\r