cd: integrate new gfx code
[picodrive.git] / pico / state.c
index f9a7f83..a1ceac2 100644 (file)
@@ -175,6 +175,7 @@ typedef enum {
   CHUNK_32X_LAST = CHUNK_32X_EVT,\r
   // add new stuff here\r
   CHUNK_CD_EVT = 50,\r
+  CHUNK_CD_GFX,\r
   //\r
   CHUNK_DEFAULT_COUNT,\r
   CHUNK_CARTHW_ = CHUNK_CARTHW,  // 64 (defined in PicoInt)\r
@@ -258,6 +259,7 @@ static int state_save(void *file)
   unsigned char buff[0x60], buff_z80[Z80_STATE_SIZE];\r
   void *ym2612_regs = YM2612GetRegs();\r
   int ver = 0x0170; // not really used..\r
+  int len;\r
 \r
   areaWrite("PicoSEXT", 1, 8, file);\r
   areaWrite(&ver, 1, 4, file);\r
@@ -305,11 +307,12 @@ static int state_save(void *file)
     CHECKED_WRITE_BUFF(CHUNK_CDD,      Pico_mcd->cdd);\r
     CHECKED_WRITE_BUFF(CHUNK_CDC,      Pico_mcd->cdc);\r
     CHECKED_WRITE_BUFF(CHUNK_SCD,      Pico_mcd->scd);\r
-    CHECKED_WRITE_BUFF(CHUNK_RC,       Pico_mcd->rot_comp);\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_EVT, 0x40, buff);\r
+    len = gfx_context_save(buff);\r
+    CHECKED_WRITE(CHUNK_CD_GFX, len, buff);\r
 \r
     if (Pico_mcd->s68k_regs[3] & 4) // convert back\r
       wram_2M_to_1M(Pico_mcd->word_ram2M);\r
@@ -464,7 +467,6 @@ static int state_load(void *file)
       case CHUNK_CDD:      CHECKED_READ_BUFF(Pico_mcd->cdd); break;\r
       case CHUNK_CDC:      CHECKED_READ_BUFF(Pico_mcd->cdc); break;\r
       case CHUNK_SCD:      CHECKED_READ_BUFF(Pico_mcd->scd); break;\r
-      case CHUNK_RC:       CHECKED_READ_BUFF(Pico_mcd->rot_comp); break;\r
       case CHUNK_MISC_CD:  CHECKED_READ_BUFF(Pico_mcd->m); break;\r
 \r
       case CHUNK_CD_EVT:\r
@@ -472,6 +474,11 @@ static int state_load(void *file)
         memcpy(pcd_event_times, buff, sizeof(pcd_event_times));\r
         break;\r
 \r
+      case CHUNK_CD_GFX:\r
+        CHECKED_READ2(0x18, buff);\r
+        gfx_context_load(buff);\r
+        break;\r
+\r
       // 32x stuff\r
 #ifndef NO_32X\r
       case CHUNK_MSH2:\r