Launcher for RetroBat supporting XInput/DInput gamepads, with the hotkey "Select + Start". Can also be started directly with Windows startup in "custom shell" mode, replacing the Windows Explorer (Explorer.exe).
peek_1.mp4
V2.0.Feature_.mp4
_____________________________________________________________________________________________________________________________________________________
- Plugin Management & Integration: Introduces a dedicated Plugin Management interface inside BatRun. Users can directly browse, download, install, configure (
⚙️ CONFIG), reveal files (📁 REVEAL), or uninstall plugins fetched dynamically from the GitHub releases API. - Wallpaper default configuration & video choice: For demonstration purposes of this pre-existing feature, it is now activated by default on fresh installations and during configuration migration from v3.0.0 and below (configures a default loading video, enables with Windows Explorer, enables audio, and loops video).
- Wallpaper Loop Video Mute: Audio of loop videos is now muted starting from the second loop to avoid audio repetition annoyance. An informative comment has been added in the UI.
- Updater robustness: Proactively kills
BatRunGuardian.exeandBatRun.exebefore updating, and implements backup/cleanup forBatRunGuardian.exeandBatRunGuardian.dllto prevent Windows file lock issues. (⚠️ Note for upgrading from v3.0.0 or lower: If the updater gets stuck or loops infinitely, please manually stop theBatRunGuardian.exeprocess via the Windows Task Manager to allow the script to complete. From v3.1.0 onwards, this termination is handled automatically.) - Collapsible Sections: Header sections ("MAIN PROJECTS" and "EXPERIMENTAL") in the plugins list are now collapsible with header indicators (▶ / ▼) and are collapsed by default at startup.
- Releases Versioning: Groups GitHub releases to display only the single latest version of each plugin (handling
📥 INSTALL,🔄 UPDATEor✅ INSTALLEDdynamically). - Dynamic Plugin Configuration Editor (
⚙️ CONFIG): Launches plugin executable to generate.iniif missing before opening the editing form, and preserves original file formatting/comments. - Uninstall Paths: Cleans leading slashes in relative paths to fix
Path.Combineignoring target directories during uninstallation.
- Arcade Mode (A silly idea, but I'm sharing it ^^ as it's part of BatRun) This mode originally started as a personal project to simply lock my arcade cabinet without my authorization. It eventually evolved into an alternative credit management system to control front-end usage... If the cabinet is set to freeplay on all games, added credits are managed as gameplay time. A web page is also available to administer it from a browser, where you can see the live game in progress, as well as game history and play time.
Information: The arcade mode settings also include a "moonlight" setting. This is a very unstable function (its development is experimental, and I'm not sure I'll continue fixing the problems). It allows you to run games remotely from a web browser via "moonlight-web-stream" (Sunshine must be installed on the machine) through a portal that lists games. I've made some modifications to the settings and web display. The "streamer.exe" and "web-server.exe" applications have not been modified and are not included. I believe the latest updates should remain compatible. "streamer.exe" and "web-server.exe" must be placed in the ".moonlight-web-stream" folder. This is unstable; you can test it, but don't expect reliable use. Furthermore, to access it remotely, you need to open the Sunshine and Moonlight web server access points... there is a proxy function to redirect port 8080 to port 4321 of the portal... which adds even more instability.
-
Credit Management: Time-based countdown per credit, automatic locking at zero.
-
Dedicated Hardware: Assign a unique device authorized to add credits (e.g., RP2040-Zero emulating a keyboard key connected to a coin acceptor).
-
Process Control: Pause (NtSuspendProcess) and Termination (WM_CLOSE/Kill) of executables.
-
Operator Mode: Accessible universally via the
9key (orNumPad9). Features a password interface (default:adminif not set) to unlock without credits, Free Play mode, manual credit addition, and a floating mini-overlay to quickly relock the cabinet after maintenance. -
Crash Recovery & Guardian: A background watchdog (
BatrunGuardian) monitors BatRun for crashes or UI freezes. If an issue occurs, it restarts the system and utilizes asession_stateto seamlessly restore current credits, game time, and Free Play status. You can manually call the Guardian overlay at any time by pressing the0key (orNumPad0) to manually force a restart. -
Dashboard & Network: Web Dashboard, remote control API and monitoring via UDP Discovery.
-
Security & Focus Management: Blocks dangerous Windows shortcuts (Win, Ctrl+Esc, Alt+F4, Alt+Esc) via a Low-Level Keyboard Hook to prevent players from reaching the desktop.
-
Safe Task Switcher (Alt+Tab): Controlled Alt+Tab mode displaying a custom dedicated UI, which strictly authorizes switching only to a predefined whitelist of applications.
-
Core Engine Upgrade: Migration to .NET 10.0.
-
Code Refactoring: Structural project reorganization (UI, Core, Input, Models, Utils) following modern .NET standards.
-
fix Splashtop stuck start RetroBat (enable by default)
-
fix stuck boot ESLoadingPlayer vidéo alternative
-
Misc
- Enhanced ESLoadingPlayer to add detailed logging for video selection and file existence, improved timeout handling to avoid blocking RetroBAT launch
- Added a combined function with RetroBat.exe (starting with version 7.5.0.1) so that Batrun does not compete for focus
- Lock DPI scaling
- System selection: Choose a system (console, arcade, etc.) and BatRun will directly launch a game from that system.
- Random mode (optional): Enable the option to have a game randomly selected from the chosen system.
- fix / Refactoring code
Requirement: .NET Desktop Runtime 10.0.x must be installed on your system.
- 🎬 Hide EmulationStation during loading with customizable video (RetroBat intro alternative / waits for ES loading completion / early video stop possible with Start)
- BatRun splash screen on startup (available without "Hide ES during loading")
- BatRun splash screen when launching RetroBat (available without "Hide ES during loading")
- Active windows minimization
- RetroBat intro video
A launcher for RetroBat that allows you to use a controller button combination (Hotkey + Start) to launch RetroBat.
- Configuration as custom Windows shell
- Command and application execution
- Auto-Hide Applications
- Video wallpaper support (MP4)
- Animated GIF support
- Movable floating menu
- Automatic wallpaper pause when launching EmulationStation
- Audio volume control for video wallpapers
- Custom shortcuts management interface
- Quick access menu for shortcuts from floating menu
- Ability to add/edit/delete shortcuts
- 🚀 Added controller vibration when pressing Hotkey + Start (works with XInput, DirectInput not tested, potential incompatibility with some Bluetooth controllers).
- 🖥 Automatic startup via scheduled task (works if
explorer.exeis not the default Shell on Windows startup).
- On a processor like the i5-9600 (Win11) : CPU load is below 1%.
- Tested on an i7-3770K (Win10) : load varies between 2% and 5%.
- No immediate solution to optimize this; additional tests may be required.
- 🎮 Support for XInput and DirectInput controllers.
- 🔄 Customizable button mapping.
- 🪟 Optional automatic window minimization.
- 🚀 Automatic startup with Windows (via Registry, shortcut, or scheduled task).
- 📝 Logging system for troubleshooting.
- Download the latest version from the Releases page.
- Extract the archive.
- Run
BatRun.exe.
- Focus Duration: Duration for which the focus process remains active (starts after the configured video duration from BatGui, if enabled).
- Focus Interval: Interval between focus attempts for EmulationStation.
- Start with Windows: Automatic startup (via Registry, shortcut, or scheduled task).
- Enable controller vibration : Enables/disable rumblee (if supported by your controller).
- Minimize Windows: Enables/disables window minimization.
- Enable Logging: Enables/disables logging.
- Open BatRun.
- Go to Configuration > Controller Mappings.
- Select your controller.
- Configure the Hotkey and Start buttons.
- Save.
- Launch
BatRun.exe. - Go to Configuration > Startup Settings.
- Select your choice.
- Save.
- Launch BatRun (an icon will appear in the taskbar).
- Simultaneously press the Hotkey + Start buttons on your controller.
- RetroBat will automatically launch with a confirmation vibration (if supported by your controller).
- Discord RetroBat “Aynshe”
- Source Code
Developed by AI for Aynshe