Pico PCM, only one hardcoded mode for now
[picodrive.git] / Pico / Pico.h
index cfcd7e4..0178590 100644 (file)
@@ -24,7 +24,6 @@ extern "C" {
 // external funcs for Sega/Mega CD\r
 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
@@ -71,6 +70,22 @@ extern void (*PicoMCDopenTray)(void);
 extern int  (*PicoMCDcloseTray)(void);\r
 extern int PicoCDBuffers;\r
 \r
+// Pico/Pico.c\r
+#define XPCM_BUFFER_SIZE (320+32)\r
+typedef struct\r
+{\r
+       int pen_pos[2];\r
+       int page;\r
+       // internal\r
+       int fifo_bytes;      // free bytes in FIFO\r
+       int fifo_line_bytes; // float part, << 16\r
+       int line_counter;\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
 // Area.c\r
 typedef size_t (arearw)(void *p, size_t _size, size_t _n, void *file);\r
 typedef size_t (areaeof)(void *file);\r
@@ -91,6 +106,7 @@ int PicoCdLoadStateGfx(void *file);
 // 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(char *iso_name, int is_bin);\r