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)
preview-v6.3.0
2 weeks ago
๐ 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 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.
merged Arcadia updates from latest WinUAE
Added Fixed only audio filter mode. Merged from WinUAE.
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). Does not apply to Retroarch mappings.
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
added default Floppy, CD-ROM and Hard Drive paths
๐ Bugfixes
Fix offset for button indicators in Controller Map in the GUI (fixes #1228)
Fixed absolute mouse positioning for RTG modes (fixes #1230)
Fixed crash/freeze when trying to access FloppyDriveBridge devices under macOS (fixes #1106)
Ensure changes in virtual mouse and magic mouse are applied immediately (fixes #1225)
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)
Fix unstable serial receive (if data was internally buffered, receiver got them far too quickly back to back)
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
Check if source exists before attempting to symlink a file. This fixes a scenario where "AmiQuit" would not exist in at least one case in RetroPie, and the symlink created was invalid
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
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.
Branch/jump and JMP/JSR instruction bus error fixes (merged from latest WinUAE)
Redraw emulation window when GUI is open (fixes #1251)
if KMSDRM is detected, enforce full-window and single window modes
ensure we have a surface and texture before using them
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.
Fix bitplane corruption in some weird modes
Fix vblank start/end position in programmed modes and fix also ECS Denise special case.
Fix AKS_xxx on/off/toggle events
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
Debugger f fixed (merged from WinUAE)
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)
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)
๐จ Improvements
Improve sizes of Select File/Folder dialogs. The dialog sizes are now larger, and hold more entries.
All screen edges are now "lightpen/gun not pointing at screen" zones
Skip volume change if sound device is not available (crash dump possible fix)
LDP-1450 character generator emulation. Not fully implemented yet, as WinUAE renders this in a Windows-specific way.
Make currently unusable extra 68020 wait states conditional
Allow 68020+ CPUs to read instruction words from custom chipset space. Only if more compatible is enabled.
ECS Denise/AGA genlock color register bit handling fix.
ensure the controllers path is reset, before using it for setup_mapping
added retroarch config file path in the log
do not temporarily unhide the cursor and hide it again when capturing mouse
Check if mode switch is needed before updating graphics parameters
silence log entries from zfile_archive, unless we're debugging. This polluted the logfile otherwise
Added more logging in WHDBooter, fix extra slash in save-data path
Improved SaveState and Screenshot file handling
Release rawinput devices when GUI/dialog/debugger is open (merged from latest WinUAE)
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
Stop copper if ERSY=1 without genlock.
Correct calculation of vertical period if NTSC + LOLDIS.
Less confusing programmed mode logging
Do not open console window automatically when debugger message is logged.
Detect sprite/bitplane conflict properly.
If programmed VBSTRT == VBSTOP: vblank interrupt stops.
Make sure weird vblank where vblank starts after vsync end is visible, only if extreme or ultra extreme overscan.
Sprite DMA is disabled during Vblank.
Check only if BEAMCON0 changes and also check VB
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
Check if programmed vblank is earlier than hardwired vblank (merged from WinUAE)
Keep vblank active as long as last seen strobe in STRVBL (merged from WinUAE)
Rainbow II RTG card (headers only, custom gfx cards are not implemented)
Delay OCS Denise blank "bug" by 3 CCKs (merged from WinUAE)
Apollo 630 accelerator (merged from WinUAE)
OCS Denise/A1000 Denise first non-blank line update
Improve stateload CPU tracer error check
added mt32-roms directory as a placeholder (fixes #1271)
Adjust hblank positions (merged from WinUAE)
Detect both save image path types in both pats (merged from WinUAE)
synced with WinUAE 5300b3
Magic Mouse changes and improvements (#1277)
use CD32 with 8MB Fast config, when using cd-autoload
๐๏ธ Performance Improvements
Optimize dialog navigation handling.
optimized parsing of slave info from XML, for WHDLoad files.
optimizations in event handling
optimized and improved logging in target_execute (host-run).
optimized retroarch, joystick init and joystick reading
optimized filesystem access (fsdb_host)
slight optimization of the SDL2 audio callback function
optimize P96 copyrow function
optimized auto-crop speed
optimize updatewinfsmode function (used to change screen modes between windowed/full-window)
improve Rescan ROMs function
๐๏ธ Build System
Added Apple Silicon Github runner. Now we can include pre-compiled binaries for that platform as well.
Added definitions for ARM-32 builds in CMake
Added FindSDL2_image and FindSDL2_ttf cmake modules. This seems to be required for older systems, like buster-based RetroPie.
๐ช Refactors
minor refactoring in gfx code
Improve KMSDRM detection and single window mode behavior
ARM64 JIT updates. Still not working, but at least it compiles now.
Removed obsolete VSLinux files from repo. We can use CMake which is better for this task
Use strings instead of char* in various places internally. Not really something the user will notice, but it helps simplify and modernize the code internally.
WHDBooter improvements, code optimization and cleanup
modernize code for lists of recent items in GUI
modernize and improve code for read_directory
modernize and improve code for save_amiberry_settings
optimize utf8-latin1 conversion functions
Improve all filesystem functions. Added logging, checks for null parameters, improved code performance and modernized code where possible.
removed now obsolete neon_helper.s. We're not using inline assembly anymore.
optimize and improve code in main window and amiberry_gui
Break out the event handling to separate functions. Makes it much easier to read and update the code.
optimize write_log and jit_abort functions
optimized ROM GUI panel, use strings for Available ROMs struct internally
simplified and optimized code in the Savestate GUI Panel. The screenshot is now saved directly from the GUI, without exiting as before. Screenshots now contain the full Amiga resolution and they are not cropped.
Controller custom mapping simplified
๐ Documentation Changes
Improved Help Text in the Custom Controls panel
Improved help text in Floppy and HW Info panels
Improve help text in Paths panel (fixes #1275)
removed SDL2 render thread reference from GUI help text
improve help text regarding mt32 roms (fixes #1287)
v5.6.8
2 months ago
๐ Bugfixes
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
absolute mouse movement did not scale correctly in single line mode
fix offset for button indicators in ControllerMap GUI (fixes #1228)
Fix absolute mouse positioning for RTG modes as well (fixes #1230)
Fixed crash when using Restart after previous updates
Fixed crash/freeze when trying to access FloppyDriveBridge devices under macOS (fixes #1106)
Ensure changes in virtual mouse and magic mouse are applied immediately (fixes #1225)
Removed some buggy Fast copper experimental code
๐จ Improvements
When emulating, disable RTG settings that cannot be changed on-the-fly
added always on top options to Misc panel in GUI, fixed navigation
Partial merge of GFX updates from Preview
improve WHDBooter prefs changes
implement floppydatapullup option
more WHDBooter improvements
๐๏ธ Build System
Add Apple Silicon runner
Fix missing autoheader in M1 runner
Switch MacOS x84_64 runner to MacOS 14 also
Remove Guisan OpenGL files
Switch macOS x86 runner to macOS-latest, instead of macOS-14
added VS Cmake configs
๐ช Refactors
removed references to unused SDL cursor
rename JIT files to make it easier to debug
Move SDL_Quit to do_leave_program
๐ Documentation Changes
improve help text in RTG panel
๐งน Chores
Merge some updates from Preview branch
remove obsolete VSLinux files
preview-v6.2.0
2 months ago
๐ Bugfixes
Use path-type config file line save method.
SX32Pro can support 128M RAM, fix memory mapping.
"Warp mode reset" on the fly change wasn't recognized
Fixed GUI->Chipset->Chipset Extra dropdown not being updated correctly
Revert Vsync option effect: only affect internal emulation state
ensure keyboard keys are released when pressing Alt-Tab
Ignore Alt-Tab if used to release focus
Fix tablet mode mouse button random mouse movements.
fixed memory leak in calc
Fixed exe in DF0: turbo mode activation
Save DraCo nvram file only if in DraCo mode
ALG Mad Dog McCree v1C holster event special case
Reduce LDP ACK delay. It was far too long. (Picmatic Zorton Brothers hang fix)