cd: switch to CD drive emu code from genplus
[picodrive.git] / pico / pico_int.h
index d4d6d7d..76c4812 100644 (file)
@@ -374,9 +374,6 @@ struct PicoSRAM
 };\r
 \r
 // MCD\r
-#include "cd/cd_sys.h"\r
-#include "cd/LC89510.h"\r
-\r
 #define PCM_MIXBUF_LEN ((12500000 / 384) / 50 + 1)\r
 \r
 struct mcd_pcm\r
@@ -448,9 +445,8 @@ typedef struct
   unsigned char bram[0x2000];                  // 110200: 8K\r
   struct mcd_misc m;                           // 112200: misc\r
   struct mcd_pcm pcm;                          // 112240:\r
-  _scd_toc TOC;                                        // not to be saved\r
-  CDD  cdd;\r
-  _scd scd;\r
+  void *cdda_stream;\r
+  int cdda_type;\r
   int pcm_mixbuf[PCM_MIXBUF_LEN * 2];\r
   int pcm_mixpos;\r
   char pcm_mixbuf_dirty;\r
@@ -628,6 +624,19 @@ void cdc_reg_w(unsigned char data);
 unsigned char  cdc_reg_r(void);\r
 unsigned short cdc_host_r(void);\r
 \r
+// cd/cdd.c\r
+void cdd_reset(void);\r
+int cdd_context_save(unsigned char *state);\r
+int cdd_context_load(unsigned char *state);\r
+int cdd_context_load_old(unsigned char *state);\r
+void cdd_read_data(unsigned char *dst);\r
+void cdd_read_audio(unsigned int samples);\r
+void cdd_update(void);\r
+void cdd_process(void);\r
+\r
+// cd/cd_image.c\r
+int load_cd_image(const char *cd_img_name, int *type);\r
+\r
 // cd/gfx.c\r
 void gfx_init(void);\r
 void gfx_start(unsigned int base);\r
@@ -727,13 +736,14 @@ PICO_INTERNAL int  SekInterruptS68k(int irq);
 void SekInterruptClearS68k(int irq);\r
 \r
 // sound/sound.c\r
-PICO_INTERNAL void cdda_start_play();\r
 extern short cdda_out_buffer[2*1152];\r
 extern int PsndLen_exc_cnt;\r
 extern int PsndLen_exc_add;\r
 extern int timer_a_next_oflow, timer_a_step; // in z80 cycles\r
 extern int timer_b_next_oflow, timer_b_step;\r
 \r
+void cdda_start_play(int lba_base, int lba_offset, int lb_len);\r
+\r
 void ym2612_sync_timers(int z80_cycles, int mode_old, int mode_new);\r
 void ym2612_pack_state(void);\r
 void ym2612_unpack_state(void);\r
@@ -786,9 +796,6 @@ PICO_INTERNAL void z80_exit(void);
 PICO_INTERNAL_ASM void wram_2M_to_1M(unsigned char *m);\r
 PICO_INTERNAL_ASM void wram_1M_to_2M(unsigned char *m);\r
 \r
-// cd/buffering.c\r
-PICO_INTERNAL void PicoCDBufferRead(void *dest, int lba);\r
-\r
 // sound/sound.c\r
 PICO_INTERNAL void PsndReset(void);\r
 PICO_INTERNAL void PsndDoDAC(int line_to);\r