diff genesis.c @ 1395:efa7225e0f07

Initial work to support parallel NOR flash and the Magistr 16
author Michael Pavone <pavone@retrodev.com>
date Wed, 07 Jun 2017 23:06:14 -0700
parents e587f16e7d3d
children b56c8c51ca5d
line wrap: on
line diff
--- a/genesis.c	Mon Jun 05 23:03:46 2017 -0700
+++ b/genesis.c	Wed Jun 07 23:06:14 2017 -0700
@@ -967,12 +967,12 @@
 	}
 	FILE * f = fopen(save_filename, "wb");
 	if (!f) {
-		fprintf(stderr, "Failed to open %s file %s for writing\n", gen->save_type == SAVE_I2C ? "EEPROM" : "SRAM", save_filename);
+		fprintf(stderr, "Failed to open %s file %s for writing\n", save_type_name(gen->save_type), save_filename);
 		return;
 	}
 	fwrite(gen->save_storage, 1, gen->save_size, f);
 	fclose(f);
-	printf("Saved %s to %s\n", gen->save_type == SAVE_I2C ? "EEPROM" : "SRAM", save_filename);
+	printf("Saved %s to %s\n", save_type_name(gen->save_type), save_filename);
 }
 
 static void load_save(system_header *system)
@@ -983,7 +983,7 @@
 		uint32_t read = fread(gen->save_storage, 1, gen->save_size, f);
 		fclose(f);
 		if (read > 0) {
-			printf("Loaded %s from %s\n", gen->save_type == SAVE_I2C ? "EEPROM" : "SRAM", save_filename);
+			printf("Loaded %s from %s\n", save_type_name(gen->save_type), save_filename);
 		}
 	}
 }
@@ -1115,6 +1115,8 @@
 		gen->num_eeprom = rom->num_eeprom;
 		if (gen->save_type == SAVE_I2C) {
 			eeprom_init(&gen->eeprom, gen->save_storage, gen->save_size);
+		} else if (gen->save_type == SAVE_NOR) {
+			nor_flash_init(&gen->nor, gen->save_storage, gen->save_size, rom->save_page_size, rom->save_product_id, rom->save_bus);
 		}
 	} else {
 		gen->save_storage = NULL;