mcd, fix 32x regression
authorkub <derkub@gmail.com>
Sat, 29 Mar 2025 17:06:28 +0000 (17:06 +0000)
committerkub <derkub@gmail.com>
Sat, 29 Mar 2025 17:06:46 +0000 (17:06 +0000)
pico/cd/gfx.c
pico/media.c

index 4df1c34..5033882 100644 (file)
@@ -148,6 +148,7 @@ int gfx_context_save(uint8 *state)
   save_param(&tmp32, 4);
 
   save_param(&gfx.y_step, sizeof(gfx.y_step));
+  save_param(&gfx.stampMask, sizeof(gfx.stampMask));
 
   return bufferptr;
 }
@@ -172,6 +173,7 @@ int gfx_context_load(const uint8 *state)
   gfx.mapPtr = (uint16 *)(Pico_mcd->word_ram2M + tmp32);
 
   load_param(&gfx.y_step, sizeof(gfx.y_step));
+  load_param(&gfx.stampMask, sizeof(gfx.stampMask));
 
   return bufferptr;
 }
index e0c25b2..ff7a338 100644 (file)
@@ -412,6 +412,12 @@ enum media_type_e PicoLoadMedia(const char *filename,
       lprintf("detected SMS ROM\n");
   }
 
+  if (PicoCartInsert(rom_data, rom_size, carthw_cfg_fname)) {
+    media_type = PM_ERROR;
+    goto out;
+  }
+  rom_data = NULL; // now belongs to PicoCart
+
   // insert CD if it was detected
   Pico.m.ncart_in = 0;
   if (cd_img_type != CT_UNKNOWN) {
@@ -425,12 +431,6 @@ enum media_type_e PicoLoadMedia(const char *filename,
       Pico.m.ncart_in = 1;
   }
 
-  if (PicoCartInsert(rom_data, rom_size, carthw_cfg_fname)) {
-    media_type = PM_ERROR;
-    goto out;
-  }
-  rom_data = NULL; // now belongs to PicoCart
-
   if (PicoIn.quirks & PQUIRK_FORCE_6BTN)
     PicoSetInputDevice(0, PICO_INPUT_PAD_6BTN);