83 Commits
Author SHA1 Message Date
SourMesen e055ddee35 SNES: Added deinterlacing options (#224) 2026-07-24 14:50:15 +09: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 49c9a3a4ba GB: Added overclock and remove sprite limit options (#216) 2026-07-11 17:47:41 +09:00
SourMesen 5b71c4e072 SNES: Added "Remove sprite limit" option (#207) 2026-07-11 16:43:58 +09:00
SourMesen c660425d48 SNES: Added color correction options (#205) 2026-07-11 15:34:36 +09: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 0532a2ec98 NES: Fixed issues with 2/4 player adapters (#194)
-The pachinko/subor mouse/ntt/virtual boy controllers could be selected in the UI for 2p/4p adapters, but did not work at all
-Keybindings for the "custom keys" for some controllers were not working when connected to a 2p/4p adapter
-Pachinko controller did not allow the user to configure the keybindings for NES-style buttons
2026-06-26 20:40:09 -07: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
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 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 f3e124212f SNES: Added alternative blend mode option for high resolution modes (#63)
Blending even/odd columns only allows fake transparency effects to work while avoiding a blur effect on the picture. This however does not work well in all scenarios (e.g high resolution text in Secret of Mana menus)
2026-04-26 16:57:37 -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 f0ed27179a GBA: Added support for overclocking 2025-05-11 00:10:28 +09:00
Sour fef5573bda NES: Added option to reverse DPCM bit playback order
Improves DPCM quality for some specific games that have their DPCM data reversed
2025-03-23 20:52:09 +09:00
Sour d72658de7a NES: FDS - Fixed issues with Kosodate Gokko (unlicensed disk copying program)
+ Added option to save directly to the original rom file instead of creating .ips files (for FDS & cartridges with flashable prg/chr rom)
2025-02-19 21:27:15 +09:00
Sour 18269da46b SNES: Add support for Sufami Turbo games 2025-01-03 09:18:59 +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 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 88210b3fcf SNES/PCE/SMS: Added missing "allow invalid input" option (and prevent invalid inputs by default) 2024-12-20 14:48:15 +09:00
Sour 71ecb09ffe UI: Added Firmwares tab in emulation settings to view/manage firmware files 2024-12-19 20:06:28 +09:00
Sour e18db92692 UI: Update to Avalonia 11.2.0 2024-11-11 09:28:22 +09:00
Sour ce4b3b8a56 NES: Added option to emulate sprite eval bug that causes unexpected pixels to be shown at X=255
This bug exists only on older PPU revisions (2C02B and earlier)
2024-10-19 10:15:35 +09:00
Sour 7110fe31c4 GBA: Added option for RTC 2024-10-10 18:34:59 +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 de20208abe NES: Added option to enable CPU test mode registers 2024-09-28 16:55:45 +09:00
Sour ab8f9f60da NES: Implemented DMC glitch that causes an additional DMA to run fully or partially, depending the 4015 write's timing 2024-09-28 16:44:34 +09:00
Sour b627b25fc9 Game Gear: Allow Game Gear-specific video filter overrides 2024-09-25 22:14:19 +09:00
Sour 0838797295 Game Gear: Allow showing entire video output instead of the cropped version the GG screen displays 2024-09-25 21:50:01 +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 76a0ab75ea NES: Moved PAL border option to emulation tab 2024-07-28 22:01:44 +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 640a215cbb GB: Added support for MBC5 rumble feature 2024-07-13 20:50:57 +09:00
Sour ee09a7bde2 UI: Revert addition of snes mouse option
This doesn't appear to be particularly useful and doesn't appear to be related to the original issue that was reported regarding mouse movement
2024-06-25 18:31:49 +09:00
Sour 08adf89dd0 GBA: Added option to enable a log API that should be compatible with mGBA's 2024-06-24 15:23:40 +09:00
Sour 88e60a4b80 UI: NES - Fixed missing "Hardware buttons" list in the input settings 2024-06-24 12:11:31 +09:00
Sour 6d020e09e8 UI: Input - Added option to enable old SNES mouse movement 2024-06-24 11:31:08 +09:00
Sour d208fdc6a7 UI: Support for NativeAOT
Added Windows & Linux builds using AOT compilation
2024-06-05 20:23:31 +09:00
Sour 950c1d80c9 PCE: Added option to select between the original HuC6280 and the A revision of the PSG
HuC6280A (which has less popping) was (and still is) the default behavior
2024-06-01 12:49:39 +09:00
Sour 68406074d5 UI: Fixed display for the "custom aspect ratio" field 2024-05-06 10:21:53 +09:00
Sour 13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00