117 Commits
Author SHA1 Message Date
SourMesen 8614f1e3d6 UI: Allow pausing from the menu when any "Pause when..." option is enabled (#253)
Opening the game menu would display the "resume" option, making it impossible to pause (and keep the emulator paused after the menu is closed) by using the menu
2026-08-15 16:44:46 +09:00
SourMesen b88f23e663 UI: Removed old unneeded patch used to center setup window on Linux (#256)
This doesn't appear to be needed anymore (WindowStartupLocation = CenterScreen seems to work on Linux), and it looks like in some scenarios this could cause the setup window to appear in the wrong location on Windows
2026-08-15 16:44:07 +09:00
SourMesen ed9a919abf Video: Fixed black screen when toggling VRR while in fullscreen mode (#233)
When the user turned on fullscreen mode without VRR enabled, then enabled the VRR option, and then turned off fullscreen mode, it would cause the screen to be black until the application is closed.
2026-07-24 14:49:32 +09:00
SourMesen 1c38575013 UI: Allow binding the numpad enter key separately from the left enter key (#223) 2026-07-17 17:47:52 -07:00
SourMesen 40335ce735 UI: Update to Avalonia 12, .NET 10 and replace ReactiveUI with MVVM community toolkit (#142)
Also fixes DX11.0 support (for Win7 PCs that aren't fully updated), which stopped working after the recent variable refresh rate changes
2026-07-03 16:04:42 +09:00
Takumi Grainger c8f8bc31c3 NES: Add FCNS controller (#193)
Also fixes presets/clear buttons for NTT, Pachinko & Hypershot, and improves layout for all controller config popups (buttons/borders are aligned, etc.)
2026-06-28 13:34:30 +09:00
SourMesen 6c54ae1989 Video: Support for VRR in borderless fullscreen (Windows only) and improved frame pacing (#178)
* Video: Add support for VRR when in borderless fullscreen mode (Windows only) and improve frame pacing

* Fixed debug stats not disappearing when unchecking option in some scenarios

* Changed frame pacing graph scale/logic to show the gap between the ideal pacing and the current pacing (within +/- 2ms)
2026-06-21 01:29:30 -07:00
SourMesen a13ae9a461 Code: Added naming style CI checks for C#/UI code (#132) 2026-05-22 20:43:13 +09:00
Adrian "asie" SiekierkaandSour 2f5ccd6983 UI: Update Avalonia to 11.3.14. (#105)
* UI: Update Avalonia to 11.3.14.

- AvaloniaEdit is updated to 11.4.1.
- Avalonia.ReactiveUI is held back at 11.3.8, as later updates require
  separate adaptation work.
- Dock is updated to 11.3.12.1.

* Revert Dock upgrade (currently causes a large number of binding warnings which make the debugger take 3-4 seconds to display the content of the dock control after the window is opened when VS is attached to the process)

---------

Co-authored-by: Sour <[email protected]>
2026-05-15 19:47:05 -07:00
NovaSquirrelandSour 325c78fcbd GB: Link cable support with two local consoles (#77)
* GB: Link cable support with two local consoles

* GB: Fix crash when color blending is enabled

* GB: Fix formatting

* GB: Link UI fixes, control fixes, audio fixes

Copied from Sour's branch. Also a separate change to use separate savefiles.

* GB: Try to avoid crashes from buffer overflows

* GB: Separate savefiles with linked multiplayer

* GB: Add support for faster link speed

* GB: Move enum to correct file

* GB: Refactor, move serial transfer to function

* -Fixed secondary console sometimes running far ahead of the main console when frame counters did not match (e.g because one console had their LCD disabled longer, etc.) This would cause buffer overflows in the audio buffer.
-Fixed screen tearing when both consoles are not perfectly in sync (because of the LCD being disabled for a different amount of time, etc.)
-Fixed main console not calling PlayQueuedAudio properly mid-frame
-Reuse VS Dualsystem code to merge audio/video when possible/simple and moved that to AvMergeUtilities

Some visual glitches can appear on the secondary screen (for GB) while rewinding, but this can't really be fixed.

* Fixed warning (unused local variable)

* Prevent loading single-console save states when in dual-console modes

* Disable debugger for VS DualSystem's subconsole. Fixes issues when debugging VS DualSystem games

* Code cleanup

* Rework solution to disable debugger on second console to improve performance
Added InternalRunFrame for nes & gb to avoid checking for the presence of the second console after each cpu instruction

* Don't enable the linked GB option by default

* Removed unused function

* Netplay: Force game to reload after updating emulation settings when connecting to the server (or when the host changes game)
This ensures that e.g the GB link cable setting is applied and that the game loads correctly, regardless of the client's link cable settings (otherwise the game could load without the link mode enabled, etc.)

---------

Co-authored-by: Sour <[email protected]>
2026-05-15 02:35:27 -07:00
NovaSquirrel 8e7e4c2ff9 SNES: Add SPC dumper tool (#89)
* SNES: Add SPC dumper tool

* SNES: SPC dumper fixes
2026-05-08 17:31:34 -07:00
Fiskbit de329be395 Icon: Adds green-themed MesenCE icon. (#91)
Thanks to Zeta for the recoloring and doing the icns version, and Sour for doing the png and ico versions.
2026-05-08 15:44:40 -07:00
SourMesen 61b8e89100 GB: Fixed video filter overrides not working correctly when switching between GB/GBC and SGB (#79) 2026-04-30 06:07:51 -07:00
SourMesen e391fd8f9a Code: Add auto-formatting rules for C++ (clang-format) and enforce in CI via "clang-format" and "dotnet format" (#78)
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"

* fix ui format warnings
2026-04-30 06:03:55 -07:00
SourMesen 91524e85c1 UI: Allow using old Mesen2 folder if it exists (#74)
Otherwise, when pushing a new update via the auto-update, all users will be shown the configuration wizard and "lose" their settings, save data, save states, etc. because the new version will create a new MesenCE folder.
This instead allows the application to continue using the Mesen2 folder as-is. If a new installation is done, it'll go inside the MesenCE folder.
2026-04-27 05:45:05 -07:00
SourMesen 7cf80c5b32 UI: Allow using test shortcuts to run automatic tests without debugging in VS (#48)
Set EnableTestMode to true in settings.json to enable this
2026-04-19 04:14:53 -07:00
Fiskbit 1d7fc869c1 Changes Mesen to MesenCE and updates About window.
This updates the Mesen naming in title bars, the About window, and the default data folder name. It also changes copyright information to note the new contributors, changes the website to MesenCE's GitHub page, and updates the build link.

I'm not convinced I found everything, so a thorough review would be appreciated.
2026-04-09 20:05:55 -07:00
Sour fb1efceeb6 UI: Update to Avalonia 11.3.1
Fixed issues with window resize logic, fixed watch focus issues, fixed binding problems in netplay windows
2025-06-20 15:56:02 +09:00
Sour 3195fdd6a2 UI: Fixed cut off/overlapping text in setup dialog on Linux 2025-06-13 11:00:01 +09:00
Sour a17bb92dbb General: Disable stdout output by default, added --enableStdout command line option to enable it when needed 2025-06-13 10:52:55 +09:00
Sour da47fb105e Linux/macOS: Display error message when SDL2 cannot be found, instead of silently crashing 2025-06-04 21:16:02 +09:00
Sour bae3203baf UI: Auto-update changes/improvements 2025-05-16 21:11:10 +09:00
Sour a420ad1429 Linux: Allow using ctrl+C from the terminal to quit
This works normally on the JIT builds, but appears to not work at all for AOT builds. Using the Console.CancelKeyPress event makes Ctrl+C behave similarly in AOT and JIT builds
2025-04-10 19:03:09 +09:00
Sour a2637ef2d4 Debugger: Fixed labels getting erased when spamming reload rom shortcut 2025-03-24 22:02:15 +09:00
Sour 04cb3d5fa3 UI: Added missing CV tab in command line help dialog 2025-03-24 11:39:59 +09:00
Sour 5ec6763a8e UI: Added commit ID in about window
+ Removed ubuntu 20.04 build (no longer supported by github)
+ Enable ccache to speed up github builds
2025-03-22 20:41:07 +09:00
Sour 8d190963da UI: Linux - Tweak previous fix for menu focus to make it work correctly in some rarer scenarios 2025-03-02 10:51:53 +09:00
Sour bd970ac08f UI: Fixed menu being focused by default when launching a game from the command line 2025-03-02 09:51:52 +09:00
Sour ea7aa40265 UI: Prevent window from being auto-resized to a scale below 1x 2025-02-11 21:15:59 +09:00
Sour 4052eccbc8 Debugger: Allow opening scripts from the command line while the emulator is already running, but skip scripts that are already opened in the emulator 2025-01-20 17:03:23 +09:00
Sour b3fd15963b UI: Try to better recover from unexpected errors while opening the main window 2025-01-05 11:04:32 +09:00
Sour ea657c1898 UI: Call EmuApi.Release() before the main window closes
This seems to fix deadlocks (join on VideoRenderer thread never finished) in some scenarios when closing the emulator using the "Exit" shortcut (only seen on Linux)
2025-01-05 10:46:47 +09:00
Sour 18269da46b SNES: Add support for Sufami Turbo games 2025-01-03 09:18:59 +09:00
Sour eed94fdbe7 UI: Fixed error message/broken layout when clearing the text/value in a NumericUpDown control 2024-12-26 16:09:21 +09:00
Sour 8dda623a1f UI: Focus game selection screen on startup
+Try to avoid menu getting stuck with focus
+Improve keyboard/gamepad navigation for it
+Make selected game a bit easier to see
2024-12-26 16:09:17 +09:00
Sour c956eea0ba UI: Fixed unexpected screen cropping when window width is reduced
The screen's height should be reduced to fit the window, instead.  Caused by changes done recently to fix some rounding errors with screen/window sizing
2024-11-24 11:34:27 +09:00
Sour cebdab9b5d UI: Fixed keyboard focus being on menu when opening emulator via file associations 2024-11-20 20:01:45 +09:00
Sour 7b84a75fac UI: Fixed window size rounding issues when setting video scale 2024-11-11 14:28:54 +09:00
Sour 28b75c2510 UI: Fixed crashes that could occur when using undo after typing in a text box 2024-11-08 15:45:32 +09:00
Sour 9465efcff2 GBA: Implement accurate carry behavior for multiplications
This uses zaydlang's multiplication algorithm: https://github.com/zaydlang/multiplication-algorithm/
2024-10-24 21:57:52 +09:00
Sour cc46f4386a Debugger: Auto-select all text in main textbox in various popup tools to make editing easier 2024-10-01 22:42:11 +09:00
Sour 7ed5fd5562 NES: Added EPSM support 2024-10-01 20:57:06 +09:00
Sour a2dd107f13 UI: Don't send keys to game when focus is in the menu 2024-09-29 18:28:40 +09:00
Sour dee97bf9bc Debugger: Added forbid breakpoints 2024-09-23 21:05:55 +09:00
Sour ef80f108c1 UI: Allow changing theme without restarting 2024-09-22 12:25:25 +09:00
Sour c5406773a0 Added WonderSwan support 2024-09-19 21:19:43 +09:00
Sour ba63112604 UI: Added console-specific options for video filter & aspect ratio settings 2024-07-28 21:21:01 +09:00
Sour f3f44613a4 UI: Update to Avalonia 11.1.1 2024-07-28 11:05:14 +09:00
Sour d6d0b87c22 Added ColecoVision support
Also adds mode 1 (text mode) and mode 3 (multicolor mode) support for the SMS/SG-1000
2024-07-27 14:52:31 +09:00
Sour 83c0c5e9e8 Video: Fixed resolution/size issues when entering exclusive fullscreen mode 2024-07-15 11:45:44 +09:00