libretro / libretro-database

Repository containing cheatcode files, content data files, etc.
Creative Commons Attribution Share Alike 4.0 International
927 stars 789 forks source link

Sony Playstation Cheats in Wrong Format #414

Open christopher-s opened 7 years ago

christopher-s commented 7 years ago

A recent commit has re-enabled cheat support in beetle-psx, however all of the PSX cheats in this database are of an incorrect format.

This is the commit in question: https://github.com/libretro/beetle-psx-libretro/commit/272f5c2e0cf4a90ea620b7584e50d0e38683c736

It just uses the Mednafen code for cheat support and this doesn't allow for "+" (plus) symbols for the cheat codes.

For example, a cheat code in this database would look like: cheat0_code = "8009D970+03E7"

But, the beetle-psx code will throw an error due to the plus symbol.

Instead it should read: cheat0_code = "8009D97003E7"

I've tested this myself and it appears to work with removing the plus symbol.

The solution might be to adjust all the cheat files (likely doing a regex search/replace), or adjust the beetle-psx cheat decoding so it ignores the plus.

RobLoach commented 7 years ago

There are some pretty interesting use cases here...

cheat0_desc = "Reversed Complementary Joker Command P1"
cheat0_code = "D01D69BA+????"
cheat0_enable = false 

cheat1_desc = "Reversed Complementary Joker Command P2"
cheat1_code = "D01D69DC+????"
cheat1_enable = false 

cheat5_desc = "Infinite vitality gauge P1 & P2"
cheat5_code = "D011144C+00D6+3011144C+0000"
cheat5_enable = false 
christopher-s commented 7 years ago

Yeah - right now, I have no idea how those additional use cases would be handled with the Mednafen cheat format.

There's very little information on it.

RobLoach commented 6 years ago

Is this still an issue? We could likely parse the string on the libretro core side and strip the + signs out.

christopher-s commented 6 years ago

I haven't looked at this in ages. When I have a moment over the next week I'll check.