Skip to content

v5.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Apr 13:05
· 2607 commits to master since this release
70ad1a9

πŸŽ‰ New Features

  • Added new custom events for Disk Swapper. Two new events were added, Insert Next / Previous disk swapper slot. These allow you to select the next/previous slot and also insert it into DF0: in one step.
  • Added default path for LHA archives (fixes #1234). This allows you to set a default path that will be used to load WHDLoad .lha files, for use with the WHDBooter.
  • added default Floppy, CD-ROM and Hard Drive paths
  • Added option to use "System Default" audio device (fixes #1241). This new checkbox in the GUI (Sound panel) will not choose a specific audio device, and instead tell SDL2 to pick the system default one. This helps with systems that may have sound devices that are not listed in the dropdown.
  • Added new WHDLoad panel in GUI. This panel exposes the options that the WHDBooter uses, and allows changes to the slave options before launching a title. The Custom Fields can also be customized from this area. All information is parsed from the same XML that Amiberry uses to match the WHDLoad titles.
  • Added new "Save Mapping" button in Custom Controls. This allows you to save the current mapping for the selected controller as the default, which will be automatically loaded on startup (if the controller is connected).
  • Detect WHDLoad, CD and floppy disk images as parameters in the command line. As a fall back, you can now pass the path to a supported image filename, and it will be loaded automatically. This makes it possible to set Amiberry as the default handler for such files (e.g. .lha, .adf, .adz, .ipf, .cue, .iso, etc.). WHDLoad and CD images trigger the autoloader, while floppy disk images will be loaded into DF0:
  • If a config file that matches the inserted disk image exists, it will be loaded
    automatically. Otherwise the default one will be used instead. This also makes it easy
    to save a config after you've loaded a disk image, since the panel will be populated
    with the right name already.
  • Added support for custom font colors in the GUI theme

πŸ› Bugfixes

  • catch GUI exceptions properly. Previously if a GUI exception occurred, it would trigger a crash to the console. Now it will catch the exception, log the error and also output the result in the console.
  • Data path wasn't parsed in WHDBooter (fixes #958). The "datapath" property wasn't parsed during the startup-sequence creation, when using the WHDBooter feature.
  • The aspect ration option was not respected during Auto-Crop (fixes #1235)
  • ensure the joystick name is handled gracefully if it's null or invalid (fixes #1246)
  • ensure ".." is always present in file/folder dialogs, after refactoring
  • return an empty string in case the file/folder dialog was cancelled
  • file/folder dialogs would briefly show a scrollbar on startup, then hide it
  • Fixed Dispmanx targets failing to compile after recent changes
  • Fixed the Enter key would no longer trigger a KEYDOWN event in the GUI (fixes #1249). This was a bug since 5.6.7, introduced with some updates in the guisan library. The ENTER key is also faked when pushing the controller buttons A/B, so this effectively disabled selecting anything in the GUI with a controller.
  • Fixed a memory leak when closing a filesys unit
  • Fixed various bugs in the Dispmanx implementation (RetroPie)
  • ensure the savestate filename is never empty
  • don't crash if no kickstarts are found on startup. This was triggered after the
    recent refactoring of the Scan ROMs function.
  • Using Dispmanx with Auto-Height and with the "Keep aspect ratio" option disabled,
    would result in a black screen.
  • ensure that controller axes that report no name, get a default one anyway. This caused a crash with the Steam controller, which reports 8 axes but only 6 of them get a name, through SDL2. This way, they will get a default name of "Axis #" + number.
  • Fixed parallel port joysticks D-Pad input was incorrectly mapped to ports 0/1. This has been around for several versions, but it's finally fixed now.
  • Fixed navigation in Floppy panel
  • Floppy dropdown panels would show recently loaded configs also
  • GUI theme colors were not applied to all widgets
  • if you selected a WHDLoad file from the GUI, and it had a config file previously saved, it wouldn't apply it
  • If Cancel was used in a file/folder dialog, the path would be emptied on return
  • increase width of text fields in HWInfo panel (fixes #1269)
  • Listbox selection color was hardcoded when inactive (fixes #1270)
  • initialize custom field value to zero, otherwise we would get random numbers if it's not defined
  • Virtual Keyboard did not respect Auto-Crop (fixes #1273)
  • "Start in Quickstart" checkbox would not change status (fixes #1274)
  • magic mouse without virtual mouse driver would not release pointer (fixes #1278)
  • some Display option changes would not apply after exiting GUI (e.g. Smooth/Pixelated)
  • All A600 quickstart configs would always incorrectly add Fast RAM (fix #1282)
  • only create default HDD device name if we don't have one already (fixes #1284)
  • dmx needs wait_for_display_thread() in more places

πŸ”¨ Improvements

  • Improve sizes of Select File/Folder dialogs. The dialog sizes are now larger, and hold more entries.
  • added retroarch config file path in the log
  • do not temporarily unhide the cursor and hide it again when capturing mouse
  • Improved SaveState and Screenshot file handling
  • If Dispmanx or KMSDRM is detected, force Full-Window mode. These back-ends only supported full-window mode anyway, so this way it's clear in the prefs and GUI as well, that this is what you're using.
  • Don't change the width/height values of the Amiga screen in the GUI, based on the amigawin_rect values.
  • Don't always try to open "default.uae" on startup, if the file doesn't exist
  • Show the selected Floppy Disk in the GUI, when started from command line.
  • populate GUI with WHDLoad command line options
  • When loading a config, scroll list enough to make it visible.
  • Added scroll area in HW Info panel
  • improved look of disabled buttons, dropdowns and checkboxes in GUI
  • show video driver info in About panel
  • added configurable GUI selection color, for dropdowns
  • added mt32-roms directory as a placeholder (fixes #1271)
  • Magic Mouse changes and improvements (#1277)
  • use CD32 with 8MB Fast config, when using cd-autoload

🏎️ Performance Improvements

  • optimize dialog navigation handling
  • minor optimizations in event handling
  • optimize target_execute
  • optimize retroarch, joystick init and reading
  • slight optimization for the SDL2 audio callback function
  • optimize p96 copyrow function
  • optimize read_processor_time

πŸ—οΈ Build System

  • Remove RK3399 from pre-compiled binaries list
  • bring over the Cmake updates from preview

πŸͺš Refactors

  • Use strings instead of char* in various places
  • Removed SDL2 thread option
  • break out the event handling to separate functions
  • Ensure the joystick name is handled gracefully in case it's null or invalid (#1246)
  • optimize fsdb_host
  • ensure the controllers path is reset before using it for setup_mapping
  • optimize writel_log and jit_abort
  • improve RescanROMs function
  • improve isromext
  • use strings in isromext
  • optimize and refactor rescan roms
  • optimize panelROM, use strings for AvailableROM struct
  • simplify and optimize code in PanelSavestate

πŸ“š Documentation Changes

  • Improved Help Text in the Custom Controls panel
  • Improved help text in Floppy and HW Info panels
  • Improve docs in Paths panel (fixes #1275)
  • improve help text in HW Info GUI panel (fixes #1258)
  • improve helptext in Floppy GUI panel (fixes #1259)
  • improve help text regarding mt32 roms (fixes #1287)