Releases with ports for two or more operating systems.
- Details
- Category: Multiple Platform
What's New:
ubuntu-win64-cross: Bump mxe/build-win64-mxe
ui: Add 720x480 resolution to Window size options
Merge QEMU v9.2.1
mcpx: Implement APU multipass voice processing
- Details
- Category: Multiple Platform
What's New:
- Include Bochs debugger support in all release binaries. Bochs internal debugger and Bochs GUI debugger are compiled in by default and
there are no special Bochs binaries with internal debugger support anymore. - Integrated softfloat3e library replacing older softfloat2a fpu-emulation code
- Bugfixes for CPU emulation correctness (critical bugfixes for VMX, WAITPKG, LASS, XSAVEC/XSAVES, CPUID and SHA1 ISA implementation)
- Added emulation of missing AMD 3DNow! instructions
- Implemented AVX512_FP16 Intel instruction set based on softfloat3e library (enabled in Xeon Sapphire Rapids CPU definition)
- Implemented MONITORLESS MWAIT instructions support
- Implemented initial support for AVX10_1 + AVX10_2 ISA extensions and AVX10 CPUID leaf 0x24 (AVX10_1 first to be enabled in Xeon Granite Rapids)
- Implemented AMX-TF32 and AMX-AVX512 ISA extensions
- Implemented RAO-INT ISA and MSR_IMM ISA extensions
- CPUID: Added new CPU definitions: for i386, i486DX4, AMD Athlon XP and Intel Core i5 Arrow Lake CPUs
- CPUID: Support for enabling/disabling of one or more CPU features from CPUID configuration (see "add_features" and "exclude_features" in bochsrc sample and documentation) ! CPUID: Old bx_generic CPUID model is deprecated with all associated .bochsrc CPUID configuration options, use pre-defined CPU models instead
- Several fixes and improvements for the Cirrus and Voodoo emulation
- USB: Added the USB Debugger support for xHCI and UHCI (Windows / GTK3)
- Added USB boot option (requires i440fx.bin BIOS)
- LGPL'd VGABIOS updated to version 0.9c (Cirrus / VBE fixes and extensions)
- Added i440fx.bin BIOS written by Ben Lunt (https://github.com/fysnet/i440fx)
- Documentation updates and fixes after transition to GIT
- Details
- Category: Multiple Platform
What's New:
Nintendo - Game Boy Advance
- Improve timings when running multiple DMA channels at once.
- Fix a timing bug when accessing the cartridge backup region.
Nintendo - Nintendo 64 / 64DD
- Fix Joybus RTC read/write status byte
- Don't report interrupt exceptions to GDB, improving performance while debugging.
Sega - Mega Drive / CD / 32X
- 32X: Fix a timing issue that could cause some operations to update the ares internal timers twice.
- 32X: Fix an issue where audio would fail to work correctly after restoring a saved state.
- 32X: Fix layer blending when the MD VDP is in H32 mode.
- 32X: Proper 32X region header processing for licensed games.
- 32X: Fix SH2 framebuffer mirroring.
- 32X: Improve emulation of FEN/PEN flags.
- 32X: Improve emulation of 'FM' bit and relate stalls.
- 32X: VDP register latches have been implemented, but may still be imperfect.
- 32X: Implement VDP auto fill timing.
Build
- Add librashader headers to the source tree under thirdparty/librashader/include/, so that remotely fetched resources are no longer required to build ares on Linux.
User Interface
- Fix an issue where saved games would be placed in incorrect paths if a custom Saves path was set on macOS.
- Details
- Category: Multiple Platform
What's New:
V.Smile: support CSB2 dual ROMs by default, add flag for Art Studio RAM
- Details
- Category: Multiple Platform
What's New:
- Fix covers in JPEG format not loading on windows since v0.7.3
- Fix RMG not inhibiting the screensaver during emulation
- Fix not having supported archives listed when opening 64DD Disks through 'Open Combo'
- Fix RMG-Audio spamming the log with sample warnings
- Add captions to all file and directory dialogs
- Improve logging when retrieving OpenGL context fails
- Details
- Category: Multiple Platform
What's New:
- Make .bin loader track length match .cue
- Add hash to OnGameChanged
- Avoid additional stat() call loading subchannel
- Improve PBP load error reporting
- 06b0218: GPU/HW: Split transparent draws if dual-source blend unsupported (Stenzek)
- Clear display texture on fatal error
- Don't panic on unknown register read
- Update to SDL3 3.2.4
- Fix possible crash when rescanning game list
- Fix setting-altering patches not applying on startup
- Add 'Ignore' field to file format
- 07f9730: update the Simple-Chinese Translation to latest.
- Update glyph ranges
- 4ce48ab: GPU/HW: Fix incorrect source rect for page replacements
- Show disabled code count when HC/safe mode is active
- Improve summary popup
- c1f8a52: Spanish (Spain) translation update 2025-02-09
- Dezaemon Plus Select 100 does not support analog mode
- 788b9cd: Update the Simple-Chinese translation to latest.
- 3eed0d0: CI/Flatpak: Don't strip SDL3 libraries
- Fix overlapping widgets in macro trigger shift-click
- Use display name for a couple of recommended value
- 2876713: Update the Simple-Chinese translation to latest.
- f6e8ebe: Updating Swedish translation (100%)
- 36d5708: GPU/HW: Fall back to replacements from first disc
- Fix incorrect recommended value
- Reapply frame end codes immediately on reload
- cd89f62: Atualização Português do Brasil
- Apply SDL3 joystick patch
- Rewrite to support axis input
- f90fdf6: Update the Simple-Chinese translation to latest.
- Correctly unset host page size if set via cache
- Fix prerotated presenting with OpenGL
- Fix incorrect texture format for A1BGR5
- Fix Wcast-function-type-mismatch
- Vectorize RGBA8 conversion and add A1BGR5
- Fix flipped images in OpenGL
- Fix black screen when changing options while paused
- Fix missing vibration binding for NegConRumble
- Fix abort on slow compile in big picture
- Update glyph ranges
- Bump to LLVM/clang 19
- More Wcast-function-type-mismatch fixes
- Fix possible unaligned movaps
- Fix setting-altering game patch behaviour
- Details
- Category: Multiple Platform
What's New:
Bugs Fixed
- The MacOS build does not launch properly (x86_64 and AArch64).
- Rotating the display in Android may result in a crash.
- The Android app may not launch correctly on Android 9-11.
- Regression: Launching the Home Menu may not work correctly in Android (NOTE: If it still doesn't work after upgrading to this release, you may need to re-download the System Files or clear out your User Folder and then re-download).
- Regression: There may have been some minor missing textures when using OpenGL.
- Borked3DS now builds with gcc-12 on Bookworm-based Raspberry Pi (or similar aarch64) devices (NOTE: It may still not run properly regardless; this is still being looked at).
- Android: Using oboe api as an input device now works correctly.
New Features
- Migration from glad to glad2 libraries.
- Most existing vector math is now accelerated using SIMD operations and compiler intrinsics. This may result in improved performance. Minimum hardware requirements are NEON support for AArch64 and SSE2+ support for x86_64 (SSE4+ or AVX+ recommended), which is pretty much any modern machine so it probably doesn't disqualify much regardless. This feature has only been minimally tested, so feel free to chime in with your experiences in the Discussions forum. As always, Pull Requests with fixes or improvements are always welcome.
What's Changed
- Adding Swedish translation
- Fix various GCC warnings and errors
- Android (refactor): Improve null safety and fix rotation
- video_core: Optimize vector math with SIMD instructions and compiler intrinsics
- MacOS: Fix external MoltenVK bundling
- externals: Update glad 0.1.36 to glad2 v2.0.8 by
- CMakeLists.txt: Prefer bundled dependencies over system installed versions by default
- Vulkan: v1.4.304.1
- audio_core: Implement oboe_input device
- InputOverlay.kt: Revert null safety checks
- EmulationFragment.kt: Restore game icon loader
- Android: Migrate from using WindowInsetsController to WindowInsetsControllerCompat
- Update to Xbyak v7.23+
- Optimize SIMD vector math instructions
- vector_math.h: Avoid strict aliasing violations and use safer memory operations
Third-Party Updates
- Android: Gradle 8.12.1
- Android: Kotlin 2.1.10
- Android: NDK r28
- aqtinstall 3.20
- QT 6.8.2 (all Desktop builds)
- Vulkan Memory Allocator v3.2.1
- Migrate from glad 0.1.36 to glad2 v2.0.8
- Vulkan: v1.4.304.1 support
- SDL 2.32.0
- xbyak v7.23.1
- Other minor dependency updates for Desktop and Android
- Details
- Category: Multiple Platform
What's New:
* Equations can now be embedded in programs, using X2LINE or EQN→STO→PRGM. Equation lines can be plain, which means they push the equation object onto the stack, or they can be EVAL lines, which evaluate the equation in place. Equation lines can be toggled between plain and EVAL lines using the EVAL
function in PRGM mode.
* The CUSTOM menu didn't stick reliably, due to a bug introduced in 1.2. Fixed.
- Details
- Category: Multiple Platform
What's New:
- Bump clap from 4.5.28 to 4.5.29
- fix PAL aspect ratio
- PAL aspect ratio adjustment
- don't modify cart.rom
- add a way to show internal FPS
- dynamically calculate speed limit frequency
- fix rsp reserved commands
- add some sdl window flags
- only try to assign enabled controllers
- Details
- Category: Multiple Platform
What's New:
* The CUSTOM menu didn't stick reliably, due to a bug introduced in 3.2. Fixed.
- Details
- Category: Multiple Platform
What's New:
- Revamped low-pass filter options for Genesis / Sega CD / 32X that should be significantly more accurate to actual hardware than the v0.8.3 settings
- Improved audio quality for all emulated systems via much higher-quality audio resampling
- A rather large number of bugfixes for Genesis, Sega CD, 32X, SMS, Game Gear, SNES, Game Boy [Color]
- Major bugfixes for Linux AppImage builds in Wayland
- Save state files are now internally compressed using zstd, which should reduce save state file size by 70-80% in most cases
- Basic CPU + CD-ROM drive overclocking options for Sega CD, which have fairly low compatibility but do help in some games
- Details
- Category: Multiple Platform
What's New:
Ignore generated RCa09800 files
Add toml++ to thirdparty libraries used
Save and load selected theme
- Details
- Category: Multiple Platform
What's New:
- Migration to egui to replace speedy2D.
- Support for WASM32 to run the emulator in a browser seehttps://kpouer.github.io/Maurice/
- Drag & drop support (to load tape files)
- Details
- Category: Multiple Platform
What's New:
- add some CPU read cycles
- use git hash for netplay sync
- Remove fat LTO
- Savestate support
- update cargo packages
- use cache-apt-pkgs-action@v1>
- Details
- Category: Multiple Platform
What's New:
Features
- (apu): Add config for buffer size
- (apu): Improve APU downsampling quality
- (config): Add support for per-game config overrides
- (nesutil): Add subcommand to create a ROM file
- (nesutil): Add subcommand to decode CHR to a PNG
- (nesutil): Add subcommand to decode Game Genie codes
- (nesutil): Add subcommand to encode Game Genie codes
- (nesutil): Add subcommand to encode a PNG to CHR data
- (nesutil): Add subcommand to split CHR and PRG from a ROM file
- (nesutil): Add support for extracting ROM header
Fixes
- (apu): Decrease default buffer size to prevent audio lag
- (apu): Optimize APU using a ring buffer
- Optimize web version by tweaking wasm-opt flags
Others
- (database): Update NoIntro database
- (nesutil): Improve ls subcommand error handling
- (nesutil): Improve multiple error formatting
- (nesutil): Rename gonesutil to nesutil
- Change import path to gabe565.com/gones
Dependencies
- (deps): Add enumer as versioned dependency [skip ci]
- (deps): lock file maintenance
- (deps): update dependency @trivago/prettier-plugin-sort-imports to v5.2.2
- (deps): update dependency @vitejs/plugin-vue to v5.2.1
- (deps): update dependency @vue/eslint-config-prettier to v10
- (deps): update dependency eslint-config-prettier to v10
- (deps): update dependency eslint-plugin-prettier to v5.2.3
- (deps): update dependency eslint-plugin-vue to v9.32.0
- (deps): update dependency globals to v15.14.0
- (deps): update dependency node to v22
- (deps): update dependency postcss to v8.5.2
- (deps): update dependency prettier to v3.5.0
- (deps): update dependency sass to v1.83.4
- (deps): update dependency tailwindcss to v4
- (deps): update dependency unplugin-icons to v22
- (deps): update dependency vite to v6.1.0
- (deps): update dependency vite-plugin-pwa to v0.21.1
- (deps): update dependency vue to v3.5.13
- (deps): update eslint monorepo to v9.20.0
- (deps): update gabe565.com/utils digest to e4ad4d8
- (deps): update go to v1.23.6
- (deps): update icons to v1.2.14
- (deps): update module github.com/hajimehoshi/ebiten/v2 to v2.8.6
- (deps): update module github.com/knadh/koanf/v2 to v2.1.2
- (deps): update module github.com/lmittmann/tint to v1.0.7
- (deps): update module github.com/puerkitobio/goquery to v1.10.1
- (deps): update module github.com/spf13/pflag to v1.0.6
- (deps): update module github.com/stretchr/testify to v1.10.0
- Details
- Category: Multiple Platform
What's New:
- new method for window decoration hack compatible with Ubuntu taskbar and MacOs bars
- Details
- Category: Multiple Platform
What's New:
- Updated PC-6001 compatible BASIC to 0.7.6
- Updated PC-6001 compatible basic ROMs to 0.7.6.
- Added Russian translation