summaryrefslogtreecommitdiff
path: root/genesis.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-06-07 23:06:14 -0700
committerMichael Pavone <pavone@retrodev.com>2017-06-07 23:06:14 -0700
commitfe57a3c58febaad9c9469fcf7e63073c43a35d29 (patch)
tree5b292cb38c57f49bbb68dc4bb2101782326b9f97 /genesis.c
parenta051322e49249d9a2a276346d4b3bd76968c5117 (diff)
Initial work to support parallel NOR flash and the Magistr 16
Diffstat (limited to 'genesis.c')
-rw-r--r--genesis.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/genesis.c b/genesis.c
index ebc01bd..391cbd6 100644
--- a/genesis.c
+++ b/genesis.c
@@ -967,12 +967,12 @@ static void persist_save(system_header *system)
}
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 @@ static void load_save(system_header *system)
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 @@ genesis_context *alloc_init_genesis(rom_info *rom, void *main_rom, void *lock_on
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;