84 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 2d0fd5f1ac Movies: Added support to load BizHawk/GBAHawk movies (#228)
Supports NES, SNES and GBA (only default controllers, etc.). Most movies will likely not sync properly, but some do.
2026-07-19 01:30:07 -07:00
SourMesen 1489d34441 SNES: Added support for BlueRetro controller (#220)
This controller/adapter supports rumble as well as reading the state of both analog sticks and the L/R triggers.

Code by @RandalLinden
2026-07-16 05:10:26 -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" Siekierka 5bb64aacf0 WS: Initial Pocket Challenge V2 support (#95)
The Pocket Challenge V2 is an education handheld based on the ASWAN SoC, as used in the WonderSwan. It uses the same boot ROM (with an early exit), but has some implementation changes:

    The LCD icon segment area is not present (on the display panel only).
    There is no onboard internal EEPROM.
    The input keypad layout differs.
    The headphone output is always used with a custom onboard DAC, as opposed to relying on the SoC's own PWM DAC for the internal speaker.

This PR implements support for all of this. Support for the PCv2-exclusive cartridge mapper (KARNAK) will be added by a separate PR.
2026-05-17 01:11:02 +09:00
Fiskbit 87ab83562f GB: Add "Auto (prefer best)" to Region / Model (GB) menu (#123) 2026-05-16 06:38:57 -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 6312748563 SNES: Add Turbo File Twin support (#109)
* SNES: Add Turbo File Twin support

* SNES: Try to make write mode flag more accurate

Hardware tests on Turbo File Twin seem to be showing that if you write data then it stops reporting that the write flag is on, despite letting you write more data

* SNES: Move bit array access to a utility

Also add note about how bit 26 in STF report is not fully verified

* SNES: Add behavior seen when reading without read command

When you turn the strobe on and off outside of a read command, the shift register gets reloaded with the most recently read or written byte

* NES, SNES: Emulator::SaveBattery() for saving console and controller

* Fix range limit in SetBitInArray

* Add notes about unknown aspects of TFII mode

* Add comments to make it clear what's unknown

* STF mode ignores out-of-range addresses

Also allocate _data instead of putting it in the class
2026-05-15 00:05:31 -07:00
Fiskbit a78fcc4409 Fix the build. (#94) 2026-05-08 19:06:55 -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
NovaSquirrel 1e2b4b5755 SNES: Add support for NTT Data Keypad (#86)
* SNES: Add support for NTT Data Keypad

Also make it available on NES

* SNES: Disable Multitap for NTT Data Keypad for now
2026-05-05 19:23:29 -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 defbb4948c UI: Updates - Fetch update data from nesdev-org repository instead of mesen.ca (#66)
This allows auto-updates to work without using/updating mesen.ca
2026-04-27 07:34:38 -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 fa286b80a5 SNES: Hide rumble controller for player/port 2 in the UI 2025-06-23 13:32:48 +09:00
Sour 5350959230 SNES: Added new controller type that supports rumble 2025-06-23 10:26:31 +09:00
Sour bae3203baf UI: Auto-update changes/improvements 2025-05-16 21:11:10 +09:00
Sour a2637ef2d4 Debugger: Fixed labels getting erased when spamming reload rom shortcut 2025-03-24 22:02:15 +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 e12f40ae3b Fixed compilation warning 2025-03-19 22:29:07 +09:00
Sour f45aaa39f3 UI: Cheats - Prevent re-importing existing cheats when importing from cheat DB 2025-02-05 17:48:37 +09:00
Sour 8d6830a70a SNES: Add support for ST018 coprocessor
Used by a single game: Hayazashi Nidan Morita Shougi 2
2024-12-29 23:41:52 +09:00
Sour 7b84a75fac UI: Fixed window size rounding issues when setting video scale 2024-11-11 14:28:54 +09:00
Sour 9af55f9fc0 Debugger: Fixed some potential memory leaks in debug tools UI 2024-11-07 18:34:41 +09:00
Sour 0fbb19d52c SMS: Fixed region menu updating the Game Gear options instead of the SMS options 2024-11-05 18:17:15 +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 f3b75dbeee Netplay: Fixed a couple of crashes and the "select controller" menu
-A client disconnecting could cause the server to crash
-A server stopping, then starting again, could cause the client to crash when reconnecting to the server after getting disconnected by the server stopped
-The select controller menu was not getting updated and was always empty
2024-08-07 18:31:20 +09:00
Sour ba63112604 UI: Added console-specific options for video filter & aspect ratio settings 2024-07-28 21:21:01 +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 f429697b7f Debugger: Added option to copy profiler data to clipboard 2024-06-24 10:41:24 +09:00
Sour 82a34f6d63 UI: Fixed crash in AOT build when creating desktop shortcut in Windows 2024-06-23 15:31:24 +09:00
Sour 08a6046074 Debugger: Added up-to-date Lua reference page (generated based on the JSON doc) 2024-06-16 15:08:24 +09:00
Sour d208fdc6a7 UI: Support for NativeAOT
Added Windows & Linux builds using AOT compilation
2024-06-05 20:23:31 +09:00
Sour bb745910d5 UI: Added shortcuts for next/previous track in audio player 2024-05-10 18:09:13 +09:00
Sour 13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00
Sour b984985f88 PCE: Allow 6-button controllers to be connected to the turbo tap 2023-12-25 16:31:00 +09:00
Sour 5a17c88148 SMS: Added region selection for GG 2023-12-16 19:01:13 +09:00
Sour 5308983ebb Added SMS/GG/SG-1000 support 2023-12-14 22:23:27 +09:00
Sour f358ddaabd Video: Added option to use the software renderer on all platforms 2023-09-29 18:08:57 +09:00
Sour 80f4427108 UI: Fixed crashes when attempting to open a file that's in use by another application 2023-08-22 18:04:42 +09:00
Sour da0825a933 UI: Fixed crash when connection error occurs when checking for updates 2023-05-07 23:43:52 -04:00
Sour a2d5593b9e SNES: Added option to configure SPC clock speed 2023-04-21 21:20:59 -04:00
Sour dfee4d9289 Debugger: Fixed performance issue when adding/removing breakpoint while a lot of breakpoints are selected in the list 2023-04-15 15:34:22 -04:00
Sour 716227c0a7 UI: Update to Avalonia11-preview6
Notes:
-Uses a copy of VirtualizingStackPanel (to include fixes done after preview6) + fix another issue in lists
-Fixes memory leaks when closing windows (by setting DataContext to null, etc.)
2023-04-10 22:59:48 -04:00
Sour 0f8b3bc823 Debugger: Allow multi-select check/uncheck in lists, added enable/disable context menu action in breakpoint list 2023-03-14 21:43:48 -04:00
Sour afa7727504 UI: Changed OS checks to use simpler code 2023-03-13 00:32:16 -04:00