some Pico adjustments
[picodrive.git] / Pico / Pico.h
index 8398e74..3714ad1 100644 (file)
@@ -48,10 +48,15 @@ void mp3_update(int *buffer, int length, int stereo);
 #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
@@ -71,14 +76,19 @@ extern int  (*PicoMCDcloseTray)(void);
 extern int PicoCDBuffers;\r
 \r
 // Pico/Pico.c\r
+#define XPCM_BUFFER_SIZE (320+160)\r
 typedef struct\r
 {\r
        int pen_pos[2];\r
        int page;\r
        // internal\r
-       int fifo_bytes;\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 int r1, r12;\r
+       unsigned short r1, r12;\r
+       unsigned char xpcm_buffer[XPCM_BUFFER_SIZE+4];\r
+       unsigned char *xpcm_ptr;\r
 } picohw_state;\r
 extern picohw_state PicoPicohw;\r
 \r