Simple Launcher v5.5.0 is a retro game emulator frontend that enhances user experience with features like support for the Commander Genius engine, automatic file detection for DOSBox, and improved user interface elements. It includes a new minimize-to-tray function, enhanced error handling, and refined Markdown rendering. Key improvements involve a more resilient HTTP download process, upgraded sound playback using NAudio, and migration to the CommunityToolkit.Mvvm framework for better ViewModel management. Additionally, it offers dependency updates and validation checks for essential drivers, ensuring a smoother gaming experience. Download the new version for enhanced functionality and gameplay.
(HEY YOU!! We hope you enjoy! We try not to run ads. So basically, this is a very expensive hobby running this site. Please consider joining us for updates, forums, and more. Network w/ us to make some cash or friends while retro gaming, and you can win some free retro games for posting. Okay, carry on 👍)
Simple Launcher v5.5.0 has been released. Simple Launcher serves as an emulator frontend, making it effortless to enjoy retro games.
Simple Launcher Changelog:
New System Support
Commander Genius — Now supports the Commander Keen engine recreation with an advanced launch strategy that:
Automatically interprets the cgenius.cfg configuration to determine the data/games directory.
Manages ${HOME} and ${BIN} variable expansion in configuration paths.
Unzips ZIP/7z/RAR files and automatically identifies Keen game data files (.CK1–.CK6).
Simplifies nested folder structures and deletes temporary files post-launch.
Includes specific system image and setup documentation.
Enhanced DOSBox Support
Comprehensive DOSBox launch strategy with smart game file detection — automatically locates .conf, .bat, .exe, and .com files in archives or directories.
ISO and CHD support for DOSBox — Mounts ISO files to search for executables, then creates a DOSBox config using native imgmount commands. CHD files are mounted via CHDMounter and launched through DOSBox cdrom mount.
DOSBox file selection dialog — When multiple game files are discovered, displays a neat selection window featuring file names and relative paths.
“Group Files by Folder” has been extended to DOSBox — Now applicable to DOSBox-based emulators (DOSBox, DOSBox-X, DOSBox Staging, dosbox-pure).
-conf %ROM% auto-injection — Automatically adds the -conf flag when launching through DOSBox if it isn’t already included.
UI/UX Enhancements
New minimize-to-tray feature — Allows Simple Launcher to stay active in the tray.
System context menu — Right-click on system buttons now displays Edit and Delete actions, passing the selected system name.
Markdown rendering improvements — Enhanced Markdown formatting with proper headings, code blocks, tables, lists, blockquotes, and horizontal rules in release notes and help content.
New Parameter Placeholder
%NAME% — Resolves to the ROM filename without path or extension. Helpful for emulators that require just the game name (e.g., Commander Genius dir=”games/%NAME%”).
Enhanced Error Handling
Batch file error reporting — Batch file errors now present a thorough error dialog with an option to access the error log. Batch file contents are also recorded on failure for simpler debugging.
Batch file working directory validation — Verifies that the working directory exists prior to executing batch files.
Unicode normalization for file paths — Files created on macOS (NFD) can now be accessed on Windows (NFC) by attempting various Unicode normalization styles, avoiding “file not found” errors.
Access denied handling for Updater — The updater now smoothly addresses Win32 access denied errors with a user-friendly notification and download page redirect.
COMException rendering detection — Identifies WPF render thread failures (UCEERR_RENDERTHREADFAILURE) due to GPU driver problems or per-pixel transparency.
HTTP Resilience
Replaced custom retry mechanism with Polly resilience handler — HTTP downloads now utilize Microsoft.Extensions.Http.Resilience with exponential backoff and jitter (5 retry attempts, 2-second base delay).
Single Instance Enhancements
Improved single-instance function — Launching a second instance now reopens the existing window instead of causing an error message. Utilizes named events for cross-process signaling with a backup to window enumeration.
Sound Service
Swapped Windows MediaPlayer for NAudio 2.3.0 — Sound playback no longer requires UI thread dispatcher calls, enhancing reliability and resolving thread-affinity challenges.
Registered IPlaySoundEffects interface — Included appropriate DI registration for sound effects service.
MVVM Migration to CommunityToolkit.Mvvm
Transitioned all ViewModels from custom ViewModelBase and RelayCommand foundation to CommunityToolkit.Mvvm 8.4.2.
Developed distinct ViewModels for AboutWindow (AboutViewModel), ImageViewer (ImageViewerViewModel), SetFuzzyMatching (SetFuzzyMatchingViewModel), DebugWindow, and GlobalStatsWindow.
Incorporated unit tests for DebugViewModel, GameVerificationViewModel, and GlobalStatsViewModel.
Service Extraction from MainWindow
LoadingOverlayService — Isolated loading overlay management with operation counts (SetLoadingState, EmergencyRelease).
StartupInitializationService — Unified startup logic (first-run wizard, MS Store scanning, game loading).
GameListUIService — Isolated UI state management (grid/list mode, game button image cleanup, pagination).
ThemeMenuService — Separated theme switching logic (base themes + accent colors).
LanguageMenuService — Decoupled language switching with checkmark management.
Code Refactoring
Injected ILogErrors through constructor/parameter — Replaced ServiceProvider resolution with effective constructor and parameter injection across favorites page, global search, context menu services, game button factory, and mount services.
Standardized emulator detection checks — Uniquely applied null-conditional access pattern for emulator detection checks (Azahar, Citra, DuckStation, Geolith, MAME, Ootake, Raine, RetroArch, Sameboy, Xemu).
Dokan Driver Validation
New DokanValidation class — Directly uses P/Invoke against dokan2.dll to verify if Dokan is installed prior to any mount operation.
Delivers clear error notifications when Dokan is missing for ZIP/CHD mounts.
Dokan localization — Added localized text for Dokan driver not found dialog with an option to visit the download page.
Dependency Updates
CommunityToolkit.Mvvm 8.4.2 (new)
NAudio 2.3.0 (new, replaces Windows MediaPlayer)
Microsoft.Extensions.Http.Resilience 10.6.0 (new, Polly resilience handler)
MessagePack 3.1.4 → 3.1.6
YamlDotNet 17.1.0 → 18.0.0
SharpCompress → 0.48.1
Tomlyn 2.3.2 → 2.4.0
Microsoft.Data.Sqlite 10.0.7 → 10.0.8
Microsoft.Extensions.* 10.0.7 → 10.0.8
Microsoft.CodeAnalysis.NetAnalyzers 10.0.203 → 10.0.300
Retro Replay Retro Replay gaming reviews, news, emulation, geek stuff and more!