Releases with ports for two or more operating systems.
- Details
- Category: Multiple Platform
What's New:
- Improved game controller selection
- Updated game controller database
- Improved fullscreen mode in Mac
- Improved mouse hiding behavior
- Replaced GLEW with Glad
- Added icon to Windows exe
- Bug fixes
- Details
- Category: Multiple Platform
What's New:
- Improved game controller selection
- Updated game controller database
- Improved fullscreen mode in Mac
- Improved mouse hiding behavior
- Replaced GLEW with Glad
- Added icon to Windows exe
- Bug fixes
- Details
- Category: Multiple Platform
What's New:
- Improved game controller selection
- Updated game controller database
- Improved fullscreen mode in Mac
- Improved mouse hiding behavior
- Replaced GLEW with Glad
- Added icon to Windows exe
- Bug fixes
- Details
- Category: Multiple Platform
What's New:
- Updated to the latest ClownMDEmu core.
- Fixed Z80 parity flag.
- Fixed VRAM viewer (and VRAM dumps) being byte-swapped.
- Details
- Category: Multiple Platform
What's New:
- Added link-cable support for Windows.
- Added GameShark support for Windows and Android.
- Users can now select the ROM directories to use by default for the ROM list.
- Added the ability to refresh the ROM list.
- Fixed the real-time-clock (RTC) so it will sync during pausing.
- Details
- Category: Multiple Platform
What's New:
Shell
Additions
- FLTK: NSF player with visualizer
Core
Additions
- New database entries for Castlevania Anniversary Collection releases
- Support for Jaleco JF-22 boards with SRAM
- Fix regression in PPU constructor when using blargg's NTSC filter
- Details
- Category: Multiple Platform
What's New:
- Deps: Update for July 2025
- CI/Flatpak: Simplify deps build
- CMake: Drop Flatpak workarounds
- README: Add migration instructions for Flatpak->AppImage
- Qt: Fix changing language while game running
- Host: Add FormatNumber()
- Misc: Use host locale formatting for dates
- Qt: Merge qttranslations.cpp with qthost.cpp
- Qt: Cache app locale object
- Qt: Use application locale in most places
- Qt: Implement 'System Language' language option
- Qt: Use selected language locale for formatting
- FullscreenUI: Add option to hide grid view labels
- FullscreenUI: Fix remaining fixed date/time formatting locations
- MediaCapture: Don't crash if video codec supports 0 formats
- CrashHandler: Fix recursive backtrace on Linux
- CMake: Force debug symbols on Linux
- Data: Update SDL game controller database
- Qt: Use localized date/time formatting in a few more places
- Achievements: Revert back to long date format for unlock/submit time
- CMake: Use -g1 for Release builds
- dep/imgui: Remap non-breaking space to space
- FullscreenUI: Fix clock position in pause menu
- GPU: Fix typo
- Qt: Add tooltips to game list
- Update the Simple-Chinese translation to latest.
- FullscreenUI: Fix focus loss with grid/list button
- Deps: Revert Harfbuzz to 11.2.1
- GameDB: Tweak compat settings for Parasite Eve 2
- GameDB: Set max speedup cycles to 70000 for Resident Evil 2
- System: Centralize pause checks
- Qt: Create main window before starting EmuThread
- CI/Flatpak: Hopefully fix build cache
- Qt: Fix possible crash on shutdown
- Scripts: Remove PKGBUILD
- Qt: Refuse to start in known broken environments
- Qt: Auto switch between any/changed values in memory scanner
- Qt: Fix assertion on shutdown after resize
- Qt: Fix maximized state not saving to config
- Qt: Display 'First Value' in memory scanner
- GameDatabase: Remove redundant SetRymlCallbacks()
- Misc: Replace a bunch of static qualifiers with inline
- Qt: Persist memory scanner watch list across instances
- Qt: Various fixes to memory scanner UI
- GPU: Fix screenshot size in uncorrected mode
- GPU: Simplify screenshot size calculation
- PerformanceCounters: Align to 4 elements
- AudioStream: Fix glitches when disabling fast-forwarding
- AudioStream: Back off resets that don't pass threshold over time
- AudioStream: SIMD averaging window calculation
- AudioStream: Use larger target size only when intentionally running slow
- dep/imgui: Demo window should not enabled
- ImGuiOverlays: Fix save state selector out-of-order drawing
- ImGuiManager: Don't render when skipping present
- ImGuiOverlays: Frame time history is aligned
- Settings: Remove middle padding
- Achievements: Split up overlay setting
- Qt: Fix inability to exit with HC mode active
- Qt: Fix exit on separate window close with FSUI active
- GameDB: Adjust crop area for Silent Hill
- Qt: Remove obsolete comment
- Qt: Don't reset model for every scanned game
- Qt: Add tooltips for more fields in game list
- Qt: Use header resize mode for game list column widths
- Qt: Use header resize mode for memory scanner
- Qt: Use header resize mode for settings panels
- Qt: Use header resize mode for memory card editor
- Qt: Use header resize mode for disc windows
- Qt: Remove now-unused resize column helpers
- Qt/Updater: Move Download Size indicator to the top
- GameDB: Fix cropping in Tomb Raider 4 & 5
- Achievements: Infer and display beaten/completed time
- Data: Update SDL game controller database
- Qt: Improve display of version in updater
- CMake: Update version requirements
- Qt: Fix updater download size display
- CI: Fix PR builds failing
- Qt: Fix buffer size help text (#3501)
- GameDB: Disable widescreen for Arc the Lad II
- GameDB: Disable disc speedup on MDEC for Chrono Cross
- GameDB: Delete obsolete comment
- GameDB: Add compatibility rating to a couple of games
- GameDB: Disable disc speedup on MDEC for Star Ocean - The Second Story
- Deps: Bump to SDL3 3.2.20
- CI: Missed one workflow
- Achievements: Fix counting progression achievements
- Achievements: Fix display of game completion date
- Achievements: Keep track of the earliest unlocked win condition
- FullscreenUI: Improve title padding of achievements
- Details
- Category: Multiple Platform
What's New:
- Deps: Update for July 2025
- CI/Flatpak: Simplify deps build
- CMake: Drop Flatpak workarounds
- README: Add migration instructions for Flatpak->AppImage
- Qt: Fix changing language while game running
- Host: Add FormatNumber()
- Misc: Use host locale formatting for dates
- Qt: Merge qttranslations.cpp with qthost.cpp
- Qt: Cache app locale object
- Qt: Use application locale in most places
- Qt: Implement 'System Language' language option
- Qt: Use selected language locale for formatting
- FullscreenUI: Add option to hide grid view labels
- FullscreenUI: Fix remaining fixed date/time formatting locations
- MediaCapture: Don't crash if video codec supports 0 formats
- CrashHandler: Fix recursive backtrace on Linux
- CMake: Force debug symbols on Linux
- Data: Update SDL game controller database
- Qt: Use localized date/time formatting in a few more places
- Achievements: Revert back to long date format for unlock/submit time
- CMake: Use -g1 for Release builds
- dep/imgui: Remap non-breaking space to space
- FullscreenUI: Fix clock position in pause menu
- GPU: Fix typo
- Qt: Add tooltips to game list
- Update the Simple-Chinese translation to latest.
- FullscreenUI: Fix focus loss with grid/list button
- Deps: Revert Harfbuzz to 11.2.1
- GameDB: Tweak compat settings for Parasite Eve 2
- GameDB: Set max speedup cycles to 70000 for Resident Evil 2
- System: Centralize pause checks
- Qt: Create main window before starting EmuThread
- CI/Flatpak: Hopefully fix build cache
- Qt: Fix possible crash on shutdown
- Scripts: Remove PKGBUILD
- Qt: Refuse to start in known broken environments
- Qt: Auto switch between any/changed values in memory scanner
- Qt: Fix assertion on shutdown after resize
- Qt: Fix maximized state not saving to config
- Qt: Display 'First Value' in memory scanner
- GameDatabase: Remove redundant SetRymlCallbacks()
- Misc: Replace a bunch of static qualifiers with inline
- Qt: Persist memory scanner watch list across instances
- Qt: Various fixes to memory scanner UI
- GPU: Fix screenshot size in uncorrected mode
- GPU: Simplify screenshot size calculation
- PerformanceCounters: Align to 4 elements
- AudioStream: Fix glitches when disabling fast-forwarding
- AudioStream: Back off resets that don't pass threshold over time
- AudioStream: SIMD averaging window calculation
- AudioStream: Use larger target size only when intentionally running slow
- dep/imgui: Demo window should not enabled
- ImGuiOverlays: Fix save state selector out-of-order drawing
- ImGuiManager: Don't render when skipping present
- ImGuiOverlays: Frame time history is aligned
- Settings: Remove middle padding
- Achievements: Split up overlay setting
- Qt: Fix inability to exit with HC mode active
- Qt: Fix exit on separate window close with FSUI active
- GameDB: Adjust crop area for Silent Hill
- Qt: Remove obsolete comment
- Qt: Don't reset model for every scanned game
- Qt: Add tooltips for more fields in game list
- Qt: Use header resize mode for game list column widths
- Qt: Use header resize mode for memory scanner
- Qt: Use header resize mode for settings panels
- Qt: Use header resize mode for memory card editor
- Qt: Use header resize mode for disc windows
- Qt: Remove now-unused resize column helpers
- Qt/Updater: Move Download Size indicator to the top
- GameDB: Fix cropping in Tomb Raider 4 & 5
- Achievements: Infer and display beaten/completed time
- Data: Update SDL game controller database
- Qt: Improve display of version in updater
- CMake: Update version requirements
- Qt: Fix updater download size display
- CI: Fix PR builds failing
- Qt: Fix buffer size help text (#3501)
- GameDB: Disable widescreen for Arc the Lad II
- GameDB: Disable disc speedup on MDEC for Chrono Cross
- GameDB: Delete obsolete comment
- GameDB: Add compatibility rating to a couple of games
- GameDB: Disable disc speedup on MDEC for Star Ocean - The Second Story
- Deps: Bump to SDL3 3.2.20
- CI: Missed one workflow
- Achievements: Fix counting progression achievements
- Achievements: Fix display of game completion date
- Achievements: Keep track of the earliest unlocked win condition
- FullscreenUI: Improve title padding of achievements
- Details
- Category: Multiple Platform
What's New:
- Add option to hide BBC cursor when not in focus
- Add support for larger MOS ROM images: 64 KB (Compact/PC 128 S), 128 KB (Master 128 MegaROM), 512 KB (modern multi-OS)
- Add support for View Trilogy and Instant Mini Office II
- Allow sideways ROM load failure when switching config: it's just a warning now, so the BBC will still boot
- Fix some input focus stuff: give keyboard focus to BBC on startup; unpress BBC keys when not in focus; enable clickthrough on focus on all platforms
- Improve Video NuLA accuracy
- Windows: build with Visual Studio 2022
- Windows: fix fast user switching problems
- Windows: reduce CPU usage when display sleeps
- Windows: use newer libcurl
- Windows, macOS: use newer SDL2
- Details
- Category: Multiple Platform
What's New:
- PCG-8100 sound compatible
- Added a disk image selection item to the toolbar
- Fixed a bug where the clock was not reflected in the toolbar reset menu.
- Details
- Category: Multiple Platform
What's New:
- Save state slots are supported. Press Alt+0-9 to change which save state you are saving/loading from.
- On-screen messages (no more robotic Scottish voice). These will let you know when you change your controller pak, save or load a state, when cheats are enabled, etc..
- Small improvements to the controller selection dropdowns
- Update to latest versions of Rust and SDL
- Use nearest filtering for final image rendering (results in a sharper image)
- Details
- Category: Multiple Platform
What's New:
improved server connect experience
The server connection dialog will now tell you if you are attempting to
use a malformed URL (e.g. not including "http://"), hopefully reducing confusion when
connections fail.
- Details
- Category: Multiple Platform
What's New:
MCP (Model Context Protocol) Server Integration
Enables AI assistants and LLMs to interact with microM8:
- Compatible with Claude, ChatGPT, and other MCP-enabled clients
- Two transport modes: stdio (default) and SSE (Server-Sent Events)
- Details
- Category: Multiple Platform
What's New:
- On-demand netplay cloud servers. Previously, there were 3 always-running netplay servers (US West, US East, and Europe). Now, you can create a netplay server across many different regions (as of now, there are 12 regions, please let me know if you would like one that isn't there today).
- This works by creating the server on demand when you request it. This means that when you create a server, it will take about 20-30 seconds for it to complete. This is the time it takes to provision the server.
- There is also now a unified session browser. All games from across all regions are shown in the "Join Session" window.