Changes in 5.7.1 (https://github.com/BlitterStudio/amiberry/releases/tag/v5.7.1)
* Bugfixes (since 5.6.6):
- improve CD32 default mapping
- fix base color for Radiobuttons in SaveStates panel
- fix KMSDRM video regression
- fixed background color for SaveStates panel checkboxes
- when saving a new config in the GUI, it should be selected after the refresh
- when loading config from the command line and opening the GUI, the settings were reset to defaults
- always clear the text fields when deleting a config
- fullscreen toggle didn't quite work
- quickstart - enabling 2nd floppy drive did not refresh panel
- make guisan widgets active/inactive status more visible
- fixed textbox background color in Create hardfile dialog
- the floppy dropdown wasn't updated properly after a selection
- fixed CD dropdown did not refresh properly
- ensure keyboard keys are released when pressing Alt-Tab
- ignore alt-tab if used to release focus
- GUI Hardware sprite checkbox wouldn't enable when needed
- some RTG options were not changed on-the-fly
- fix mouse drift when using RTG hardware sprite
- mouse - when using SuperHighRes or Single line modes, the movement scaling was incorrect
- fix offset for button indicators in ControllerMap GUI
- mouse: RTG modes can use the positioning directly, but they were affected by the single/double line mode setting, fix absolute positioning
- fixed crash when using Restart after previous updates
- Ensure changes in virtual mouse and magic mouse are applied immediately
- datapath wasn't parsed in WHDBooter
- bugfix: aspect ratio option was not respected in autocrop
- bugfix: return empty string when cancelling file/folder dialog
- fixed select file/folder dialogs briefly showing a scrollbar on startup
- enter would no longer trigger a KEYDOWN event in guisan
- fix memory leak when closing filesys unit
- fixed parsing of ROMs in the GUI
- don't crash if no kickstarts are found on startup
- controller hotkey mapping was broken after recent updates
- fixed navigation in Floppy GUI panel
- fix all A600 quickstart configs would always incorrectly add Fast RAM
- start in Quickstart checkbox would not change status
- virtual Keyboard did not respect Auto-Crop
- listbox selection color was hardcoded when inactive
- if Cancel was used in a file/folder dialog, the path would be emptied on return
* Enhancements:
- Implemented GUI foreground color option for themes
- Updated floppybridge library to latest version
- Added button to Create new folder in the dialogs
- All plugins (floppybridge, capsimg) now live in a separate directory, named "plugins"
- Added option to log to console
- Set config name automatically for CD images as well
- Config panel double-click time reduced to 500ms
- Improve help text in Config panel,Misc panel,Sound Panel
- Add console logging details in GUI helptex
- 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. 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.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
Upstream has added support for using an OpenGL(ES2) context for 3D games and HW rendering. The core will request a HW GL context from RetroArch when starting.
Added the necessary parameters to the build to support the GL context for the platform where RetroArch is running.
Upstream GlideN64 has a regression due to a recent shader related change, which breaks the video output on GLES devices/platforms.
Until this issue is fixed in the upstream GlideN64, build the plugin from a commit before the changes that cause the regression.
rp_module_flags can now contain a variable comparison to enable or disable a scriptmodule.
The comparison should be in the format :\$var:cmp:val or !:\$var:cmp:val
eg. :\$__gcc_version:-lt:7 would be evaluated as [[ $__gcc_version -lt 7 ]]
This would enable a module if the comparison was true or disable if !:\$__gcc_version:-lt:7 was used.
Only global variables set before modules are loaded (eg via system.sh) are supported.
$ is escaped so variables are not evaluated when the module is sourced.
It works without, but provides less useful information in the setup menus as the variable name will not be visible.
In 77bb4c16 the code was locked to an older commit due to incompatibilities with Raspberry Pi OS Buster, but this version doesn't build with newer GCC.
Switch to using the latest code by default but lock to older versions for Buster and GCC 10 and lower
Tested to build correctly on Raspberry Pi OS Buster, Bullseye and Bookworm.
The previous build method on the Pi4 uses a CMake toolchain file which assumes a 32bit ARM system.
To make it compile on ARM64, remove the toolchain file usage and add the appropriate defines/options from it to the CMake invocation.
We removed the `python3` parameter setup in commit 2a95dd076a, but the build parameters are also used by Mame/Mess 2016.
Mame2016/Mess2016 have python2 still as default, so re-add the `PYTHON_EXECUTABLE` configuration.
Starting with version 0.265 (April 2024), GCC 10.3 is required for building MAME.
Enforce this requirement when building the emulator and libretro cores, Debian Buster will be getting 0.264 as the last version.
1. I've noticed that on newer version of Meson, dependendant packages like `iir` and `mt32emu` are no longer built and linked statically.
Instead, they're created and then installed as dynamic libraries. The installation goes to `$md_inst/lib/<host-triplet>`, so the resulting binary doesn't work out-of-the-box, but the more important issue is that the `libmt32emu` library is not copied. As a result, `dosbox` will not be able to run on such a system.
The issue above doesn't seem to affect the RaspiOS (32/64bit) builds, but I had it happening on Debian Trixie (testing) and a recent Armbian Jammy 22.04 for OrangePi 5.
To make sure the above issue doesn't happen, link the `iir` and `mt32emu` libraries statically. They're always downloaded and built via Meson _wraps_, since there are no Debian packages for them.
2. Updated the dependency list so that:
* `libslirp` and `fluidsynth` (v2) are installed on Bullseye or newer Debian, so they're not built via Meson wraps
* `sdl2-image-dev` is not needed by `dosbox-staging` anymore.
* added `zlib` as an explicit dependency
Previous commit removed the `retroarch.cfg` from upstream. While the configuration will set the right options in a new config file, we traditionally used the upstream's config as starting point, since it's largely commented and provides pointers for various configuration options.
Restore the previous behavior by including the upstream `retroarch.cfg` in `$md_inst`, since the makefile doesn't copy it during the install target.
Only configure distcc variables if a module does not have the "nodistcc" flag.
Skip builder/setup modules to avoid having distcc changes propagate to modules built from them.
This allows easily disabling distcc for certain modules that are not compatible.
Latest (0.81) version of Dosbox Staging doesn't go along with the legacy GPU VideoCore drivers, resulting in a SDL window initialization crash. Pin the 0.80.1 version for these devices, maybe a GLES2-only rendering path will be added later on, which would solve this issue.
DirkSimple is a laserdisc game player that implements specific titles from scratch, so it uses an arcade game's video content but not its roms. It takes game data in Ogg Theora format, so the "rom" that the core needs is a single .ogv file per game.