Page 1 of 1

Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 2:50 am
by EricICX
Almost every other NES emulator in existence, such as FCEUX, Nestopia, and Mesen, has an option for not allowing the illegal sets of inputs, Left+Right and Up+Down.

ex1.png
ex1.png (779 Bytes) Viewed 1925 times
ex2.png
ex2.png (1.57 KiB) Viewed 1925 times
ex3.png
ex3.png (2.59 KiB) Viewed 1925 times

Currently, the absence of this feature makes it so that the MiSTer cannot be used to speedrun certain games, so it would be nice if this was implemented.

Re: Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 8:36 am
by Nioreh
Original hardware alllows this, so why shouldn't mister? If speedrunning is allowed on original hardware it should be OK on mister too. At least if using original controllers via SNAC.

Re: Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 10:56 am
by MostroW
You could open a request here and hope that someone is willing to invest the time to add that logic to the core.

Or download the source, write the logic, compile and test, and maybe request they merge it?

Re: Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 3:42 pm
by Kitrinx
The core doesn't block any combination of buttons. It takes what the framework gives it and dutifully encodes it just like the real hardware.

Re: Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 7:19 pm
by zaffo256
I used to have a GBboy (clone) that didn't have a pivot on the dpad. It made Zelda unplayable because the game was glitching out whenever you pressed opposite direction at the same time by accident. Do this happens on mister with a controller that would allow this?

Re: Proper handling of Left+Right/Up+Down?

Posted: Sat Jul 16, 2022 7:43 pm
by MostroW
yes, the games that exhibit this behaviour have no input validation to see if any "impossible" key combination have been made. (most notably left+right or up+down)

Re: Proper handling of Left+Right/Up+Down?

Posted: Mon Aug 01, 2022 1:28 pm
by darksakul
Emulators allow for Simultaneous Opposing Cardinal Directions (or SOCD) filtering as it was a requested feature from the Fighting game community/ eSports players as SOCD can cause glitches or cheats (it was a huge issue with Marvel vs Capcom 3 that you can hit Right + Left and block even unlockable attacks). For arcade controllers, there are SOCD Filters for existing arcade hardware as well as 3rd party Arcade controller Encoders have functions for built in SOCD Filtering.

So far I yet to see an actual Console support this outside of physical controller limitations (D-pads pivots).
You can also trigger this issue with some games by hitting one direction on a D-pad and the opposite on the left analog thumbstick (like fighting games on the PlayStation and Xbox consoles).

SOCD Filtering also breaks a number of games, example Pop'n Music and Dance Dance Revolution series rely on SOCD to work.