20 Commits
Author SHA1 Message Date
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
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
Sour 25142a9451 GB: Improved STOP behavior for GB/GBC
Fixes the stop_instr and stop_instr_gbc_mode3 tests
2024-01-31 17:50:15 +09:00
Sour 5308983ebb Added SMS/GG/SG-1000 support 2023-12-14 22:23:27 +09:00
Sour f4824a68e5 GB: Changing input select bits can trigger joypad IRQ
Fixed Double Dragon 3 input issues
2023-04-13 20:21:59 -04:00
Sour bf2fa11053 Movies: Fixed desync when using rewind during movie playback
Affected all systems except NES
2023-02-10 20:59:21 -05:00
Sour d765f3f37c SGB: Trigger joypad interrupt when SGB updates the GB's input 2023-01-26 19:14:51 -05:00
Sour d449f0c641 Debugger: Added cpuType parameter for Lua events 2023-01-24 22:14:24 -05:00
Sour 152abf690b Rename stdafx.h to pch.h 2022-09-08 21:29:52 -04:00
Sour eda3db9620 UI: Implemented show lag counter option 2022-07-22 12:11:35 -04:00
Sour b456170551 Save states: Serializer rework/rewrite 2022-07-20 00:40:32 -04:00
Sour e3c0ab88a4 Fixed exception when switching from one console type to another
The UI is tried to draw controllers based on the old console's controller data, but the new console was loaded (and the control manager threw an exception when an incompatible controller was attached)
2022-03-19 16:18:26 -04:00
Sour 9e158c6f2f FDS: Fixed insert disk not working properly 2022-02-03 00:19:36 -05:00
Sour 8b142de54a Input: Gameboy input config (core & UI) 2022-01-29 14:43:41 -05:00
Sour e280064ad2 Fixed some netplay issues/todos 2021-05-24 13:43:21 -04:00
Sour c9bca5c856 NES FDS support 2021-04-24 18:33:15 -04:00
Sour 2029191669 Input configuration work 2021-04-14 22:32:22 -04:00
Sour e27e511558 File reorganization 2021-04-09 21:45:04 -04:00
Sour c7ef756b3f Code reorganization (GB) 2021-04-09 19:13:47 -04:00
Sour 62efa091a8 Gameboy 2021-04-05 00:05:06 -04:00