46 Commits
Author SHA1 Message Date
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 142884b598 NES: Ignore consecutive reads to 4016/4017 (#185)
The NES (and AV Famicom) both ignore consecutive reads to 4016/4017 (when the reads on 2 consecutive CPU cycles). This implements that behavior when the corresponding console type is selected.
These changes also simplify the DMA code, because a lot of extra code was in the DMA logic to simulate the same result. Moving this logic to the 4016/4017 reads makes the code simpler and allows it to work properly when a regular instruction reads from 4016/4017 twice in a row, too.
2026-06-21 19:17:51 -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
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
Sour 7f0831a542 GBA/SMS/WS: Fixed broken lag counter
Also make counter reset to 0 when game is reset on all consoles
2024-12-26 12:01:19 +09:00
Sour 6ea096b123 NES: Fixed EPSM issues when using "long writes"
The OUT1 pin was using bit 1 of the data bus, which is incorrect (should match the last value writting to 4016)
2024-10-15 14:09:20 +09:00
Sour 7ed5fd5562 NES: Added EPSM support 2024-10-01 20:57:06 +09:00
Sour 6a16f729a3 NES: Improve CPU OUT pins emulation
OUT pins are only updated on the GET->PUT cycle transition
2024-09-26 21:19:10 +09:00
Sour f89553c12d NES: Fixed empty keybindings for p2 when using four score 2023-08-14 17:56:11 +09: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 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 c6e527cded Debugger: Lua - getScreenBuffer/setScreenBuffer, getInput/setInput implementations + other fixes/refactoring 2022-07-30 15:39:07 -04:00
Sour 623892d6c3 Fixed ram init logic to ensure the correct config option is used when loading a game 2022-07-25 22:04:44 -04:00
Sour 83e5eea2c5 Input: Allow mapping all buttons that were previously hardcoded to specific mouse buttons 2022-07-23 11:16:11 -04:00
Sour eda3db9620 UI: Implemented show lag counter option 2022-07-22 12:11:35 -04:00
Sour 77692f323d Fixed behavior when loading an invalid rom while a rom is loaded, fixed battery save behavior when switching between games, fix/cleanup some TODOs 2022-07-21 16:12:24 -04:00
Sour b456170551 Save states: Serializer rework/rewrite 2022-07-20 00:40:32 -04:00
Sour 1c055bb4af Save States: Load/save emulation settings for netplay/rewind states, fixes some TODOs, fixes some NES issues when loading a state taken in a different region 2022-03-31 14:36:15 -04:00
Sour 616465181c NES: Disable shortcuts when keyboard is plugged in 2022-03-13 19:28:46 -04:00
Sour 57d740d137 NES: Split power pad into separate side a/b controllers 2022-03-13 17:21:08 -04:00
Sour 9da277a92b NES: Fixed storage input devices (Battle box, turbo file) 2022-03-13 16:45:27 -04:00
Sour 27e0071817 NES: Added microphone config button for famicom controller on port 2 2022-03-13 15:56:14 -04:00
Sour 605d815731 NES: Fixed issues/UI for hori track, konami hyper shot, bandai hyper shot and pachinko controller 2022-03-13 14:21:51 -04:00
Sour 1f222fd300 NES/SNES: Allow more flexibility when configuring inputs (2x multitap, etc.) 2022-03-11 23:51:42 -05:00
Sour 9e158c6f2f FDS: Fixed insert disk not working properly 2022-02-03 00:19:36 -05:00
Sour 3615ef0eb1 Core: Enabled warning level 4, fixed/disabled warnings 2022-01-23 12:36:35 -05:00
Sour 3d7c826be3 API to get console state + some refactoring 2021-06-30 16:49:52 -04:00
Sour 5f2524fe60 Fix Linux build (and most clang warnings) 2021-05-13 00:25:00 -04:00
Sour c2df0ef553 Console region refactoring/changes 2021-04-27 23:30:00 -04:00
Sour e4aeb381eb Fixed some minor todos in NES code 2021-04-27 21:56:40 -04:00
Sour 5c07d87d3a VS system todo fixes/refactoring 2021-04-26 23:44:32 -04:00
Sour 0479d6f90a VS system/dualsystem (missing palette and proper audio/video option support) 2021-04-25 14:12:10 -04:00
Sour c9bca5c856 NES FDS support 2021-04-24 18:33:15 -04:00
Sour e1446b3aa2 NES input work (allpads seems to work fine for all supported scenarios) 2021-04-22 21:32:23 -04:00
Sour add120abdb Integrate NES input devices 2021-04-20 22:51:15 -04:00
Sour 2029191669 Input configuration work 2021-04-14 22:32:22 -04:00
Sour 12bf5c5e1b NES/GB/SNES config, audio filters 2021-04-11 18:50:31 -04:00
Sour e27e511558 File reorganization 2021-04-09 21:45:04 -04:00
Sour 2a3a955dc3 Reorganize files (debugger + netplay) 2021-04-09 20:01:50 -04:00
Sour c7ef756b3f Code reorganization (GB) 2021-04-09 19:13:47 -04:00
Sour 79b0848052 NES - input 2021-04-04 20:01:05 -04:00
Sour 76311b09dd Loads games 2021-04-04 12:00:43 -04:00
Sour 70c9a39f3d Step 3 - compiles 2021-04-04 10:53:17 -04:00