comparison blastem.c @ 2027:0f54a898db03

Implement Heartbeat Personal Trainer peripheral and add ROM DB entry for Outback Joey
author Michael Pavone <pavone@retrodev.com>
date Mon, 15 Feb 2021 11:24:06 -0800
parents 81df9aa2de9b
children 638eb2d25696 3414a4423de1
comparison
equal deleted inserted replaced
2026:aa338eb0eded 2027:0f54a898db03
279 warning("Failed to create save directory %s\n", save_dir); 279 warning("Failed to create save directory %s\n", save_dir);
280 } 280 }
281 return save_dir; 281 return save_dir;
282 } 282 }
283 283
284 const char *get_save_fname(uint8_t save_type)
285 {
286 switch(save_type)
287 {
288 case SAVE_I2C: return "save.eeprom";
289 case SAVE_NOR: return "save.nor";
290 case SAVE_HBPT: return "save.hbpt";
291 default: return "save.sram";
292 }
293 }
294
284 void setup_saves(system_media *media, system_header *context) 295 void setup_saves(system_media *media, system_header *context)
285 { 296 {
286 static uint8_t persist_save_registered; 297 static uint8_t persist_save_registered;
287 rom_info *info = &context->info; 298 rom_info *info = &context->info;
288 char *save_dir = get_save_dir(info->is_save_lock_on ? media->chain : media); 299 char *save_dir = get_save_dir(info->is_save_lock_on ? media->chain : media);
289 char const *parts[] = {save_dir, PATH_SEP, info->save_type == SAVE_I2C ? "save.eeprom" : info->save_type == SAVE_NOR ? "save.nor" : "save.sram"}; 300 char const *parts[] = {save_dir, PATH_SEP, get_save_fname(info->save_type)};
290 free(save_filename); 301 free(save_filename);
291 save_filename = alloc_concat_m(3, parts); 302 save_filename = alloc_concat_m(3, parts);
292 if (info->is_save_lock_on) { 303 if (info->is_save_lock_on) {
293 //initial save dir was calculated based on lock-on cartridge because that's where the save device is 304 //initial save dir was calculated based on lock-on cartridge because that's where the save device is
294 //save directory used for save states should still be located in the normal place 305 //save directory used for save states should still be located in the normal place