github BlitterStudio/amiberry v8.4.0

2 hours ago

Windows release binaries are signed through SignPath. See the Code signing policy: https://amiberry.com/code-signing-policy

Highlights

ZZ9000 emulation

The ZZ9000 support added in 8.3.0 now goes well beyond RTG. The card's stock drivers and SDK libraries work against the emulated hardware:

  • ZZ9000AX AHI audio with the stock driver (#2355)
  • Networking through the stock SANA-II driver (#2356)
  • SDK mailbox and MHI audio streams (#2357), plus MP3 decoding through the installed SDK mpega.library (#2358)
  • Image and ZZPlay media services (#2359)
  • Firmware 2.8 register ABI (#2353); VRAM mapped directly into natmem for faster access (#2371)

Plugins

  • MiniGL renderer plugin support (#2369): a guest MiniGL library can hand its 3D work to an optional host renderer plugin through uaelib trap 120. The plugin is not bundled with Amiberry and will be available separately. Without it, or with Native Code disabled, nothing changes. On Linux with the OpenGL renderer, the plugin's frames are composited zero-copy from dma-bufs by default when the driver supports it (#2382); set minigl_zerocopy=no in the config (or AMIBERRY_MINIGL_ZEROCOPY=0) to turn it off.
  • User plugin locations (#2372): plugins are now searched in AMIBERRY_PLUGINS_DIR, the Settings override, a per-user plugins folder, then the bundled/system folder. The Paths panel gains "Open" and "Install plugin…" buttons for the per-user folder, so third-party plugins can be added without touching a signed app bundle or a system package. See docs/plugin-locations.md.

New features

  • Relative media paths (#2411): new "Use relative paths" option in the Paths panel (WinUAE's RelativePaths). Paths inside the base folder are saved as ./…, so an Amiberry folder on a USB stick or external drive keeps working when its drive letter or mount point changes. Portable installs default to it.
  • Custom cartridge ROMs in the ROM panel, and correct cartridge identifiers for known freezer dumps (#2294)
  • .A1000 ROM support
  • --dump-config prints the fully resolved configuration and the corrections applied to it (#2337)
  • ipc_disable_logging option (#2364)
  • GL capabilities are detected at runtime: shader presets work on strict and GLES drivers, Linux/FreeBSD fall back to GLES 3.0 when that is the only hardware driver, and Amiberry falls back to the SDL software renderer instead of aborting when no GL context is available (#2290)

Performance

  • Raspberry Pi 4: native chipset frames reach the GPU as zero-copy dma-bufs, and AGA/OCS/ECS line drawing skips needless horizontal-event checks (#2385)
  • Duty-cycled auto-crop scanning (#2361)
  • The GUI frame rate is capped to avoid 100% CPU use on VRR setups

RTG

  • Dirty-page tracking: closed a race and split-screen holes (#2335), and VRAM writes from direct JIT stores are now caught (#2394)
  • RTG hardware sprite is enabled by default, matching WinUAE (#2388)
  • Warm resets and no-startup-sequence boots with RTG work correctly (#2330, #2333)
  • Custom chipset emulation is always disabled while RTG is active (#2393); fixes for RTG swap, masked NOTSRC and BlitRectTransparent blits (#2391, #2415)

JIT and CPU

  • ARM64: trap blocks are demoted by opcode class instead of wholesale, so much more code stays compiled (#2305, #2336, #2342)
  • ARM: register shifts with counts 32–63 (#2376), FMOVEM addressing modes the JIT cannot compile (#2397), and fault handlers kept ahead of SDL's KMSDRM keyboard handlers (#2395)
  • The JIT FPU setting is respected instead of being forced on (#2398, #2399)
  • 68030 fixes, wrap-safe CHK2/CMP2 (#2307), and IDE interrupt handoff ordering on ARM64 (#2386)

Networking

  • bsdsocket: event monitor and blocking-call fixes, SO_RCVTIMEO/SO_SNDTIMEO honoured, double CloseLibrary() ignored (#2334, #2384, #2370)
  • SANA-II: multicast delivery, receive stalls, and transmit buffer fixes (#2349, #2350)
  • uaenet: MTU and MAC address reported, BPF immediate mode on macOS, pcap device list fix (#2347, #2348, #2351)

Display and input

  • KMSDRM: GLES-first context ladder with runtime-matched ImGui GLSL (#2379)
  • Autocrop stays stable across interlaced border changes (#2275); smart horizontal centering offset and full-window crop insets fixed (#2377, #2362)
  • Magic Mouse pointer is smoother on native screens and stays aligned with manual crop (#2363, #2374); the guest pointer is hidden again in Host Only mode (#2414)
  • Global controller defaults are honoured at startup (#2329)
  • The window title updates when switching configurations (#2410)
  • Genlock video no longer restarts at EOF, and warp is no longer capped under VSync (#2390)

Libretro

  • On-screen keyboard overlay for gamepad-only users (#2352)
  • zip/7z floppy images listed in disk control (#2408); HDF images without an RDB boot (#2271)
  • Windows: CHD images no longer crash the core (#2323); VFS seek, kickstart probing and RP9 ROM scan fixes (#2322, #2326, #2328)
  • Android core links libc++ statically (#2389); canonical libretro-core-info entry generated (#2401)

Android (Ko-Fi backers only)

  • Integrated the ChromeOS fork's desktop improvements: smooth captured mouse, QWERTZ keyboards, touchpad tap fix, adjustable GUI scale (also on desktop), RTG landscape modes (#2286, #2292)
  • Launcher, touch and Android TV fixes from Play Store testing; gamepad-only devices can open the on-screen keyboard (#2413, #2324)
  • Analog stick mouse mapping exposed in the native UI (#2309)

Platforms and packaging

  • FreeBSD build fixes and amd64/aarch64 CI coverage (#2331, #2332)
  • Ubuntu PPA builds bundle SDL (#2345)
  • Merged the latest WinUAE and ImGui updates; updated AROS ROMs, game controller and WHDLoad databases

Don't miss a new amiberry release

NewReleases is sending notifications on new releases.