3 Commits
Author SHA1 Message Date
SourMesen 37de357b75 NES: FDS - Performance improvements (#143)
-ProcessCpuClock was used to check for events that don't need to be checked that often (auto-switch disk + auto fast-forward options). This has been moved to an EndFrame callback.
-This was even slower than intended because of the call to _emu->GetFrameCount() which was, relatively speaking, fairly slow. To improve its performance (since it's used rarely for some things like turbo button processing), a separate GetFrameCount function was added on all console classes, and Emulator::GetFrameCount was also optimized to be faster when called from the emulation thread.

When the auto-switch disk option is enabled, this can improve performance by about 25-30%. When the option is not enabled, this still improves performance by 4-5%.
2026-05-27 04:02:54 -07:00
undisbeliever 0a2e969962 Fix snes rumble controller (#83)
* SNES: Clear _rumbleData when the rumble controller is latched

The rumble controller spec document states the 16-bit shift register
should be cleared when the P/S Out line goes high and then low.

This behaviour has been verified on a Limited Run Games rumble
controller with a custom test ROM.
https://forums.nesdev.org/viewtopic.php?t=26602

* SNES: Stop rumble controller shortly after the last rumble command
2026-05-19 19:29:57 -04:00
Sour 5350959230 SNES: Added new controller type that supports rumble 2025-06-23 10:26:31 +09:00