Releases: SvenGDK/RetroMultiTools
Retro Multi Tools v5.0
Disc Tools Utility
A brand-new cross-platform Disc Tools utility has been added to the Utilities section. You can now:
- Burn disc images (ISO, BIN/CUE, IMG, NRG, TOAST) to physical disc drives.
- Burn files and folders directly to disc.
- Create disc images from physical discs or from files/folders.
- Choose write speed, enable post-burn verification, and cancel operations at any time.
- Works on Windows, macOS, and Linux with native tools auto-detected.
USB Tools Utility
A full-featured USB Tools utility is now available, providing:
- File Explorer — Browse, add, move, and delete files on USB drives.
- Format — Format USB drives with FAT, FAT32, exFAT, or NTFS in MBR or GPT mode.
- Write Image to USB — Write ISO, IMG, BIN, and other image files to USB drives.
- Create Image from USB — Create a full backup image from a connected USB drive.
- Auto-detects USB plug/unplug events and refreshes the drive list automatically.
- Confirmation dialogs protect all destructive operations (format, write, delete).
Modern Big Picture Mode
A second "Modern" Big Picture Mode layout inspired by streaming services is now available, selectable from Settings:
- Hero Spotlight — Large artwork, game title, system badge, star rating, play stats, and launch buttons at the top.
- Horizontal Carousel Rows — Scroll through Recently Played, Favorites, Top Rated, Most Played, All Games, and per-system rows.
- Card hover effects, right-click context menu (Launch, Favorite, Rate, ROM Info, Artwork, Open File Location, Copy Path), and mouse-wheel horizontal scrolling.
- Sort by Play Count option added to both Classic and Modern views.
- Full gamepad, keyboard, search, filter, screensaver, gallery, and Discord Rich Presence support.
First-Run Guided Tour
A 13-step animated onboarding tour now runs on first launch, walking you through every feature of the app:
- Covers ROM Browser, Patching, Analysis, Headers, Utilities, Emulator Integrations, Big Picture Mode, and Settings.
- Step indicator dots, Back/Next/Skip navigation, and smooth animated transitions.
- Can be restarted anytime from Settings.
- Keyboard navigation supported (Enter/Right to advance, Left to go back, Escape to skip).
Emulator Configurators
Three powerful new configurators let you edit emulator settings directly inside RetroMultiTools — no need to open each emulator separately:
- RetroArch Configurator — Edit
retroarch.cfgwith a 10-tab UI covering 355+ settings (Paths, Video, Audio, Input, Core/Saving, Menu, Network, Frame Throttle, Achievements, Misc). Includes search/filter, 3 additional tabs, and expanded settings coverage (175→355). - MAME Configurator — Edit
mame.iniwith a 6-tab UI for 170+ settings (Paths, Video, Sound, Input, Performance, Misc). Includes per-window multi-monitor options and search/filter. - Mednafen Configurator — Edit
mednafen.cfgwith an 8-tab UI covering all 22 emulation modules (General, Video, Sound, Input, Paths, Per-System, Netplay, Advanced). Includes search/filter.
All three support: auto-detection of config files (including Flatpak/Snap installs), unsaved changes warnings ("dirty state" tracking), save/save-as, reset to defaults, and create new config.
Packaging & Distribution
- Linux: AppImage, Snap, Flatpak, DEB, RPM, APK (Alpine Linux), and Pacman (.pkg.tar.zst) packages are now built automatically.
- macOS: DMG drag-and-drop installer added alongside PKG and ZIP.
- FreeBSD: New build workflow and installation guide added.
- Flatpak: Production-ready Flathub submission files (AppStream metainfo, desktop entry, manifest) are now included in the repository (not yet submitted).
Documentation & Website
- GitHub Pages documentation site with dark theme matching the app's color scheme.
- Comprehensive install instructions for all Linux distributions supported by .NET 8.
- New feature documentation for Disc Tools and USB Tools.
- README overhauled and compacted with download tables for all package formats.
Updates & Improvements
User Interface
- Sidebar navigation replaced from a flat list with a collapsible TreeView, making it easier to find tools by category.
- Sidebar search added — quickly filter and jump to any tool by typing its name.
- Drag-and-drop file input added across 11 tool views — drop ROM files or images directly onto input fields.
- Keyboard shortcuts added throughout the app for common actions.
- Tooltips added to all action buttons and toolbar items for better discoverability.
- Progress indicators added where previously missing.
- ROM Browser context menu improved with organized submenus, direct tool navigation, and new actions (Open File Location, Copy File Path).
Builds
- Removed non-self-contained builds — all releases are now self-contained (no .NET runtime required).
- Maximized compression across all builds for smaller downloads.
Bug Fixes
Auto-Updater
- Fixed the updater not detecting new releases when GitHub's "latest" endpoint didn't return the newest version. Now scans all recent releases and picks the highest version.
- Fixed network errors being silently swallowed, making them indistinguishable from "no update available."
- Fixed large update downloads timing out due to an overly aggressive 30-second limit on the entire download.
- Fixed temporary update files never being cleaned up after installation.
- Fixed UI buttons not resetting properly after cancelling a download.
- Fixed version comparison bugs where tags like
v4.0didn't compare correctly withv4.0.0. - Fixed stale update state remaining after a failed check, leaving the UI inconsistent on retry.
Security
- Path traversal vulnerabilities fixed — file operations now validate paths to prevent escaping intended directories.
- Credential validation added where previously missing.
- Fixed socket resource leak in Discord Rich Presence when connection fails.
Emulator Integration
- Fixed macOS .app bundle detection selecting the wrong application when multiple apps existed in the same folder.
- Fixed Discord Rich Presence not being set when launching a game from Big Picture Mode.
- Fixed Mednafen launcher missing Flatpak detection paths (RetroArch and MAME already had them).
Stability & Reliability
- Fixed process deadlocks that could freeze the app when running external tools.
- Fixed race conditions in concurrent operations.
- Fixed several null reference crashes across ROM info display, gallery navigation, and artwork viewing.
- Fixed missing exception handling in settings loading that caused crashes in sandboxed environments (Flatpak, Snap).
- Fixed URL opening (links, download pages) failing inside Flatpak sandboxes — now uses
xdg-openon Linux. - Fixed CUE file path handling returning invalid paths in certain scenarios.
User Interface Fixes
- Fixed view layouts stretching incorrectly and not resizing properly.
- Fixed radio button options reading stale values from sibling buttons, causing wrong settings to be applied.
- Fixed format dropdown resetting unexpectedly when switching between views.
- Fixed button states not updating correctly (buttons staying disabled or enabled at wrong times) across 9 views.
- Fixed sidebar items getting clipped and scrollbar overlaying content in the TreeView (still not perfect but better).
- Fixed mode switching not working in several tool views.
- Fixed hardcoded English strings that weren't going through the translation system.
Big Picture Mode
- Fixed screensaver activating during gallery slideshow mode.
- Fixed search box swallowing normal keyboard input.
Packaging
- Fixed Linux DEB package missing runtime dependency declarations.
- Fixed Inno Setup (Windows installer) not offering a desktop shortcut option.
Retro Multi Tools v4.1.0
Changelog v4.0.0 -> v4.1.0
Updates & Improvements
Better Emulator Detection Across All Platforms
- More install locations are now recognized — RetroArch, MAME, and Mednafen are now automatically found in additional common locations on Linux (e.g. Debian/Ubuntu system paths), macOS (including MacPorts), and Windows (Chocolatey).
- Nix package manager support — Emulators installed via Nix on Linux and macOS are now automatically detected.
- MAME Flatpak support — MAME installed as a Flatpak (user or system-wide) is now detected and can be launched directly, matching the existing RetroArch Flatpak support.
- ARM64 Linux core discovery — RetroArch cores on ARM64 Linux systems are now found automatically.
Improved macOS Application Handling
- Smarter .app bundle recognition — Selecting an emulator application on macOS now works reliably, even if the app has an unusual name or internal structure. The app reads the bundle's metadata to find the correct executable.
- Browse button now works for .app bundles — On macOS, the Browse button in settings uses a folder picker so you can properly select
.appapplications. You can also paste a path directly into the text field and press Enter. - Selecting a parent folder works too — If you select a folder like
/Applications/instead of the app itself, the tool will automatically find the emulator app inside it. - Native menu bar now visible on macOS — The application menu bar now appears correctly in the macOS menu bar at the top of the screen.
Other Improvements
- Improved network connection handling — Downloads for RetroArch cores and controller profiles now use a more efficient and consistent connection method.
- Custom install path support — If you point the tool to a custom emulator folder (e.g.
/opt/custom/retroarch/), it will now correctly find the executable inside, including inbin/subdirectories. - RetroArch core search follows the executable — Cores are now found relative to wherever your RetroArch executable is installed, not just in hardcoded system paths.
Bug Fixes
Crash Fixes
- Fixed crash when changing language on macOS and Linux — Switching the app language in Settings no longer crashes the application. The language change is now applied safely in the background.
Emulator Detection & Launching
- Fixed emulators not being found on fresh installs — On a first-time setup where config directories don't exist yet, RetroArch and Mednafen are now detected properly instead of silently failing.
- Fixed custom emulator paths being ignored — Setting a custom path to an emulator folder (instead of the exact executable file) now works correctly on all platforms.
- Fixed macOS apps with different letter casing not being recognized — An app named
retroarchvs.RetroArchinside the bundle no longer causes detection to fail. - Fixed selecting files from inside a .app bundle — If the file picker navigated inside a macOS
.appbundle and you selected an internal file, it was previously rejected. This now works correctly. - Fixed .app bundles in paths with spaces not being detected — Paths like
/Users/name/My Games/RetroArch.appnow work correctly. - Fixed Browse button doing nothing on macOS — Selecting a
.appapplication via the Browse button previously returned empty results silently. This is now resolved.
Controller Profiles & Shortcuts
- Fixed controller profile downloads failing on system-installed RetroArch (Linux) — Downloads now save to the user config directory when the system install location isn't writable.
- Fixed Linux desktop shortcuts with special characters — Shortcut arguments containing spaces or special characters are now properly escaped, preventing launch failures.
UI & Localization
- Fixed MAME and Mednafen settings buttons using wrong labels — The Browse, Auto-Detect, and Clear buttons in MAME and Mednafen settings now show their own correct labels instead of RetroArch-specific ones.
- Fixed broken placeholder in Italian translation — A garbled text placeholder in the Italian core-not-found message has been corrected.
Retro Multi Tools v4.0
New Features
Gamepad Key Mapper Utility
A new utility for mapping gamepad buttons, sticks, and triggers to keyboard keys, mouse buttons/movement, scripts, and multi-step macros. Includes switchable mapping profiles, auto-profile switching based on the active window, profile import/export, and cross-platform input simulation (Windows, Linux, macOS).
Mednafen Emulator Integration
Full launcher support for the Mednafen emulator — on par with RetroArch and MAME. Supports 13 systems (NES, SNES, Game Boy, GBA, Genesis, Saturn, PC Engine, and more). Includes cross-platform auto-detection, a settings UI for browsing/configuring the Mednafen path, and launch buttons in both the ROM Browser and Big Picture Mode.
Unified Archive Manager
The separate ZIP Extractor and GZip Decompressor have been merged into a single Archive Manager. It now supports extracting ZIP, RAR, and 7z archives, plus creating ZIP archives from ROM files (single file, batch one-per-ROM, or all-in-one).
xDelta / VCDIFF ROM Patching
The ROM Patcher now supports xDelta and VCDIFF patch formats in addition to the existing IPS and BPS formats. This implements a full VCDIFF (RFC 3284) decoder with all instruction types and checksum verification.
Release Notes in Update Dialog
When checking for updates, the release notes are now displayed as rendered Markdown directly in the update dialogs (both in Settings and the startup popup).
Big Picture Mode Feature Updates
Screensaver / Attract Mode
A fullscreen artwork slideshow activates after a configurable inactivity timeout (0–30 minutes). It cycles through random game artwork every 5 seconds and dismisses on any key or gamepad input.
Quick Letter Jump (A–Z)
Press any letter key to instantly jump to the first ROM starting with that letter. A large on-screen indicator briefly shows which letter was selected.
Recently Played Quick Access Bar
Toggle a horizontal bar above the card grid showing up to 10 recently played games with thumbnails. Click to select, double-click to launch. Refreshes automatically after every play session.
Collection Statistics Overlay
A modal overlay showing total ROM count, per-system breakdown (count & size), favorites count, and total/average file sizes. Works with both filtered and unfiltered collections.
Quick System Cycle
Use [ and ] keys (or gamepad triggers) to cycle through the system filter forward/backward with wrap-around, with a brief indicator showing the selected system.
Gallery / Auto-Scroll Mode
Automatically advances through the game card grid every 3 seconds. Wraps at the end. Stops on any manual navigation or when another overlay opens.
Play Time Tracking
Automatically records how long you play each game (wall-clock time from process start to exit). Displayed in the detail panel, ROM Info overlay, and Collection Statistics. Formatted as human-readable (e.g. "2h 15m").
Fullscreen Artwork Viewer
Press V to open a fullscreen overlay cycling through box art, screenshots, and title screens at full size. Navigate with arrow keys or gamepad.
User Game Ratings
Rate games from 1 to 5 stars using number keys or a gamepad action. Ratings appear on game cards and the detail panel. A new "Sort by Rating" option is available.
Updates & Improvements
Localization & Translations
- Immediate language switching — changing the language in Settings now takes effect instantly without needing to restart the app.
- All 19 supported languages have been updated with complete translations.
- UI layouts have been adjusted to prevent translated text from being clipped in languages with longer strings.
Archive Manager
- The decompressor has been reorganized under the Archives section.
Gamepad & Controller Support
- Full gamepad mapping for all standard controller inputs in Big Picture Mode (D-Pad, sticks, triggers, bumpers).
- Gamepad dead zone changes in Settings now apply immediately at runtime (previously required restarting Big Picture Mode).
- Improved controller hotplug detection.
Big Picture Mode
- New settings toggles to enable/disable play time tracking and game ratings independently.
- The help overlay has been expanded with all new keyboard shortcuts and gamepad hints.
MAME Tools
- Disk verification and cancellation support have been improved.
- Shared helper utilities have been consolidated for better consistency.
Updater
- The updater now correctly defers replacing all its own locked files during updates (not just the executable), preventing false "update failed" messages.
- Temporary directory cleanup no longer blocks the updater's log file.
- Download progress is now clamped to 100%.
ROM Browser
- File size column sorting now works correctly by actual numeric value instead of the formatted display string.
- Scan cancellation and delete confirmation dialogs have been added.
ROM Patcher
- The BPS patcher have been optimized for faster patching of large files.
Analogue Tools
- Analogue 3D: The "Remove Artwork" and "Delete Game Pak" functions now have dedicated UI buttons.
- Mega SG / NT+Super NT: SD card folder validation has been added to check for the expected directory structure.
- Game pak list icons now update immediately after changes instead of requiring a full rescan.
- Delete confirmations have been added for destructive operations.
Emulator Config Generator
- RetroArch configs now include recommended
run_ahead_secondary_instanceandrewind_buffer_sizesettings. - MAME config paths are now properly normalized.
RetroAchievements Writer & Playlist Utility
- Missing implementations and incomplete features have been added.
ROM Inspector & Hex Viewer
- Search functionality has been improved.
- Better error handling.
Bug Fixes
Application Stability
- Fixed multiple potential crashes caused by disposing bitmaps while still displayed in the UI (ROM Browser, ROM Inspector, Big Picture Mode).
- Fixed crashes from unhandled exceptions in asynchronous event handlers across several views (Analogue Pocket, Big Picture Mode, ROM Browser).
- Fixed a thread-safety issue where the SDL2 native library could be registered twice simultaneously, causing a crash.
- Fixed unobserved task exceptions in Discord Rich Presence that could crash the app.
Big Picture Mode Fixes
- Fixed overlays rendering in unpredictable order due to shared Z-index values.
- Fixed the card grid navigation width calculation going to zero in certain window sizes.
Gamepad Support Fixes
- Fixed controller hotplug detection and pipe communication deadlocks.
- Fixed the gamepad service not fully resetting its state between sessions.
Updater Fixes
- Fixed the updater falsely reporting "update failed" when it couldn't overwrite its own locked DLL file.
- Fixed the updater's log file preventing cleanup of the temporary directory.
- Fixed the updater fallback filename missing the
.exeextension on Windows.
Localization Fixes
- Fixed language changes in Settings not taking effect until restart.
- Fixed the Native Menu (macOS) not updating when changing the language.
MAME Tools Fixes
- Fixed the DAT Editor failing to load its own saved files due to a DTD processing conflict.
- Fixed MAME volume settings being silently muted at low levels due to integer rounding.
- Fixed MAME launcher not setting the correct working directory, causing relative paths to fail.
ROM Browser & Patcher Fixes
- Fixed file size column sorting producing wrong results (sorted alphabetically instead of numerically).
- Fixed crash-prone event handlers in the ROM Browser.
Analogue Tools Fixes
- Fixed stale indicator icons after saving settings or artwork on the Analogue 3D.
- Fixed cross-platform path handling in save state listing.
- Fixed the "Set Artwork" button being enabled before selecting a game pak on the Analogue 3D.
Other Fixes
- Fixed the Cheat Code Converter not properly normalizing input.
- Fixed the DAT Verifier failing on files with DTD declarations.
- Fixed the Mednafen config generator skipping Sega Saturn settings.
- Fixed the Mednafen
video.disable_compositionsetting being tied to the wrong option. - Fixed the favorites system being case-sensitive on Windows (e.g.
C:\Gamesandc:\gamesbeing treated as different). - Fixed file cleanup errors potentially masking the original error across all patchers and utilities.
- Fixed the settings save failing silently on sandboxed platforms (macOS, Snap, Flatpak).
- Fixed temporary file leaks in the gamepad mapping storage.
Retro Multi Tools v3.0
New Features
-
Neo Geo Support via Geolith Core
- Neo Geo ROMs are now launched through the geolith core in RetroArch, which provides much more accurate emulation for both AES (home console) and MVS (arcade) hardware.
- A BIOS mode notice is shown in the status bar and in the Big Picture view whenever a Neo Geo ROM is selected or launched.
-
ZIP ROM Detection
- The app can now look inside ZIP files to detect which gaming system the ROM belongs to (e.g., a zipped NES ROM is recognized as NES, a zipped arcade set as MAME). Previously, ZIP files were completely invisible to the scanner and organizer.
-
MAME Support for Arcade ROMs
- Arcade ROMs can now be launched directly with MAME from both the ROM Browser and the Big Picture Mode.
- The "Launch with MAME" button and context menu option are only shown/enabled when an Arcade ROM is selected.
-
CHD Converter & MAME DAT Editor
- New tools added: a CHD Compressor/Decompressor for converting disc-based game images, and a MAME DAT Editor for viewing and editing MAME game database files.
-
RetroArch Utilities
- Added several new RetroArch-related tools:
- Achievements Writer — manage RetroAchievements data for games
- Playlist Creator — build RetroArch playlists from your ROM folders
- Shortcut Creator — create desktop/OS shortcuts to launch ROMs directly in RetroArch
- Integration View — a dedicated area for all RetroArch settings and tools
- Added several new RetroArch-related tools:
-
MAME Integration View
- MAME now has its own dedicated Integration page (just like RetroArch), where you can browse, auto-detect, download, or clear the MAME executable path.
- The general Settings page has been cleaned up — emulator-specific settings are now found in their respective Integration views.
- MAME now has its own dedicated Integration page (just like RetroArch), where you can browse, auto-detect, download, or clear the MAME executable path.
-
New Accessible Settings
- Two previously hidden settings are now accessible from the Settings page:
- Big Picture Card Scale — adjust the size of game cards in Big Picture mode (0.5× to 2.0×)
- Gamepad — enable/disable gamepad support and configure the dead-zone sensitivity
- Two previously hidden settings are now accessible from the Settings page:
-
ROM Organizer — Copy or Move Choice
- When organizing ROMs from the ROM Browser, you are now asked whether you want to Copy or Move the files, instead of always copying.
Analogue Pocket SD Card Tools
Simply point the app to your Pocket's SD card and use any of the following features:
-
Browse & View Installed Cores
- See all your installed openFPGA cores at a glance, including the author name, platform, version, and total size on disk.
-
Export Screenshots
- Copy all screenshots from your Pocket SD card to a folder on your computer.
-
Backup & Restore Save Files
- Backup: Copy all your save files from the Pocket to a folder of your choice — folder structure is preserved.
- Restore: Copy save files from a previous backup back onto the Pocket SD card.
-
Open Game Folders
- Lists all your game platform folders (under the
Assets/directory) and lets you open any of them directly in your file explorer with a single click.
- Lists all your game platform folders (under the
-
Manage Save States
- Browse all your save states stored on the Pocket, see their platform, file size, and last modified date. You can select and delete save states in bulk, with "Select All" and "Deselect All" helpers.
-
Export Game Boy Camera Photos
- Load a Game Boy Camera save file (
.sav) from your Pocket and export all photos stored in it as BMP image files to a folder on your computer.
- Load a Game Boy Camera save file (
-
Auto-Copy Files
- Select any folder on your computer and automatically copy all its contents to the matching location on your Pocket SD card — perfect for syncing new ROMs, cores, or assets.
-
Library Image Generator
- Automatically generates placeholder cover images for any ROMs in your library that don't already have one. Images are saved directly to the Pocket's library folder.
Analogue NT & Super NT SD Card Tools
- Custom Font Generator
- Generate a custom menu font for your console:
- Use the built-in default font — no extra files needed.
- Or provide your own 128×128 BMP image containing a 16×16 grid of 8×8 characters to generate a fully custom font.
- Works for both the Analogue NT and the Super NT (selectable via radio buttons).
- Generate a custom menu font for your console:
- NES Header Repair
- Select any
.nesROM file and repair its iNES header by cleaning invalid padding bytes. NES 2.0 headers are automatically detected and left untouched.
- Select any
Analogue Mega SG SD Card Tools
-
Custom Font Generator
- Same font generation capability as for the NT/Super NT — generate a default font or create one from a custom 128×128 BMP image, saved directly to your Mega SG's SD card.
-
Save File Converter (Saves-Manager)
- Load any save file (
.sav,.srm,.eep, etc.) and convert it between different formats. The app shows the file size and detected type before converting. Available conversions:
- Load any save file (
| Conversion | What it does |
|---|---|
| Swap Endian (16-bit) | Reverses byte pairs |
| Swap Endian (32-bit) | Reverses 4-byte groups |
| Pad to Power of Two | Pads the file to the next power-of-two size |
| Trim Trailing Zeros | Removes trailing 0x00 bytes |
| Trim Trailing 0xFF | Removes trailing 0xFF bytes |
| SRM → SAV | Converts SRM format to SAV |
| SAV → SRM | Converts SAV format to SRM |
Analogue 3D (N64) SD Card Tools
-
Scan Game Paks
- Scan your SD card for N64 Game Pak ROMs (
.z64,.n64,.v64). Each game entry shows:- The game's internal name and game code (read from the ROM header)
- File size
- Icons indicating whether it already has label artwork, display settings, or hardware settings
- Scan your SD card for N64 Game Pak ROMs (
-
Per-Game Display Settings
- Click any game in the list to edit its individual display settings:
- Resolution (auto, 240p, 480i, 480p, 720p, 1080p)
- Aspect Ratio (auto, 4:3, 16:9)
- Smoothing (off, bilinear, crt)
- Crop Overscan (on/off)
- Click any game in the list to edit its individual display settings:
Settings are saved as JSON files directly on the SD card.
-
Per-Game Hardware Settings
- Also editable per game:
- Expansion Pak (on/off)
- Rumble Pak (on/off)
- CPU Overclock (on/off)
- Controller Pak mode (auto, memory, rumble, none)
- Also editable per game:
-
Set Label Artwork
- After selecting a game from the list, you can assign a custom PNG image as the label artwork for that game. It is saved to the SD card's library images folder.
Updates & Improvements
-
Emulator Config Generator Improvements
- The config generator now automatically creates any missing output folders, preventing errors when saving to new locations.
- Several internal improvements to keep generated config files clean and consistent.
-
Settings & UI Cleanup
- RetroArch and MAME configuration options removed from the general Settings page — they are now exclusively in their dedicated Integration views, making Settings less cluttered.
-
Project Structure Reorganization
- All gaming system names are now sorted A-Z throughout the app — dropdowns, lists, and documentation all follow alphabetical order.
- Internal code organization improved.
Bug Fixes
-
macOS: RetroArch could not be selected in Settings
- On macOS, the file picker was unable to find or select the
RetroArch.appbundle. This is now fixed — the file picker correctly recognizes.appbundles on macOS.
- On macOS, the file picker was unable to find or select the
-
RetroArch Core Downloader: ARM64 Support Missing
- The Core Downloader always downloaded x86_64 cores on Linux, even on ARM64 devices (e.g., Raspberry Pi, Apple Silicon). It now correctly detects and downloads the right architecture.
-
Emulator Config Generator: Several Silent Failures
- Mesen: The save state directory setting was silently dropped and never written to the config file.
- Mednafen: The "Show FPS" setting was mapped to the wrong config key and had no effect.
- RetroArch: The integer scaling setting was omitted when disabled, meaning old config files could retain a stale "enabled" value.
-
ROM Detection: False Positives for Common File Types
- Files like Markdown documents (
.md), generic binaries (.bin), and random ZIPs were incorrectly identified as game ROMs. Detection now validates file contents to confirm system identity.
- Files like Markdown documents (
-
ROM Detection: Wrong File Size & Truncated Saturn Titles
- Several system parsers reported an incorrect file size for ROM info. This is now fixed to show the actual file size.
- Sega Saturn ROM titles were cut off at 16 characters; the correct limit of 112 characters is now used.
-
BPS Patcher: Data Corruption When Patching ROMs
- A bug in the BPS patch engine could cause incorrect data to be written when patching large ROMs, resulting in a corrupted output file. This is now fixed.
-
Save File Converter: Edge Case Producing Incorrect Output
- When trimming padding from a save file where all bytes were padding, the converter returned a 1-byte garbage result instead of an empty file.
-
Discord Rich Presence: Connection Could Leak Resources
- If the Discord connection failed after partially connecting, system resources (named pipe handles) were not properly released. This is now handled correctly.
-
Gamepad: Controller Stopped Working After Closing Mapper Window
- After closing the Gamepad Mapper window, the gamepad service was not restarted, causing controllers to stop responding until the app was restarted.
-
General Stability & Error Handling
- Fixed a potential crash when ROM detection received an empty file path.
- Fixed a potential crash in the app's crash reporter itself.
- Fixed a rare crash when copying text to the clipboard on Linux (Wayland) without windo...
Retro Multi Tools v2
Updates
-
Added new Application Updater
- Automatically check for updates on startup (can be set ON/OFF in the Settings)
- "Check for Updates" button in the Settings for manual checking
- Shows a dialog with "Download" and "Later" buttons if an update is found
-
Added a Native Menu
- Platform-native application menu for macOS and supported Linux desktops
- Mirrors all sidebar navigation categories and items
-
Added a Tray Icon
- System tray icon with Show / Exit context menu
- Automatically minimizes to the system tray when launching a ROM with RetroArch (configurable)
- Automatically restores when the emulator process exits
- Tray icon appears only while the window is minimized to the tray
-
Added a new Big Picture Mode
- Transforms the ROM Browser into a fullscreen, controller-friendly experience inspired by Steam's Big Picture
- It displays your ROM collection as large visual cards with color-coded system banners, making it ideal for couch gaming with a keyboard or game controller
- There are two ways to enter Big Picture Mode:
- From the ROM Browser : Click the Big Picture Mode button in the toolbar. If you already have a folder scanned, the current ROM list is carried over so you don't have to rescan
- On startup : Enable Start in Big Picture Mode automatically in the Settings view and configure a ROM folder. The application will launch directly into Big Picture Mode
-
Added a new SDL2 Gamepad Mapping Tool
- Create custom SDL2 controller mappings for unrecognized or unmapped game controllers. Accessible from the Settings view under Controller Profiles → Open Gamepad Tool.
- Step-by-step mapping wizard for all 21 standard SDL2 game controller elements (face buttons, D-pad, triggers, stick axes)
- Save custom mappings permanently or copy to clipboard
- Manage and delete saved custom mappings
- Mappings are automatically applied at startup in Big Picture Mode
-
Added a new "GoodTools" Identifier utility
- Identifies GoodTools labelling conventions from ROM filenames.
- Decode each code tag to its meaning (e.g.,
[!]= Verified Good Dump,(U)= USA) - Single ROM or batch directory processing
- Also surfaces identified codes directly in the ROM Browser
-
Add a new ROM hosting & sharing feature to the ROM Browser
- Supports two modes: directory hosting (all ROM files) and selected files hosting (specific ROMs)
- Provides a styled HTML directory listing page for browsing
- Supports HTTP range requests for resumable downloads
- Handles concurrent connections via async I/O
- Includes path-traversal protection to prevent accessing files outside the shared scope
- Detects LAN IP addresses for easy sharing
- Falls back to localhost binding if wildcard binding requires elevated permissions
-
Added a new Discord Rich Presence functionality
- Can be toggled ON/OFF in the Settings
-
Added full support for 11 new retro gaming systems across all available functions
| System | Extensions | Header Parsing | Security Analysis | Dump Verification | Cheat Codes | Header Fixing |
|---|---|---|---|---|---|---|
| Atari 800 / XL / XE | .atr, .xex, .car, .cas |
✔ | ✔ | ✔ | — | — |
| Fairchild Channel F | .chf |
✔ | ✔ | ✔ | — | — |
| Memotech MTX | .mtx, .run |
✔ | ✔ | ✔ | — | — |
| NEC PC-88 | .d88, .t88 |
✔ | ✔ | ✔ | — | — |
| Nintendo 64DD | .ndd |
✔ | ✔ | ✔ | — | — |
| Nintendo DS | .nds |
✔ | ✔ | ✔ | ✔ | ✔ |
| Nintendo 3DS | .3ds, .cia |
✔ | ✔ | ✔ | ✔ | ✔ |
| Philips CD-i | .iso, .cue |
✔ | ✔ | ✔ | — | — |
| SNK Neo Geo | .neo |
✔ | ✔ | ✔ | ✔ | — |
| SNK Neo Geo CD | .iso, .cue |
✔ | ✔ | ✔ | — | — |
| Tiger Game Com | .tgc |
✔ | ✔ | ✔ | — | — |
- Updated Cheat Codes & Header Fixing Support
| System | Header Parsing | Security Analysis | Dump Verification | Cheat Codes | Header Fixing |
|---|---|---|---|---|---|
| Intellivision | ✔ | ✔ | ✔ | — | ✔ |
| Sega Saturn | ✔ | ✔ | ✔ | ✔ | — |
| Sega Dreamcast | ✔ | ✔ | ✔ | ✔ | — |
- Added a new Search function in the ROM Browser
- Type in the Search box to filter ROMs by name, system, or file size
- Search results combine with the system filter for fine-grained browsing
- Added a new ROM Browser Context Menu
- Right-click on a selected ROM in the list to access a context menu with quick actions:
| Action | Description |
|---|---|
| 🎮 Launch with RetroArch | Launches the selected ROM in RetroArch with the appropriate core |
| 📋 Copy To... | Copies the selected ROM(s) to a destination folder |
| 📁 Move To... | Moves the selected ROM(s) to a destination folder |
| 📤 Send To Remote... | Opens the Send to Remote dialog for the selected ROM(s) |
| 🔄 Convert Format | Available for N64, SNES, and NES ROMs — opens the format converter |
| ✂️ Trim ROM | Available for systems with trimmable ROMs (NES, SNES, N64, Game Boy, GBA) |
| 📄 Export Header | Exports the ROM header to a text file for systems with parseable headers |
| ✅ Verify ROM | Guides you to the DAT Verifier or Dump Verifier for ROM verification |
| 🗑️ Delete | Deletes the selected ROM(s) from disk |
-
Updated Cloud Storage Support for sending ROMs
- Now also supports Google Drive, Dropbox & OneDrive
-
Updated MAME Arcade Rebuilder & Auditor
- The MAME Arcade Rebuilder had no way to choose between split, merged, or non-merged rebuild modes & Auditors only searched top-level directories
- Added :
- Split: only non-merged ROMs per machine (existing default behavior)
- NonMerged: includes all ROMs ignoring merge attribute — each ZIP is self-contained
- Merged: builds only parent ZIPs, aggregating unique clone ROMs via name-based deduplication
- Added recursive directory search options in Rebuilder & Auditor
-
Updated Duplicate Finder
- Added 'Delete Duplicates' option that deletes all copies except the first in each group, with per-file error handling and progress reporting
- Two-step confirmation: shows file count and estimated space savings before committing
- Post-deletion summary with freed bytes
- Added 'Delete Duplicates' option that deletes all copies except the first in each group, with per-file error handling and progress reporting
-
Dump Verifier Improvements
- Added header validation checks for 7 more systems:
- SMS/Game Gear: TMR SEGA header checksum validation
- Atari 7800: ATARI7800 signature check
- Atari Lynx: LYNX header presence check
- Sega 32X: SEGA identifier check
- MSX: AB cartridge signature check
- Virtual Boy: Title presence check
- PC Engine: Copier header warning
- Added header validation checks for 7 more systems:
-
Security Analyzer Improvements
- Added checksum/header protection reporting for 4 more systems:
- Sega 32X internal checksum
- Virtual Boy header integrity
- Atari Lynx LYNX header
- Atari 7800 ATARI7800 signature
- Added checksum/header protection reporting for 4 more systems:
Fixes
-
Application Icon fixed on Linux & macOS
-
Critical ROM-Breaking bugs fixed in the "Header Fixer" utility
- N64 CRC algorithm — The CIC-NUS-6102 checksum was fundamentally broken: it was missing the critical rotate-left (ROL) operation on each data word, had wrong variable assignments in the accumulator loop, and produced incorrect final CRC values from wrong XOR combinations. Any ROM "fixed" by this code would have had its CRC corrupted.
- ColecoVision — Bytes 0x0A–0x0F were being zeroed as "reserved", but these are RST interrupt vectors (RST 10h, RST 18h, RST 20h). Games that used these interrupts would crash after being "fixed". Now the fixer is validation-only since the ColecoVision header has no reserved bytes to clean.
- Atari Lynx — Bytes 10–63 were being zeroed, destroying the cart name (bytes 10–41), manufacturer name (42–57), and rotation flag (58). Now only the actual spare bytes 59–63 are cleaned.
- Intellivision — Bytes 0x08–0x0F were being zeroed, but these contain program segment data in Intellivision ROMs (which use 16-bit words with variable header layouts). Now validation-only.
- NES — Bytes 8–15 were all being zeroed, which destroyed valid iNES 1.0 data: PRG-RAM size (byte 8), TV system/PAL flag (byte 9), and additional flags (byte 10). Now only the true zero-padding bytes 11–15 are cleaned.
- SNES checksum — Didn't handle non-power-of-2 ROM sizes (3 MB, 6 MB, 1.5 MB). The SNES hardware mirrors the excess portion to fill the next power-of-2 boundary, and the checksum must account for this mirroring. Games like Tales of Phantasia and Star Ocean (6 MB) would get incorrect checksums.
- Neo Geo Pocket — Was zeroing bytes 0x30-0x3F which are executable ROM code, not reserved bytes. The NGP header is only 48 bytes (0x00-0x2F); the actual reserved area is 0x24-0x2F. Now only zeroes the real reserved bytes, preserving all program code.
- PC Engine / TurboGrafx-16 — Was zeroing the 512-byte copier header in place, leaving a ROM with 512 null bytes still prepended. Emulators detect the copier header by file size (size % 8192 == 512), so they'd still try to parse it but find invalid/null data. Now properly strips the copier header entirely, producing a clean ROM.
- Atari Jaguar — Was zeroing bytes 0x440-0x47F which contain GPU/DSP initialization code and boot stub data. There are no well-defined reserved bytes in this area. Changed to validation-only.
- Watara Supervision — Was zeroing bytes 0x10-0x1F without documented justification. The Supervision header format is poorly documented and these bytes may contain bank-switching configuration or other functional data. Changed to validation-only.
- SMS/Game Gear — The FixSmsC...


