Auto save with lr-mame2003
-
Hello everyone,
I just got my first Rpi3 and have been trying to install a Retropie config for my home made MAME cabinet (to replace an old PC that was kinda doing the job).
Most issue found their answer during the weekend, until this one: I can't figure out how to make auto save/load savestate with lr-mame2003... and it's getting pretty tiring :(
Setting autosave_interval, savestate_auto_save = "true" and savestate_auto_load = "false" won't do a thing (save file isn't created in the folder). The only way I manage to get a save is by going in the Retroarch options (F1 ingame) and tweak those options here (the file sf2.state.auto -for instance- gets created then).
Also, when I load the game, a message prompts saying the auto save has been loaded with success, the state is shown for a fraction of a second, then it goes back to the start of the ROM (like if ROM start discarded the just-loaded state).
Did anyone encounter similar issues ? or hints to try fixing it ? (or even a proper way to debug maybe)
Thanks !
-
@Fab firstly, not all mame2003 games support save states, so if you can't save/load in game (using select+R to save, select+L to load), then the auto-save is not going to work. can you give an example of a game that save states work on, but auto-saves do not? and also your entire .cfg file that you've made changes to? thanks!
-
Hey Dank :)
I tried with SF2, save & load works properly (through Retroarch UI and F2/F4).
- SRM files are created and the game loads the state properly
- note: the ".auto" file is also created when I start playing in the GUI, but is not updated every X seconds after even if I put autosave timer.
- If a ".auto" is in the folder, it gets loaded for a fraction of a second (with the message "load succeeded"), but the ROM goes back to the start almost instantly.
Here is my cfg. Note: I've tried a bunch of combination (autosave on/off, SRAM overwrite on/off, etc...) to no avail
input_bind_timeout = "5" input_turbo_period = "6" input_duty_cycle = "3" input_max_users = "5" input_menu_toggle_gamepad_combo = "0" input_axis_threshold = "0.500000" ui_companion_start_on_boot = "true" ui_companion_enable = "false" video_gpu_record = "false" input_remap_binds_enable = "true" back_as_menu_toggle_enable = "true" netplay_client_swap_input = "true" input_descriptor_label_show = "true" input_descriptor_hide_unbound = "false" load_dummy_on_core_shutdown = "false" builtin_mediaplayer_enable = "false" builtin_imageviewer_enable = "true" fps_show = "false" ui_menubar_enable = "true" suspend_screensaver_enable = "true" libretro_directory = "~/.config/retroarch/cores" libretro_info_path = "~/.config/retroarch/cores" content_database_path = "~/.config/retroarch/database/rdb" cheat_database_path = "~/.config/retroarch/cheats" menu_wallpaper_opacity = "0.300000" menu_footer_opacity = "1.000000" menu_header_opacity = "1.000000" cursor_directory = "~/.config/retroarch/database/cursors" rewind_enable = "false" audio_latency = "64" audio_sync = "true" audio_block_frames = "0" rewind_granularity = "1" video_shader_enable = "false" video_aspect_ratio = "-1.000000" video_aspect_ratio_auto = "false" video_windowed_fullscreen = "true" video_scale = "3.000000" autosave_interval = "5" video_crop_overscan = "true" video_scale_integer = "false" video_smooth = "false" video_threaded = "false" video_shared_context = "false" video_force_srgb_disable = "false" video_fullscreen = "false" bundle_assets_extract_enable = "false" bundle_assets_extract_version_current = "0" bundle_assets_extract_last_version = "0" video_refresh_rate = "60.000000" video_monitor_index = "0" video_fullscreen_x = "0" video_fullscreen_y = "0" video_driver = "gl" record_driver = "null" camera_driver = "null" location_driver = "null" threaded_data_runloop_enable = "true" menu_throttle_framerate = "true" menu_linear_filter = "true" dpi_override_enable = "true" dpi_override_value = "200" menu_driver = "rgui" menu_pause_libretro = "true" menu_mouse_enable = "false" menu_pointer_enable = "false" menu_timedate_enable = "true" menu_core_enable = "true" menu_dynamic_wallpaper_enable = "false" menu_thumbnails = "3" video_vsync = "true" video_max_swapchain_images = "3" video_hard_sync = "false" video_hard_sync_frames = "0" video_frame_delay = "0" video_black_frame_insertion = "false" video_disable_composition = "false" pause_nonactive = "true" video_swap_interval = "1" video_gpu_screenshot = "true" video_rotation = "0" screenshot_directory = "~/.config/retroarch/screenshots" auto_screenshot_filename = "true" aspect_ratio_index = "21" core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/" core_updater_auto_extract_archive = "true" camera_allow = "false" cheevos_enable = "false" cheevos_test_unofficial = "false" cheevos_hardcore_mode_enable = "false" audio_rate_control = "true" audio_rate_control_delta = "0.005000" audio_max_timing_skew = "0.050000" audio_volume = "0.000000" audio_driver = "alsathread" audio_enable = "true" audio_mute_enable = "false" audio_out_rate = "48000" location_allow = "false" video_font_size = "24.000000" video_font_enable = "true" video_message_color = "ffff00" ups_pref = "false" bps_pref = "false" ips_pref = "false" system_directory = "default" input_remapping_directory = "~/.config/retroarch/config/remaps" video_shader_dir = "~/.config/retroarch/shaders" video_filter_dir = "default" core_assets_directory = "~/.config/retroarch/downloads" assets_directory = "~/.config/retroarch/assets" dynamic_wallpapers_directory = "default" thumbnails_directory = "~/.config/retroarch/thumbnails" playlist_directory = "~/.config/retroarch/playlists" rgui_browser_directory = "default" rgui_config_directory = "~/.config/retroarch/config" joypad_autoconfig_dir = "~/.config/retroarch/autoconfig" overlay_directory = "~/.config/retroarch/overlay" audio_filter_dir = "default" audio_resampler = "sinc" xmb_scale_factor = "100" xmb_alpha_factor = "75" xmb_theme = "0" xmb_menu_color_theme = "4" materialui_menu_color_theme = "0" xmb_shadows_enable = "true" menu_shader_pipeline = "1" rgui_show_start_screen = "false" menu_navigation_wraparound_enable = "true" menu_navigation_browser_filter_supported_extensions_enable = "true" menu_show_advanced_settings = "true" menu_entry_normal_color = "ffffffff" menu_entry_hover_color = "ff64ff64" menu_title_color = "ff64ff64" content_history_size = "100" input_autodetect_enable = "true" input_overlay_enable = "true" input_overlay_enable_autopreferred = "true" input_overlay_hide_in_menu = "true" input_overlay_opacity = "0.700000" input_overlay_scale = "1.000000" osk_overlay_directory = "~/.config/retroarch/overlay" input_osk_overlay_enable = "true" video_message_pos_x = "0.050000" video_message_pos_y = "0.050000" custom_viewport_width = "1440" custom_viewport_height = "1080" custom_viewport_x = "240" custom_viewport_y = "0" gamma_correction = "false" flicker_filter_enable = "false" soft_filter_enable = "false" soft_filter_index = "0" current_resolution_id = "0" flicker_filter_index = "0" video_font_size = "32.000000" block_sram_overwrite = "false" savestate_auto_index = "false" savestate_auto_save = "true" savestate_auto_load = "true" history_list_enable = "true" network_cmd_enable = "false" stdin_cmd_enable = "false" network_cmd_port = "55355" fastforward_ratio = "0.000000" slowmotion_ratio = "3.000000" config_save_on_exit = "true" state_slot = "0" netplay_spectator_mode_enable = "false" netplay_mode = "false" netplay_ip_port = "0" netplay_delay_frames = "0" user_language = "0" custom_bgm_enable = "false" input_driver = "udev" input_joypad_driver = "udev" input_device_p1 = "0" input_player1_joypad_index = "0" input_libretro_device_p1 = "1" input_player1_analog_dpad_mode = "0" input_device_p2 = "0" input_player2_joypad_index = "1" input_libretro_device_p2 = "1" input_player2_analog_dpad_mode = "0" input_device_p3 = "0" input_player3_joypad_index = "2" input_libretro_device_p3 = "1" input_player3_analog_dpad_mode = "0" input_device_p4 = "0" input_player4_joypad_index = "3" input_libretro_device_p4 = "1" input_player4_analog_dpad_mode = "0" input_device_p5 = "0" input_player5_joypad_index = "4" input_libretro_device_p5 = "1" input_player5_analog_dpad_mode = "0" input_device_p6 = "0" input_player6_joypad_index = "5" input_libretro_device_p6 = "1" input_player6_analog_dpad_mode = "0" input_device_p7 = "0" input_player7_joypad_index = "6" input_libretro_device_p7 = "1" input_player7_analog_dpad_mode = "0" input_device_p8 = "0" input_player8_joypad_index = "7" input_libretro_device_p8 = "1" input_player8_analog_dpad_mode = "0" input_device_p9 = "0" input_player9_joypad_index = "8" input_libretro_device_p9 = "1" input_player9_analog_dpad_mode = "0" input_device_p10 = "0" input_player10_joypad_index = "9" input_libretro_device_p10 = "1" input_player10_analog_dpad_mode = "0" input_device_p11 = "0" input_player11_joypad_index = "10" input_libretro_device_p11 = "1" input_player11_analog_dpad_mode = "0" input_device_p12 = "0" input_player12_joypad_index = "11" input_libretro_device_p12 = "1" input_player12_analog_dpad_mode = "0" input_device_p13 = "0" input_player13_joypad_index = "12" input_libretro_device_p13 = "1" input_player13_analog_dpad_mode = "0" input_device_p14 = "0" input_player14_joypad_index = "13" input_libretro_device_p14 = "1" input_player14_analog_dpad_mode = "0" input_device_p15 = "0" input_player15_joypad_index = "14" input_libretro_device_p15 = "1" input_player15_analog_dpad_mode = "0" input_device_p16 = "0" input_player16_joypad_index = "15" input_libretro_device_p16 = "1" input_player16_analog_dpad_mode = "0" network_remote_enable_user_p1 = "false" network_remote_enable_user_p2 = "false" network_remote_enable_user_p3 = "false" network_remote_enable_user_p4 = "false" network_remote_enable_user_p5 = "false" network_remote_enable_user_p6 = "false" network_remote_enable_user_p7 = "false" network_remote_enable_user_p8 = "false" network_remote_enable_user_p9 = "false" network_remote_enable_user_p10 = "false" network_remote_enable_user_p11 = "false" network_remote_enable_user_p12 = "false" network_remote_enable_user_p13 = "false" network_remote_enable_user_p14 = "false" network_remote_enable_user_p15 = "false" network_remote_enable_user_p16 = "false" network_remote_enable = "false" network_remote_base_port = "55400" input_player1_a = "ctrl" input_player1_b = "alt" input_player1_y = "nul" input_player1_x = "space" input_player1_start = "num1" input_player1_select = "num5" input_player1_l = "z" input_player1_r = "x" input_player1_left = "left" input_player1_right = "right" input_player1_up = "up" input_player1_down = "down" input_player1_turbo = "nul" input_player1_turbo_btn = "nul" input_player1_turbo_axis = "nul" input_toggle_fast_forward = "nul" input_toggle_fast_forward_btn = "nul" input_toggle_fast_forward_axis = "nul" input_hold_fast_forward = "l" input_hold_fast_forward_btn = "nul" input_hold_fast_forward_axis = "nul" input_load_state = "f4" input_load_state_btn = "nul" input_load_state_axis = "nul" input_save_state = "f2" input_save_state_btn = "nul" input_save_state_axis = "nul" input_toggle_fullscreen = "nul" input_toggle_fullscreen_btn = "nul" input_toggle_fullscreen_axis = "nul" input_exit_emulator = "escape" input_exit_emulator_btn = "nul" input_exit_emulator_axis = "nul" input_state_slot_increase = "f7" input_state_slot_increase_btn = "nul" input_state_slot_increase_axis = "nul" input_state_slot_decrease = "f6" input_state_slot_decrease_btn = "nul" input_state_slot_decrease_axis = "nul" input_rewind = "nul" input_rewind_btn = "nul" input_rewind_axis = "nul" input_movie_record_toggle = "o" input_movie_record_toggle_btn = "nul" input_movie_record_toggle_axis = "nul" input_pause_toggle = "p" input_pause_toggle_btn = "nul" input_pause_toggle_axis = "nul" input_frame_advance = "nul" input_frame_advance_btn = "nul" input_frame_advance_axis = "nul" input_reset = "h" input_reset_btn = "nul" input_reset_axis = "nul" input_shader_next = "m" input_shader_next_btn = "nul" input_shader_next_axis = "nul" input_shader_prev = "n" input_shader_prev_btn = "nul" input_shader_prev_axis = "nul" input_cheat_index_plus = "y" input_cheat_index_plus_btn = "nul" input_cheat_index_plus_axis = "nul" input_cheat_index_minus = "t" input_cheat_index_minus_btn = "nul" input_cheat_index_minus_axis = "nul" input_cheat_toggle = "u" input_cheat_toggle_btn = "nul" input_cheat_toggle_axis = "nul" input_screenshot = "f8" input_screenshot_btn = "nul" input_screenshot_axis = "nul" input_audio_mute = "f9" input_audio_mute_btn = "nul" input_audio_mute_axis = "nul" input_osk_toggle = "f12" input_osk_toggle_btn = "nul" input_osk_toggle_axis = "nul" input_netplay_flip_players = "nul" input_netplay_flip_players_btn = "nul" input_netplay_flip_players_axis = "nul" input_slowmotion = "e" input_slowmotion_btn = "nul" input_slowmotion_axis = "nul" input_enable_hotkey = "nul" input_enable_hotkey_btn = "nul" input_enable_hotkey_axis = "nul" input_volume_up = "add" input_volume_up_btn = "nul" input_volume_up_axis = "nul" input_volume_down = "subtract" input_volume_down_btn = "nul" input_volume_down_axis = "nul" input_overlay_next = "nul" input_overlay_next_btn = "nul" input_overlay_next_axis = "nul" input_disk_eject_toggle = "nul" input_disk_eject_toggle_btn = "nul" input_disk_eject_toggle_axis = "nul" input_disk_next = "nul" input_disk_next_btn = "nul" input_disk_next_axis = "nul" input_disk_prev = "nul" input_disk_prev_btn = "nul" input_disk_prev_axis = "nul" input_grab_mouse_toggle = "f11" input_grab_mouse_toggle_btn = "nul" input_grab_mouse_toggle_axis = "nul" input_menu_toggle = "f1" input_menu_toggle_btn = "nul" input_menu_toggle_axis = "nul" input_player2_a = "a" input_player2_b = "s" input_player2_y = "q" input_player2_x = "w" input_player2_start = "nul" input_player2_select = "nul" input_player2_l = "i" input_player2_r = "k" input_player2_left = "d" input_player2_right = "g" input_player2_up = "r" input_player2_down = "f" input_player2_turbo = "nul" input_player2_turbo_btn = "nul" input_player2_turbo_axis = "nul" #truncated core_specific_config = "false" game_specific_options = "false" auto_overrides_enable = "true" auto_remaps_enable = "true" sort_savefiles_enable = "false" sort_savestates_enable = "false" libretro_log_level = "0" log_verbosity = "false" perfcnt_enable = "false" keyboard_gamepad_enable = "true" keyboard_gamepad_mapping_type = "1" input_poll_type_behavior = "2" core_set_supports_no_game_enable = "true" menu_ok_btn = "8" menu_cancel_btn = "0" menu_search_btn = "9" menu_info_btn = "2" menu_default_btn = "3" menu_scroll_down_btn = "11" menu_scroll_up_btn = "10" content_history_path = "/opt/retropie/configs/mame-libretro/content_history.lpl" input_player1_b_btn = "nul" input_player1_b_axis = "nul" input_player1_y_btn = "nul" input_player1_y_axis = "nul" input_player1_select_btn = "nul" input_player1_select_axis = "nul" input_player1_start_btn = "nul" input_player1_start_axis = "nul" input_player1_up_btn = "nul" input_player1_up_axis = "nul" input_player1_down_btn = "nul" input_player1_down_axis = "nul" input_player1_left_btn = "nul" input_player1_left_axis = "nul" input_player1_right_btn = "nul" input_player1_right_axis = "nul" input_player1_a_btn = "nul" input_player1_a_axis = "nul" input_player1_x_btn = "nul" input_player1_x_axis = "nul" input_player1_l_btn = "nul" input_player1_l_axis = "nul" input_player1_r_btn = "nul" input_player1_r_axis = "nul" input_player1_l2 = "nul" input_player1_l2_btn = "nul" input_player1_l2_axis = "nul" input_player1_r2 = "nul" input_player1_r2_btn = "nul" input_player1_r2_axis = "nul" input_player1_l3 = "nul" input_player1_l3_btn = "nul" input_player1_l3_axis = "nul" input_player1_r3 = "nul" input_player1_r3_btn = "nul" input_player1_r3_axis = "nul" input_player1_l_x_plus = "nul" input_player1_l_x_plus_btn = "nul" input_player1_l_x_plus_axis = "nul" input_player1_l_x_minus = "nul" input_player1_l_x_minus_btn = "nul" input_player1_l_x_minus_axis = "nul" input_player1_l_y_plus = "nul" input_player1_l_y_plus_btn = "nul" input_player1_l_y_plus_axis = "nul" input_player1_l_y_minus = "nul" input_player1_l_y_minus_btn = "nul" input_player1_l_y_minus_axis = "nul" input_player1_r_x_plus = "nul" input_player1_r_x_plus_btn = "nul" input_player1_r_x_plus_axis = "nul" input_player1_r_x_minus = "nul" input_player1_r_x_minus_btn = "nul" input_player1_r_x_minus_axis = "nul" input_player1_r_y_plus = "nul" input_player1_r_y_plus_btn = "nul" input_player1_r_y_plus_axis = "nul" input_player1_r_y_minus = "nul" input_player1_r_y_minus_btn = "nul" input_player1_r_y_minus_axis = "nul" input_player2_b_btn = "nul" input_player2_b_axis = "nul" input_player2_y_btn = "nul" input_player2_y_axis = "nul" input_player2_select_btn = "nul" input_player2_select_axis = "nul" input_player2_start_btn = "nul" input_player2_start_axis = "nul" input_player2_up_btn = "nul" input_player2_up_axis = "nul" input_player2_down_btn = "nul" input_player2_down_axis = "nul" input_player2_left_btn = "nul" input_player2_left_axis = "nul" input_player2_right_btn = "nul" input_player2_right_axis = "nul" input_player2_a_btn = "nul" input_player2_a_axis = "nul" input_player2_x_btn = "nul" input_player2_x_axis = "nul" input_player2_l_btn = "nul" input_player2_l_axis = "nul" input_player2_r_btn = "nul" input_player2_r_axis = "nul" input_player2_l2 = "nul" input_player2_l2_btn = "nul" input_player2_l2_axis = "nul" input_player2_r2 = "nul" input_player2_r2_btn = "nul" input_player2_r2_axis = "nul" input_player2_l3 = "nul" input_player2_l3_btn = "nul" input_player2_l3_axis = "nul" input_player2_r3 = "nul" input_player2_r3_btn = "nul" input_player2_r3_axis = "nul" input_player2_l_x_plus = "nul" input_player2_l_x_plus_btn = "nul" input_player2_l_x_plus_axis = "nul" input_player2_l_x_minus = "nul" input_player2_l_x_minus_btn = "nul" input_player2_l_x_minus_axis = "nul" input_player2_l_y_plus = "nul" input_player2_l_y_plus_btn = "nul" input_player2_l_y_plus_axis = "nul" input_player2_l_y_minus = "nul" input_player2_l_y_minus_btn = "nul" input_player2_l_y_minus_axis = "nul" input_player2_r_x_plus = "nul" input_player2_r_x_plus_btn = "nul" input_player2_r_x_plus_axis = "nul" input_player2_r_x_minus = "nul" input_player2_r_x_minus_btn = "nul" input_player2_r_x_minus_axis = "nul" input_player2_r_y_plus = "nul" input_player2_r_y_plus_btn = "nul" input_player2_r_y_plus_axis = "nul" input_player2_r_y_minus = "nul" input_player2_r_y_minus_btn = "nul" input_player2_r_y_minus_axis = "nul" savefile_directory = "default" savestate_directory = "default" recording_output_directory = "" recording_config_directory = "" core_options_path = "" video_shader = "" bundle_assets_src_path = "" bundle_assets_dst_path = "" bundle_assets_dst_path_subdir = "" menu_wallpaper = "" video_filter = "" audio_dsp_plugin = "" input_overlay = "" input_osk_overlay = "" video_font_path = "" content_history_dir = "" playlist_names = "" playlist_cores = "" audio_device = "" core_updater_buildbot_url = "" camera_device = "" cheevos_username = "" cheevos_password = "" video_context_driver = "" cache_directory = "" resampler_directory = "" xmb_font = "" netplay_ip_address = "" netplay_nickname = "" input_keyboard_layout = ""
Thanks !
-
Hey @dankcushions , does any of this info help ? :)
-
@Fab perfect, thanks! i have added it to my 'to-do' list
-
Ah ! Do you mean it's a feature not yet implemented ? Btw i have the latest version of retropie :)
-
@Fab i mean i haven't tested your scenario. auto-save/load is supported in retroarch, in theory.
-
@dankcushions For info, I just installed Recalbox and tried doing the same with Bubble Bobble (using the autosave/autoload config), and in this caase it just won't load anything.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.