I figured out what's going on:
NeoInput[2] is NeoButton1 in d_neogeo.cpp.
NeoButton1 + 1 would make NeoInput[2] be 2. It's the P1 Select button.
Somehow Select and coin are being pressed at the same time in your input logic.
On standalone, if I press coin and select at the same time, it does exactly the same thing as this bug report states.
handy tip:
to get the raw input values in NeoInput or DrvInput
x being the number after the variable. so for "NeoButton + 1", calculate 1<<1, which equals 2. (of course, analogx pcalc comes in handy here)
best regards,
- dink
Both 32bits & 64bits seem to suffer from the same issue.
NeoInput[2]'s value doesn't match when i press coin button : 0 in standalone, 2 in the libretro port
PS : there are a lot of "#if defined EMULATE_WATCHDOG" in this file, i inserted my printf at line 4695
Edit : i confirm forcing NeoInput[2]'s value to 0 fix the whole issue, any idea why there is a 2 in there when i press coin ? Some kind of overflow ?