@@ -57,6 +57,7 @@ enum FileDialogID
5757 FileDialog_SaveBackground,
5858 FileDialog_SaveMemoryDumpBinary,
5959 FileDialog_SaveMemoryDumpText,
60+ FileDialog_LoadMemoryDumpBinary,
6061 FileDialog_SaveDisassemblerFull,
6162 FileDialog_SaveDisassemblerVisible,
6263 FileDialog_SaveLog,
@@ -258,6 +259,16 @@ void gui_file_dialog_save_memory_dump(bool binary)
258259 SDL_ShowSaveFileDialog (file_dialog_callback, (void *)(intptr_t )id, application_sdl_window, filters, 1 , NULL );
259260}
260261
262+ void gui_file_dialog_load_memory_dump ()
263+ {
264+ if (!begin_dialog ())
265+ return ;
266+
267+ SDL_DialogFileFilter filters[] = { { " Memory Dump Files" , " bin" } };
268+ const char * default_path = config_emulator.last_open_path .empty () ? NULL : config_emulator.last_open_path .c_str ();
269+ SDL_ShowOpenFileDialog (file_dialog_callback, (void *)(intptr_t )FileDialog_LoadMemoryDumpBinary, application_sdl_window, filters, 1 , default_path, false );
270+ }
271+
261272void gui_file_dialog_save_disassembler (bool full)
262273{
263274 if (!begin_dialog ())
@@ -474,6 +485,11 @@ static void process_dialog_result(FileDialogID id, const char* path)
474485 gui_debug_memory_save_dump (path, false );
475486 break ;
476487 }
488+ case FileDialog_LoadMemoryDumpBinary:
489+ {
490+ gui_debug_memory_load_dump (path);
491+ break ;
492+ }
477493 case FileDialog_SaveDisassemblerFull:
478494 {
479495 gui_debug_save_disassembler (path, true );
0 commit comments