*/\r
\r
#include "pico_int.h"\r
-#include <zlib/zlib.h>\r
+#include <zlib.h>\r
\r
#include "../cpu/sh2/sh2.h"\r
#include "sound/ym2612.h"\r
CHUNK_GA_REGS,\r
CHUNK_PCM,\r
CHUNK_CDC, // old\r
- CHUNK_CDD, // 20\r
- CHUNK_SCD,\r
+ CHUNK_CDD, // 20 old\r
+ CHUNK_SCD, // old\r
CHUNK_RC, // old\r
CHUNK_MISC_CD,\r
//\r
CHUNK_CD_EVT = 50,\r
CHUNK_CD_GFX,\r
CHUNK_CD_CDC,\r
+ CHUNK_CD_CDD,\r
//\r
CHUNK_DEFAULT_COUNT,\r
CHUNK_CARTHW_ = CHUNK_CARTHW, // 64 (defined in PicoInt)\r
CHECKED_WRITE_BUFF(CHUNK_BRAM, Pico_mcd->bram);\r
CHECKED_WRITE_BUFF(CHUNK_GA_REGS, Pico_mcd->s68k_regs); // GA regs, not CPU regs\r
CHECKED_WRITE_BUFF(CHUNK_PCM, Pico_mcd->pcm);\r
- CHECKED_WRITE_BUFF(CHUNK_CDD, Pico_mcd->cdd);\r
- CHECKED_WRITE_BUFF(CHUNK_SCD, Pico_mcd->scd);\r
CHECKED_WRITE_BUFF(CHUNK_MISC_CD, Pico_mcd->m);\r
memset(buff, 0, 0x40);\r
memcpy(buff, pcd_event_times, sizeof(pcd_event_times));\r
CHECKED_WRITE(CHUNK_CD_GFX, len, buf2);\r
len = cdc_context_save(buf2);\r
CHECKED_WRITE(CHUNK_CD_CDC, len, buf2);\r
+ len = cdd_context_save(buf2);\r
+ CHECKED_WRITE(CHUNK_CD_CDD, len, buf2);\r
\r
if (Pico_mcd->s68k_regs[3] & 4) // convert back\r
wram_2M_to_1M(Pico_mcd->word_ram2M);\r
case CHUNK_BRAM: CHECKED_READ_BUFF(Pico_mcd->bram); break;\r
case CHUNK_GA_REGS: CHECKED_READ_BUFF(Pico_mcd->s68k_regs); break;\r
case CHUNK_PCM: CHECKED_READ_BUFF(Pico_mcd->pcm); break;\r
- case CHUNK_CDD: CHECKED_READ_BUFF(Pico_mcd->cdd); break;\r
- case CHUNK_SCD: CHECKED_READ_BUFF(Pico_mcd->scd); break;\r
case CHUNK_MISC_CD: CHECKED_READ_BUFF(Pico_mcd->m); break;\r
\r
case CHUNK_CD_EVT:\r
len_check = cdc_context_load(buf);\r
break;\r
\r
+ case CHUNK_CD_CDD:\r
+ CHECKED_READ_LIM(buf);\r
+ len_check = cdd_context_load(buf);\r
+ break;\r
+\r
// old, to be removed:\r
case CHUNK_CDC:\r
CHECKED_READ_LIM(buf);\r
cdc_context_load_old(buf);\r
break;\r
\r
+ case CHUNK_SCD:\r
+ CHECKED_READ_LIM(buf);\r
+ cdd_context_load_old(buf);\r
+ break;\r
+\r
// 32x stuff\r
#ifndef NO_32X\r
case CHUNK_MSH2:\r
if (PicoAHW & PAHW_32X)\r
Pico32xStateLoaded(1);\r
\r
+ if (PicoLoadStateHook != NULL)\r
+ PicoLoadStateHook();\r
+\r
// must unpack 68k and z80 after banks are set up\r
if (!(PicoAHW & PAHW_SMS))\r
SekUnpackCpu(buff_m68k, 0);\r
{\r
SekCycleAimS68k = SekCycleCntS68k;\r
pcd_state_loaded();\r
-\r
- if (!(Pico_mcd->s68k_regs[0x36] & 1) && (Pico_mcd->scd.Status_CDC & 1))\r
- cdda_start_play();\r
}\r
\r
retval = 0;\r
ret = state_load_legacy(afile);\r
}\r
\r
- if (PicoLoadStateHook != NULL)\r
- PicoLoadStateHook();\r
Pico.m.dirtyPal = 1;\r
+ Pico.video.status &= ~(SR_VB | SR_F);\r
}\r
\r
return ret;\r