# HG changeset patch # User Michael Pavone # Date 1673682166 28800 # Node ID 5d3411f52d006d7f26574dbf63a03dcf7b6171ce # Parent dec3287c9394cc3266030d572e07934e7ef1bc31 Fix ui.reload for locked-on ROMs diff -r dec3287c9394 -r 5d3411f52d00 bindings.c --- a/bindings.c Fri Jan 13 19:19:40 2023 -0800 +++ b/bindings.c Fri Jan 13 23:42:46 2023 -0800 @@ -386,7 +386,20 @@ break; case UI_RELOAD: if (allow_content_binds) { - reload_media(); + system_media *lock = current_media()->chain; + if (lock) { + const char* parts[] = {lock->dir, PATH_SEP, lock->name, ".", lock->extension}; + char const **start = parts[0] ? parts : parts + 2; + int num_parts = parts[0] ? 5 : 3; + if (!parts[4]) { + num_parts -= 2; + } + char *path = alloc_concat_m(num_parts, start); + lockon_media(path); + free(path); + } else { + reload_media(); + } } break; case UI_SMS_PAUSE: diff -r dec3287c9394 -r 5d3411f52d00 blastem.c --- a/blastem.c Fri Jan 13 19:19:40 2023 -0800 +++ b/blastem.c Fri Jan 13 23:42:46 2023 -0800 @@ -427,7 +427,7 @@ char const **start = parts[0] ? parts : parts + 2; int num_parts = parts[0] ? 5 : 3; if (!parts[4]) { - num_parts--; + num_parts -= 2; } current_system->next_rom = alloc_concat_m(num_parts, start); system_request_exit(current_system, 1); diff -r dec3287c9394 -r 5d3411f52d00 genesis.c --- a/genesis.c Fri Jan 13 19:19:40 2023 -0800 +++ b/genesis.c Fri Jan 13 23:42:46 2023 -0800 @@ -2103,6 +2103,7 @@ gen->save_ram_mask = info.save_mask; gen->save_size = info.save_size; gen->save_storage = info.save_buffer; + gen->header.info.save_buffer = info.save_buffer = NULL; gen->eeprom_map = info.eeprom_map; gen->num_eeprom = info.num_eeprom; if (gen->save_type == SAVE_I2C) {