diff options
Diffstat (limited to 'src/emu/machine.cpp')
| -rw-r--r-- | src/emu/machine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 669f5fa27a5..fd321949327 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -1160,8 +1160,17 @@ void running_machine::nvram_save() emu_file file(options().nvram_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); if (!file.open(nvram_filename(nvram.device()))) { + bool error = false; + if (!nvram.nvram_save(file)) + { + error = true; osd_printf_error("Error writing NVRAM file %s\n", file.filename()); + } + + // close and perhaps delete the file + if (error || file.size() == 0) + file.remove_on_close(); file.close(); } } |
