diff genesis.c @ 2335:c05b7c5e6f11

Automatically format Sega CD backup RAM
author Michael Pavone <pavone@retrodev.com>
date Sat, 26 Aug 2023 20:32:53 -0700
parents 9dd27530c570
children 83f5529086c5
line wrap: on
line diff
--- a/genesis.c	Sat Aug 26 19:59:44 2023 -0700
+++ b/genesis.c	Sat Aug 26 20:32:53 2023 -0700
@@ -1607,16 +1607,18 @@
 			if (read > 0) {
 				printf("Loaded internal BRAM from %s\n", bram_name);
 			}
+		} else {
+			segacd_format_bram(cd->bram, 8 * 1024);
 		}
 		free(bram_name);
 		bram_name = path_append(system->save_dir, "cart.bram");
 		f = fopen(bram_name, "rb");
+		long configured_size = 0x2000 << cd->bram_cart_id;
 		if (f) {
 			long existing_size = nearest_pow2(file_size(f));
 			if (existing_size > 1 * 1024 * 1024) {
 				existing_size = 1 * 1024 * 1024;
 			}
-			long configured_size = 0x2000 << cd->bram_cart_id;
 			if (existing_size != configured_size) {
 				if (existing_size > configured_size) {
 					free(cd->bram_cart);
@@ -1632,6 +1634,8 @@
 			if (read > 0) {
 				printf("Loaded BRAM cart from %s\n", bram_name);
 			}
+		} else {
+			segacd_format_bram(cd->bram_cart, configured_size);
 		}
 		free(bram_name);
 	}