jpd002 / Play-

Play! - PlayStation2 Emulator
http://purei.org
Other
2.04k stars 248 forks source link

Fix controls in Cobra the arcade (world version) #1306

Open bojo5150 opened 8 months ago

bojo5150 commented 8 months ago

Quick summary

1) There is no official arcadedef for the world (English) version of Cobra (cobrataw) however making mine own works, games loads great. 2) All controls work when testing in the test menu except for the mouse cursor (aim) and the gun trigger

System Details

Describe the ambient being used to run Play! Information needed:

Issue Details

Describe in details the problem you had and the expected behavior

Requesting to officially add the World dongle/arcadedef and fix aim and trigger controls

Screenshots/Videos

iojiotr commented 8 months ago

And unlike the Japanese version, card r/w emulation doesn't work...

Keropon commented 8 months ago

If you read the arcadedef of the japanese version, you should see that it includes some codes to skip card check, did you try including those on your "World" version of CTA?

What changes in CTA (world)? the dongle? the HDD/disc?

bojo5150 commented 8 months ago

I’ll confirm later when I’m home if it includes the skip card check, pretty sure it does though. As for what’s different, just the dongle

Keropon commented 8 months ago

Can you also record a video of point 2's behavior? (All controls work when testing in the test menu except for the mouse cursor (aim) and the gun trigger)

bojo5150 commented 8 months ago

Ok, sorry for the delay, I do not have the skip card detection in the arcadedef. It’s currently written as:

{ "id": "cobrata", "name": "Cobra: The Arcade World", "dongle": { "name": "NM00021 CBR2, Ver.B a026081331195a.bin" }, "hdd": { "name": "cbr1-ha.chd" }, "eeFrequencyScale": [4, 3], "boot": "ac0:CBRLOAD", "patches": [ ] }

bojo5150 commented 8 months ago

Can you also record a video of point 2's behavior? (All controls work when testing in the test menu except for the mouse cursor (aim) and the gun trigger)

Specifically the mouse was not controlling the gun axis nor was the gun trigger working so I couldn’t calibrate in the test menu. I just added the “lightgun” section of the Jap arcadedef and both now work just fine however the card detection patch does not seem to work on the world version as the game boots to a white screen. When I remove the section of the syntax the game boots and plays fine but has the card error

Keropon commented 7 months ago

Great. Then the only thing to do now is updating the new addresses for the card detection skip patch that Cobra The Arcade (world) uses. Maybe you could do a PR with the updated .arcadedef you now have!

kim-sama commented 7 months ago

Ok, sorry for the delay, I do not have the skip card detection in the arcadedef. It’s currently written as:

{ "id": "cobrata", "name": "Cobra: The Arcade World", "dongle": { "name": "NM00021 CBR2, Ver.B a026081331195a.bin" }, "hdd": { "name": "cbr1-ha.chd" }, "eeFrequencyScale": [4, 3], "boot": "ac0:CBRLOAD", "patches": [ ] }

You don't have the gun config stuff. You need to add above "eeFrequencyScale": [4, 3], this: "inputMode": "lightgun", "lightGunXform": [ -65535, 0, 65535, 0 ],

bojo5150 commented 7 months ago

Great. Then the only thing to do now is updating the new addresses for the card detection skip patch that Cobra The Arcade (world) uses. Maybe you could do a PR with the updated .arcadedef you now have!

Sorry, I failed at trying to do a pull request and therefore I’m just pasting in the arcadedef below. As it stands the game works great in English but it does need the card read error skip to be incorporated as the mem addresses in the Japan arcadedef do not work with the World dongle.

{ "id": "cobrata", "name": "Cobra: The Arcade World", "dongle": { "name": "NM00021 CBR2, Ver.B a026081331195a.bin" }, "hdd": { "name": "cbr1-ha.chd" }, "buttons": { "3": "circle" }, "inputMode": "lightgun", "lightGunXform": [ -65535, 0, 65535, 0 ], "eeFrequencyScale": [4, 3], "boot": "ac0:CBRLOAD", "patches": [ ] }

Keropon commented 3 months ago

Will try to test this .arcadedef, although there's no way to skip card detection right now. Should work when Card Reader IO is finally implemented.