#define POPT_EN_SVP_DRC (1<<17)\r
#define POPT_DIS_SPRITE_LIM (1<<18)\r
extern int PicoOpt; // bitfield\r
+#define PAHW_MCD (1<<0)\r
+#define PAHW_32X (1<<1)\r
+#define PAHW_SVP (1<<2)\r
+#define PAHW_PICO (1<<3)\r
+extern int PicoAHW; // Pico active hw\r
extern int PicoVer;\r
-extern int PicoSkipFrame; // skip rendering frame, but still do sound (if enabled) and emulation stuff\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 PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP\r
extern int PicoSVPCycles;\r
int PicoInit(void);\r
void PicoExit(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
-typedef enum { PS_PAL, PS_40_CELL, PS_240_LINES } pstat_t;\r
-int PicoGetStat(pstat_t which);\r
+typedef enum { PI_ROM, PI_ISPAL, PI_IS40_CELL, PI_IS240_LINES } pint_t;\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
extern void (*PicoMCDopenTray)(void);\r
int pen_pos[2];\r
int page;\r
// internal\r
- int fifo_bytes; // free bytes in FIFO\r
+ int fifo_bytes; // bytes in FIFO\r
+ int fifo_bytes_prev;\r
int fifo_line_bytes; // float part, << 16\r
int line_counter;\r
unsigned short r1, r12;\r