Skip to content

GUI: Savestates

Dimitris Panokostas edited this page Jan 12, 2025 · 6 revisions

PanelSavestates

In this panel, you can create new Save States or load existing ones that you have previously saved, and you are able to delete an existing Save State (including its associated screenshot).

Save States capture the entire emulation state when you create them and save the information to disk in the form of a .uss file. A screenshot is also included, to help you determine what the saved state was about. The filename for the save states is based on the currently loaded .uae config or Amiga image file, and the associated .uss files are all saved under the configured Savestates path.

There are a total of 15 available Save State 'slots' ~ each 'slot' can contain any number of save state .uss files, provided they are of a different name. **Note: ** If you choose to save the current state, and a .uss file of the same name exists in the selected 'slot', it will be replaced with the newer .uss file being saved.

  • Keep in mind that Slot 0 is a special case ~ it will always be used for 'Quick' Save State loading/saving with Custom controls (see below).

**Note: ** The handling of Save States, and the GUI Savestates panel itself, have changed in versions of Amiberry released from 2025 onwards. The details below apply to the newer Amiberry versions, however where applicable, notes pertaining to older Amiberry releases are also included.

Usage Limitations:

Although Save States were originally designed for use with floppy disk images, they also tend to work correctly when using WHDLoad .lha archives, and with many (but not all) HDD type setups. However, the following cases of emulation are known to cause issues with Save States and/or may not work as expected.

  • Save States may not work as expected in the case of emulating CD32/CDTV Amiga models, or when using CD/DVD drive emulation.
  • Save States are known to be problematic when JIT is enabled ~ a 'Warning' dialog is presented, if you try to save the current state with the JIT option enabled.

Save States may be problematic or not work as expected when the following emulation options are used:

  • uaescsi.device
  • uaeserial.device
  • bsdsocket.library
  • mounted HDD devices (physical harddrive devices)
  • PPC or RTG (P96) emulation options are enabled

A 'Warning' dialog is presented in these cases, if you try to save the current state with any of these options enabled.

  • The Amiga files used to create any Save State, must remain in the same location on the Host filesystem

Note: The above guidelines apply to all Amiberry versions, however the warning dialogs may not be present in older Amiberry releases.


General Usage:

To manage and use Save State files, the following methods are available in the Savestates panel:

  • Load from Slot ~ will load the saved emulation state, from the selected slot
  • Save to Slot ~ will save the current emulation state, to the selected slot -- the filename will be automatically generated
  • Delete Slot ~ will delete the saved state (and associated screenshot), in the currently selected slot
  • Load state... ~ will open a window dialog, and you can select/load any previously saved state, to replace the current emulation state
  • Save state... ~ will open a window dialog, where you can type in the Filename for the Save State file (without the .uss extension). If you wish to save to a specific slot, you must append a -[slot#] to the Filename i.e. some-name will be saved in Slot0, some-name-1 will be saved in Slot1 etc.

Note: Older versions of Amiberry will only have Load State & Save State buttons available in this panel ~ these function the same as the Load from Slot/Save to Slot buttons detailed above.

Using a Game Controller:

If you have spare buttons on your game controller, you can assign Custom Control mappings to interact with Save States.

  • EnterGUI ~ will bring up the Amiberry GUI at any time during emulation, and you can select the Savestates panel (as above) to manage Save State files.
  • Quick save state ~ will Save the current emulation state to Slot 0 -- the slot number cannot be changed
  • Quick restore state ~ will Load the emulation state saved in Slot 0 -- the slot number cannot be changed
  • Save state ~ will open a dialog window to allow you to Save the current state -- see Save state... above
  • Restore state will open a dialog window to allow you to Load any previously saved state -- see Load state... above

**Note: ** The above mappings are not available in older versions of Amiberry. Instead, by holding down the Left-Shoulder button and pressing 'l' during emulation, the state of the last active slot will be loaded ~ holding down the Left-Shoulder button and pressing 's' during emulation, will save the current state in the last active slot.

Using the Keyboard:

The following built-in keyboard shortcuts can also be used to interact with Save States.

  • Shift + End + Keypad 0-9 ~ will Save the current emulation state to the selected Slot
  • End + Keypad 0-9 ~ will Load the saved state from the selected Slot
  • Shift + END + F6 ~ will open a dialog window to allow you to Save the current state -- see Save state... above
  • END + F6 ~ will open a dialog window to allow you to Load any previously saved state -- see Load state... above

Note: These keyboard shortcuts may not be available in older versions of Amiberry.

Commandline:

The following command example works in all versions of Amiberry;

  • amiberry --config /path/to/some-name.uae --statefile /path/to/some-name.uss -s use_gui=no

In newer Amiberry versions, the following command is equivalent (the Configurations & Savestates paths are automatically searched);

  • amiberry --config some-name.uae --statefile some-name.uss -G

**Note: ** The above examples are the only way to load/start a Save State file and have the emulation state honor the **Screen mode: ** setting contained in any associated .uae config file. (see below)

Direct loading and mime-type detection of save state .uss files, is provided by newer versions of Amiberry. This allows for desktop users, to create a Save State, and be able to double-click on the resultant *.uss file icon, to load and start any save state file. You can also use the commandline to direct load save state files, with the following commands;

  • amiberry some-name.uss ~ will search the Savestates path and load the named save state file (if found), and immediately start the emulation
  • amiberry --statefile some-name.uss ~ same as above, however the emulation is not started -- the Amiberry GUI is displayed after loading the save state file.

Additional Notes:

Screen mode.

A save state retains the current emulator machine state, however it does not preserve/restore the host Display mode...ie; the Windowed, Full-window and Fullscreen settings in the Display panel do not apply ~ the Save State will always start in Windowed mode. To work around this when direct loading save state files, you can:

  • manually edit the amiberry.conf file and set the default Fullscreen toggle key to a value of your choice. After loading/starting a save state file, you can use this key to easily switch between Windowed & Full-window mode.
  • assign the Custom Control mapping Toggle window/full-window to a spare button on your game controller to switch between these modes.

Using .uae config files.

You may also (optionally) have/use a config.uae file associated with a floppy disk image or whdload.lha file being used, to configure the emulation to your liking. A Save State retains most all emulation settings (caveat Screen modes mentioned above) used at the time of the Save State creation. When using a config.uae file associated with a whdload.lha title, the Save State will preserve any Custom/Global options, the whdload.lha title and whdload program itself supports.

  • In older versions of Amiberry, you can manually edit the associated config.uae file, to change any Custom/Global options available

  • In newer versions of Amiberry that include the WHDLoad panel, these changes can be made in the GUI, and saved to the associated config.uae file accordingly.

If you subsequently change any emulation settings in the config.uae, after a save state file has been created, those changes will not apply to the 'old' Save State(s) -- you must save any changes made to the config.uae file first, and re-run the emulation to create a 'new' Save State(s), for these changes to saved to the associated .uss file.

Clone this wiki locally