EmuCR Feeds
Email Us

Amiberry v8.5.0 is released. Amiberry is an optimized Amiga emulator for ARM-based SoCs (such as the Raspberry Pi, Odroid XU4, ASUS Tinkerboard, etc.), that brings you the highest performance Amiga emulation. It’s an open-source project, build with the efforts of several people and based on previous work of others.

Amiberry Changelog:
Highlights
Licensing and third-party code
WHDLoad, JST and the Kickstart RTB files are no longer bundled. "Update WHDBooter files" and --download-whdboot now get them from their authors' sites:
WHDLoad comes from whdload.de on every update, so new WHDLoad releases arrive.
The SKick RTB files are fetched once, only while one is missing, from Aminet util/boot/skick346.lha. That archive is checked against a fixed SHA-256 before it is unpacked.
JST comes from Aminet game/patch/jst.lha, only when "Use JST instead of WHDLoad" is on.
kick31034.A1000.RTB is still bundled.
A downloaded file replaces the installed one only after it matches the size and CRC in its LhA header. Only one download runs at a time, and none starts while a machine is running unpaused.
(#2540)
If WHDLoad is missing when a WHDLoad game boots, Amiberry shows a message that says where to get it. Nothing is downloaded automatically. The Paths panel and the --download-whdboot help name the sources (#2540)
In older releases, "Update WHDBooter files" now gets "not found" for the removed files. The installed copies are kept, and the update reports a partial failure (#2540, #2549)
WHDBooter's quit-on-exit now uses host-quit from Host-Tools 2.8 (GPL-3) instead of AmiQuit, a third-party binary with no source or licence. host-quit also works on Kickstart 1.3 and the 68000 (#2549, #2550)
LhA archives are now read with Lhasa 0.6.0 (ISC) instead of LHa for UNIX, whose licence is not free. The rare -lh2- and -lh3- compression methods are no longer decoded (#2558)
Each LhA member's CRC is now checked, so a corrupt member fails instead of returning bad data. Truncated or corrupt archives fail cleanly; a corrupt -lh5-/-lh6-/-lh7- archive used to crash the old decoder. LhA's 0xff path separators are read as / (#2540, #2558)
PearPC was removed. It was never compiled into any build, so choosing it left the machine with no PPC at all. PPC emulation uses the QEMU plugin only. A configuration with ppc_implementation=pearpc loads as auto without a warning and is saved as auto (#2554)
Licence clean-up:
The UAE portability headers and vm.cpp were rewritten under GPL-3.0-or-later, with no change in behaviour (#2552).
Third-party licence notices were corrected: HRTMon 2.37 is GPL-2.0-or-later, the Warp decruncher is LGPL-2.1-or-later, mos6502 is MIT (its source files now carry the notice) and iff.library is public domain. gamecontrollerdb.txt carries its zlib notice, unlzx credits all its authors, and Amiberry's copy of mt32emu is distributed under GPL-3.0-or-later, as section 3 of the LGPL 2.1 allows (#2557).
Each release now includes amiberry--third-party-sources.tar.xz. It holds the exact source of the GPL and LGPL libraries bundled in the macOS release (such as FFmpeg, x264, x265, LAME, mpg123, libmpeg2 and libserialport), checked against Homebrew's checksums, and is listed in SHA256SUMS (#2556)
The Amiga libraries some WHDLoad games need are no longer inside boot-data.zip, because their licences don't allow bundling them. "Update WHDBooter files" downloads them from their Aminet packages while one is missing; every file is checked against its CRC, and the packages that never change are also checked against a fixed SHA-256 (MMULib, which its author updates in place, isn't). They go into the WHDBoot folder's Libs drawer, which the booter mounts as DH4: and adds to LIBS:, so LIBS:Compressors works too. Existing files are never overwritten (#2559):
the XPK libraries: xpkmaster.library and 16 compressors, from util/pack/xpk_User;
MMULib's 68040.library, now with the mmu.library and 680x0.library it needs, which the old zip lacked, from util/libs/MMULib;
explode.library, from util/libs/explode-7;
OctaMED's medplayer.library, from docs/help/OctV5_Tut4.
Older Amiberry versions (8.4.x) also download the reduced boot-data.zip when you press their "Update WHDBooter files" button, but can't fetch the libraries. Update to 8.5.0 to get them back.
LZX archives are read by a new decoder, written for Amiberry from a description of the format, which replaces unlzx (it had no licence). It lists and extracts stored and compressed members with their CRCs, attributes, dates and comments, and rejects corrupt or truncated archives cleanly. An LZX archive in the ROMs folder no longer crashes the ROM scan (#2561)
.dsq disk images (LZX archives holding a packed disk) whose packed disk is short or malformed no longer read past the end of the data; they open as the original file (#2561)
WHDBooter
The booter marks WHDLoad, JST and host-quit as executable before linking or copying them. Android and Windows copy these files, and on Android a copy without the execute bit probably could not run (#2549)
Bundled game database updated to 11220 entries
File requesters
The hotkeys for inserting a disk into DF0–DF3, loading a state, saving a state and inserting a CD open a file requester again. Since the move to ImGui, the floppy and CD hotkeys re-inserted the current image, load state cleared the state name and save state did nothing. The GUI closes once you answer or cancel. If the file is refused, the GUI stays open to show why (#2508)
The Savestates panel's "Load state…" and "Save state…" buttons use the same requester. Before, they did nothing (#2508)
Settings panels
The CPU, chipset, memory, ROM, display, sound and input panels grey out values the emulator would change when the configuration is applied, instead of accepting them (#2495, #2497, #2499)
CPU panel:
The "Host (80-bit)" FPU mode is gone. Outside MSVC long-double builds it behaved as 64-bit and was never saved.
Softfloat is greyed out while the JIT FPU is on, and turning the JIT FPU on switches Softfloat off.
JIT cache sizes of 1–127 KB are refused.
With JIT on a 68040/060, More compatible keeps its value while greyed out, and turning the JIT off restores it.
A 68000/010 without More compatible no longer keeps a 68040/060 internal FPU after a CPU switch; it becomes a 68881.
Switching to a 68000 clears the JIT.
cpu_speed=N configurations show N instead of "real".
Values typed into sliders with Ctrl+click are clamped to the slider's range.
(#2495)
Chipset, Quickstart and RAM panels:
Turning on cycle-exact on a 68000/010 clears Wait for Blitter.
ide=a4000 turns on Gary and Ramsey.
Chip RAM above 2 MB shrinks Z2 fast RAM.
NTSC in the Chipset panel changes the output refresh rate, as Quickstart already did.
ROM lists rebuild after a ROM rescan.
MapROM refuses anything that is not one hexadecimal address.
Reloading no longer brings back a previously used cartridge.
(#2497)
The ALG and Arcadia presets' "First installed game ROM" configuration now uses the first installed game. Before, it loaded the OnePlay 2.11 BIOS as the "game", and the preset counted as available whenever that BIOS was installed (#2505)
Floppy and HD panels:
Disk swapper "Remove All" now ejects the listed disks. Before, it ejected none of them, ejected DF0 when every drive held a disk, and reopening the GUI brought the disks back.
The write-protect checkbox is disabled when there is no disk or floppy_read_only is set.
The speed label no longer shows 100% for speeds between the slider's steps.
In Create Hardfile, the "RDB Mode" checkbox is removed; nothing read it.
The hardfile boot priority is clamped to -129..127, as in the volume dialog (-128 is "not bootable", -129 "not mounted automatically").
(#2500)
All recent-file lists follow one rule: a reused path moves to the front, empty paths are skipped, and each list keeps 40 entries. The recent CD list was limited to 10, and loading a configuration added an empty recent-floppy entry (#2500)
Sound panel: the device list refreshes when the panel opens, so a device connected after start-up appears. The selected playback and recording devices are found again by name, so a device that disappears no longer moves the selection to a different device (#2499)
Keyboard shortcuts changed while emulation runs take effect immediately instead of when the GUI closes. In the Priority panel, the options that "pause when active but not captured" forces are greyed out, with the reason (#2511)
RTG panel: only boards that fit the CPU addressing and chip RAM are offered. Picking a board turns it on with its default memory: 4 MB for UAE Zorro II, 16 MB for UAE Zorro III, and the minimum for a hardware board. Turning a board off resets its monitor, autoswitch and initial-screen settings (#2513)
Accelerator boards:
Changing the board sets the CPU the board needs and fits the board RAM to it.
A variant change applies the PPC rule, which the panel used to skip.
SCSI cannot be turned off while host CD drives are mapped.
(#2514)
The A3000 and A4000T SCSI controllers can no longer both be enabled; when both were set, neither was built (#2515)
Filter panel: the crop window and its offsets follow the frame when the resolution or line mode changes. The default crop height for single lines is 288, not 576 (#2516)
Custom Controls offers Default and None for every control. A D-pad on a hat can be mapped again; it showed "In-Use (VKBD)". Unset controls show Default instead of CD32 pad events (#2518)
Warning, error and success text follows the theme. On the light Default theme it was close to unreadable (1.03:1 to 1.09:1 contrast); it now reaches 3.2:1 to 4.3:1.
The colours can be edited in the Themes panel under a new "Status text" group.
Older theme files get colours derived from their own background colours.
(#2487, fixes #2485)
Configurations panel: a configuration that points at a missing floppy no longer floods the log with about 150 lines each time the list is read. Deleting a configuration also deletes the backups the startup path migration made of it (#2486, fixes #2483)
Configuration files
Every custom ROM board is saved. Before, the first board was written repeatedly and the others were lost (#2497)
The Agnus/Denise revision overrides and cs_bytecustomwritebug are saved and read back. The UAE board's "no diagnostics ROM" (*_off) choices are kept by the ROM panel (#2497)
An expansion ROM board enabled without a ROM file is no longer lost on save. It gets the scanned ROM of its type, or none (#2515)
DrawBridge settings for the first driver are saved (#2500)
amiberry.active_not_captured_pause, amiberry.active_not_captured_nosound and amiberry.inactive_minimize are read back when a configuration loads. Before, these settings were lost (#2511)
A configuration saved with auto crop off no longer comes back with it on when the default_auto_crop setting is enabled. Auto crop now turns manual crop off, so the writer no longer drops manual crop (#2516)
gfx_filter_autoscale_limit and gfx_filter_autoscale_limit_rtg are read back in builds without GFXFILTER (#2513)
serial_port=none no longer opens a port named "none". MIDI device names are read back correctly, and "none" is no longer opened as a MIDI device (#2517)
A custom control set to None stays None after a reload. Before, it was saved as empty and came back as its default (#2518)
Custom refresh entries (displaydata_pal/displaydata_ntsc):
They are written with the comma before rpct=.
A long command in one no longer overflows its field when read.
(#2499)
vkbd_hires, vkbd_exit and vkbd_style are kept when a configuration is saved (#2499)
Hard drive (uaehf) lines too long for their fields are rejected instead of overflowing them. A device name in filesystem_extra is no longer used as a printf format (#2503)
--dump-config reports 32-bit chip RAM correctly instead of 0 (#2497)
Crashes and hangs
Switching the RTG board between Zorro III and Zorro II and then resetting no longer crashes. A Zorro III RAM board brought in by a reset no longer shares chip RAM's memory; before, writes to the board changed chip RAM (#2513)
A Blizzard 1230 MK2/MK3 without board RAM no longer crashes at reset, and a Twelve Gauge without board RAM no longer crashes at boot (#2514)
A ZZ9000 using slirp networking no longer freezes Amiberry when the guest reboots (#2491)
Changing the CPU model together with 24-bit addressing on a running machine now does a hard reset. Before, the CPU kept running on the old memory map (#2545)
On x86-64, a fault outside the JIT cache is no longer treated as a JIT fault. That could turn a fault into a corrupted stack after the JIT was turned off at runtime. Such faults now abort and log a backtrace, the memory bank involved and the CPU state (#2543, #2545)
A restart no longer waits for a stalled update check, which could take about 20 seconds when DNS hung. Exit no longer waits for the update check either (#2496, #2547)
macOS: Amiberry no longer aborts on exit when graphics initialisation failed (#2496)
Turning on the on-screen joystick with no renderer no longer dereferences a null pointer (#2523)
The Adv. Chipset Agnus/Denise and monitor sync lists, the Quickstart drive type list and the DrawBridge cable list no longer read past their labels for some values (#2497, #2500)
Mounted-drive handling no longer reads one entry past the list, and the GUI's copy of the mount list no longer misses its last entries (#2503)
Fixes
FPU: comparing two equal infinities with FCMP now reports them equal (Z, and N for negative infinity) instead of unordered, with and without the JIT FPU. Programs that compare infinities took the wrong branch, and GCC's isnan() reported every infinity as NaN. The strict and softfloat FPU modes were already correct (#2560)
The JIT access-violation notice at start-up is shown when the GUI next opens. Before, it was never shown (#2533)
A settings change that touches several groups of display options at once reaches the running emulation completely. On slower hosts, part of it could wait for an unrelated change (#2523)
A serial port picked while emulation runs is opened (#2517)
Each refresh of the host's devices no longer lists every MIDI port again (#2517)
amiberry.conf is saved in place, keeping links, owner, permissions and extended attributes. If the new content cannot be written, the old content is restored and the save reports failure (#2501)
A2065:
The emulated Am7990 now needs address bit A15 and honours CSR3 BSWP for frame data, as the real chip does. A driver that fails on real hardware now fails in Amiberry too; a2065.device, Linux and NetBSD are unaffected.
The MAC address is read from the init block at its actual offset. This also applies to the Ariadne.
(#2484)
macOS: the debugger window (Shift+F12) follows new output again (#2492, fixes #2489)
IPC and command line
DBus control is removed. IPC covers all 18 DBus methods, works on Linux, macOS and Windows, and accepts only the current user. No shipped build had DBus enabled (#2496)
New settings commands, documented in docs/ipc.md:
SETTINGS_GET, SETTINGS_SET, SETTINGS_VALIDATE, SETTINGS_COMMIT and SETTINGS_RESET_SESSION edit a settings session (#2496)
SETTINGS_LIST, SETTINGS_DESCRIBE, SETTINGS_GET_ACTIVE and SETTINGS_APPLY (#2504)
SETTINGS_MOUNTS, SETTINGS_MOUNT_ADD, SETTINGS_MOUNT_REPLACE and SETTINGS_MOUNT_REMOVE (#2503)
SETTINGS_BOARDS, SETTINGS_BOARD_DESCRIBE, SETTINGS_BOARD_GET and SETTINGS_BOARD_SET (#2515)
SETTINGS_CUSTOM_CONTROLS, SETTINGS_INPUT_EVENTS, SETTINGS_CUSTOM_CONTROL_GET and SETTINGS_CUSTOM_CONTROL_SET (#2518)
HOST_SETTINGS_LIST, HOST_SETTINGS_GET, HOST_SETTINGS_SET and HOST_SETTINGS_SAVE for amiberry.conf (#2520)
Other new commands:
LIST_MEDIA, GET_FOLDER and SET_FOLDER (#2501)
SAVE_CONFIG (#2519)
OPEN_SETTINGS (#2507)
CHOOSE_MEDIA (#2508)
IPC is answered while the GUI is open. A reset or quit sent over IPC closes the GUI. A resume refused because the GUI has paused emulation reports an error instead of success (#2496, #2507)
Save states:
SAVESTATE, QUICKSAVE and QUICKLOAD reply ERROR when nothing was saved or loaded.
SAVESTATE writes its companion config only after a successful save, and no longer renames the configuration's description to "autosave".
(#2496, #2519)
LOAD_CONFIG of a file that exists but cannot be opened keeps the current configuration. Before, it was reset to the defaults (#2519)
GET_STATUS and GET_LED_STATUS reflect commands sent just before them. DISKSWAP inserts from the swapper list as last edited. QUIT is acknowledged only once the quit is queued (#2496)
LIST_CONFIGS returns sorted names and also matches .UAE (#2501)
LIST_HARDDRIVES no longer lists stale entries, and a path containing a tab or line break no longer breaks its reply (#2503)
SEND_KEY with an Amiga key code (0x00–0x7F) refuses a key press while nothing runs or the settings UI is open. Releases always go through (#2510)
Setting the ROMs folder with SET_FOLDER or the rom_path host setting rescans it, loading rom.key first (#2531)
SET_RESOLUTION and SET_LINE_MODE keep the crop window within the new frame (#2516)
New --apply-preset model[:config[:compatibility]] applies a Quickstart preset from the command line (#2497)
New --settings-schema[=] prints the settings, presets and their rules as JSON (#2505)
--dump-config lists configuration entries no parser recognised on stderr (#2511)
ZZ9000
The emulated card matches the firmware for media status, audio stream sessions and the console encoder:
ZZPlay reports the presentation path and per-stage timing.
Four audio sessions can run at once.
Probing a FLAC file through the MPEGA DataType no longer blocks all card audio until a reset.
8-bit screens encode as CLUT8.
(#2494)
Configurations built with --model get the ZZ9000 defaults (#2513)
Android
Quick Start offers the emulator's own models:
A2000 is gone; stored A2000 entries open as A500.
A4000T and Macrosystem are new.
ALG and Arcadia are not offered.
Each model starts from the preset's first configuration. For example, the A4000 is now the emulator's 68030 / 68882 / JIT 16 MB.
(#2505)
ROM detection checks every configuration of a model, so an A500 with only Kickstart 1.2, or an A3000 with only 3.1, can launch (#2505)
CPU, FPU, memory, chipset and sound choices and their limits come from the emulator. For example, 1.5 MB chip RAM with the JIT becomes 2 MB (#2505)
Aspect correction works; it was always off (#2505)
WHDLoad games for the 68020, 68030 or 68040 get 32-bit addressing (#2505)
The Chip RAM menu shows 128 KB and 256 KB instead of "None", and recent launches show model names (#2505)
Platforms and packaging
New Haiku package for x86_64 (amiberry-v8.5.0-haiku-x86_64.hpkg, Haiku R1/beta6). Install it with pkgman install ./amiberry-v8.5.0-haiku-x86_64.hpkg or by double-clicking it; its dependencies come from HaikuPorts, and Amiberry appears in the Deskbar menu (#2566)
The Debian bookworm and trixie arm64 packages are built with FFmpeg, so they include the ZZ9000 MPEG-2, WebM, Matroska, FLAC and Vorbis decoders (#2493)
Amiberry builds on powerpc64 and powerpc64le (#2488)
Build: GCC LTO builds no longer warn in stb_image (#2482)
Groundwork for native macOS and iOS apps landed. They are not part of this release (#2506, #2507, #2510, #2521, #2524–#2533, #2535, #2537–#2539, #2541)
Sponsors
Thanks to Lame, our Supporter-tier sponsor, for helping keep Amiberry development going. Want to support Amiberry too? See the sponsorship tiers or Ko-fi.

Download: Amiberry v8.5.0
Source:Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!