#include "cd/LC89510.h"\r
#include "cd/gfx_cd.h"\r
\r
+#define PCM_MIXBUF_LEN ((12500000 / 384) / 50 + 1)\r
+\r
struct mcd_pcm\r
{\r
unsigned char control; // reg7\r
unsigned char enabled; // reg8\r
unsigned char cur_ch;\r
unsigned char bank;\r
- int pad1;\r
+ unsigned int update_cycles;\r
\r
struct pcm_chan // 08, size 0x10\r
{\r
CDC cdc;\r
_scd scd;\r
Rot_Comp rot_comp;\r
+ int pcm_mixbuf[PCM_MIXBUF_LEN * 2];\r
+ int pcm_mixpos;\r
+ int pcm_mixbuf_dirty;\r
} mcd_state;\r
\r
// XXX: this will need to be reworked for cart+cd support.\r
void pcd_soft_reset(void);\r
void pcd_state_loaded(void);\r
\r
+// cd/pcm.c\r
+void pcd_pcm_sync(unsigned int to);\r
+void pcd_pcm_update(int *buffer, int length, int stereo);\r
+void pcd_pcm_write(unsigned int a, unsigned int d);\r
+unsigned int pcd_pcm_read(unsigned int a);\r
+\r
// pico/pico.c\r
PICO_INTERNAL void PicoInitPico(void);\r
PICO_INTERNAL void PicoReratePico(void);\r