djhackersdev / bemanitools

Runs recent Konami arcade games and emulates various arcade hardware.
The Unlicense
85 stars 16 forks source link

IIDX 30: D01 IO issues when reading Felica cards with slotted readers using eamio-icca #276

Open econtrer opened 9 months ago

econtrer commented 9 months ago

As the title says, this is happening on an old cab with the following setup:

When using the old E004 prefixed eamuse cards, everything works smoothly. But when someone inserts a felica 012E prefixed card, somehow the reader/game reads it and the game goes through, even though the in-game card ID doesn't match the physical one. People can play and end their credit just fine, but after this, the 10-key pads, start button, effect and VEFX buttons stop registering inputs, but the game keeps running on attract mode, then a reboot is required in order for it to work again.

Apparently, the game generates the same in-game card code, regardless of which Felica card it reads.

Since I'm not sure if this is an issue with the IO firmware or eamio-icca, Is there anything we can do as a workaround so the game/readers ignore felica cards?

econtrer commented 9 months ago

The following behavior might be relevant to this issue: When inserting an eamuse card, the reader doesn't hold it inside, but the cards must be pushed all the way in for the game to register it. This wasn't required before when the cab was running IIDX 24 (Sinobuz) with libacio for slotted readers, cards picked up by barely going halfway inside the reader.

icex2 commented 9 months ago

This sounds like this could be related to (but I am uncertain, just linking them here for cross-visibility):

IIRC I had someone trying a felica card on a slotted reader once as well on an older version of IIDX and it didn't work at all.

A quick code triage of the emulation code made me wonder if this part might not cover the case of: slotted reader + felicia card.

I am unsure, but I think slotted readers officially never supported felica type cards?