[WiP] Adding Cheat Support to more cores

Just thought I’d throw this out there - I just tested and the Yabause core does support cheats. Even multiline codes worked absolutely fine. Can’t test the Saturn Mednafen core right now as I guess I need to find a BIOS file.

I downloaded the latest nightly of the bsnes Accuracy core and cheats are working perfectly :slight_smile:

This is awesome! thank you. And it would be nice if Mednafen-PSX was updated much like the saturn core was.

EDIT: Tested the new cheat updates on Mednafen-PSX and multi-line codes work flawlessly on my end. Once again than you for all your work Offline!

I got around to testing the Saturn Mednafen core and unsurprisingly cheats don’t work.

As I said before, the Yabause core has fully working cheats (inc. multiline) so I dunno if that helps at all (could the code be ported from one core to the other?)

Hi There.

Bit of a noob here, but I’m really wanting to add this cheat support to Mega Drive in my Retropie.

I see the mention of “Pull requests” but not being that up to speed on things, I don’t know how to use this to add/update my retropie/Retroarch.

Any help to point me in the right direction in setting up or installing the above work would be greatly appreciated.

For reference I have updated Retropie/ES/Retroarch to thier latest versions in the last 24 hours.

All you should need to do is get updates in RetroArch’s built-in core updater. However, it looks like RetroPie handles things differently, and since I don’t have a Pi of my own, I’m not familiar at all with what exactly these differences are. The latest update of RetroPie was released moments before I got initial cheat support for MegaDrive games. If you can wait, the next big update should have these changes implemented, given that they’re now a part of RetroArch’s source code.

The only alternative to waiting I can come up with is compiling from source, but that’s a very complicated affair I can’t help you with because I don’t have a Pi of my own and don’t know the ins and outs of compiling code for it.

I realise you tried to explain the many different GBA code formats above, but could you ELI5 which formats should now work in VBA-M? As I’m encountering a lot of codes that don’t work, and I don’t know whether that’s the format, or just that the codes don’t work (a common problem with all cheat codes, as I’m sure you’re aware!), whether I can reformat the codes myself, for instance.

To take an example, Golden Sun https://gamehacking.org/game/4741/?game=4741

This code worked:

Max XP after battle: 961D4170 91008AFE

These codes don’t work:

Infinite HP: 9C9590DA CE28 Infinite HP: 42000538 07CF+00000004 014C Infinite Money: B2EA2111 EDD2+90E82929 79F3 Infinite Money: 79D6FD8C 6BC07A36

Finding working codes can be frustrating at the best of times, but it would help if I understood what I should look out for, and what definitely won’t work in VBA-M with the current cheat support. I notice the code types on that page I linked above are either AR34 or CB (Codebusters, I guess?). I don’t know what codes I can use, what codes I could use if I reformatted them, and what codes I just plain can’t use (oh, and what codes just don’t work!).

Any help would be appreciated :innocent:

EDIT: okay, am having some success converting CB codes to Action Replay MAX codes here: http://gamehacking.org/system/gba

EDIT 2: Hopefully adding full cheat support to mGBA is on the list, as it seems to be the most in-favour GBA emulator these days.

I can’t seem to get cheats to work in the Nestopia core. Downloaded latest nightly and updated cheats. Any ideas?

Haven’t thoroughly tested Nestopia until now. So I pulled open Super Mario Bros 3 and added a few random codes from gamehacking.org. Both GG and PAR codes worked for me, but only single line codes worked out of the box. Only the first line of multiline codes worked unless I manually split them into separate codes. RAW codes did not function at all. Pull request submitted, so expect improvements to arrive in the core updater after a few days.

Just out of curiosity, what games did you test with? It’s possible the cheat files may be flawed, or based on another rom revision.

I tested with Mega Man 2, and tried both the Game Genie and Pro Action Replay NES cheats that are downloaded through the RA Online Updater. Thanks for looking into it :slight_smile:

EDIT: Tried with Super Mario Bros. 3 and the cheats did work. Maybe it was just the cheat file for Mega Man 2 that had issues? I am using a No-Intro rom set.

The official Mega Man 2 cheats are in Action Replay format, which is not supported by either Nestopia or FCEUmm. Note that on NES PAR can stand for Pro Action Rocky, which is a distinct format from Pro Action Replay. A good search didn’t get me a copy of the code format, so don’t expect those to start working anytime soon.

Edit: Nevermind, it looks stupid simple.

I found these Game Genie codes and manually entered the one for infinite lives and it seemed to work, I guess it was just a bad cheat file in the Online Updater :slight_smile:

http://www.gamegenie.com/cheats/gamegenie/nes/mega_man_2.html

Offline any chance of looking at cheats in Saturn Mednafen? I’ve tried that core on a bunch of games and it’s virtually flawless - just needs cheats!

Sinistrahd posted a support question on Github. I referred him here.

Hello ilag111111, I am trying to figure out getting the genesis PAR codes to function in Genesis_Plus_GX and have been having issues with non-functionality, I have tried, to take a single example, Sorceror’s Kingdom, in several different versions from the 3.00 Goodmerge. I have not been able to get a code to work on that game in either the retroarch clover implementation on nes classic or PC Retroarch updated to the latest version and core. I was wondering if you had any tips to get the codes working, as I know they do work for some users. Also, I found this on the forums ( Genesis Game Genie Cheats ) and was wondering if anything there looks promising to you. Just a disclaimer, I have virtually no coding background beyond assembler, and I ended up getting a degree other than EE because of the programming requirements :stuck_out_tongue:

I think I figured out your problem. The included cheats file for this game is malformed. Unfortunately I have no control over those, and my recommendation is to not bother using any of the included cheats files and looking the game up on GameHacking.org and other reliable external sources.

There is an easy solution for this problem: just rewrite the cheats replacing the “+” with a “:” between the two code parts. For Infinite Money, FF0490+FFFF becomes FF0490:FFFF. For Max Health, FF04A8+270F+FF04B6+270F becomes FF04A8:270F+FF04B6:270F. For the Slot Modifier cheats, replace the ?? with a pair of hexadecimal numbers. GameHacking.org has a list of what these values are on this game’s page, which I’m reposting here.

01 - Alt Knife 02 - Sword 03 - Broad Sword 04 - Death Sword 05 - Omega Sword 06 - Bow 07 - Fire Bow 08 - Metal Bow 09 - Bomb 0A - Power Bomb 0B - Hyper Bomb 0C - ATM Bow 0D - Red Key 0E - Blue Key 0F - Green Key 10 - Wood Key 11 - Hp Up 12 - Water ST 13 - Fire ST 14 - Shadow ST 15 - Wood ST 16 - HP Heal 17 - Booster 18 - SP Heal 19 - Special 1A - DYT Call 1B - EFR Call 1C - SHD Call 1D - BOW Call 1E - Cheese (Hp + 1/4) 1F - Fish (Hp + 1/2) 20 - Meat (Hp + 3/4) 21 - Roast (Hp + Max) 22 - Orange (Sp + 1/4) 23 - Apple (Sp + 1/2) 24 - Pappya (SP + 3/4) 25 - Grapes (Sp + Max) 26 - Small Mushroom (Hp Sp + 1/4) 27 - Lettuce (Hp Sp + 1/2) 28 - Onion (Hp Sp + 3/4) 29 - Big Mushroom (Hp Sp + Max) 2A - Elixir

Hopefully this should answer all of your questions, but if not, please post here and I’ll get back to you shortly.

In response to Dan, I’m still without any Saturn games, so I can’t add cheats to Mednafen Saturn just yet. When I do get a hold of some, I’ll be sure to do so.

Thank you so much! I guess this isn’t a very popular title, is it? By the way, I tend to attract overlooked bugs that hardly ever affect anyone else, so if you are ever looking for them in something, just have me use it.

I commented on this earlier but is there any way to simplify the process of adding cheats to Retroarch? When you are working with 1 or 2 codes it is not a big deal, but when you are adding 5-10 codes at a time the system really becomes a hassle.

For stand alone emulators all all you generally have to do is simply add the code and you are good to go.

My focus is on the cores rather than Retroarch’s UI. I’ll add it to the suggestion list, because it annoys me too.

Enhancements to the cheat UI may be a good candidate for a Bounty: https://forums.libretro.com/c/bounty-discussion

1 Like

No problem Offline, keep up the great work.

And yeah it could work as a bounty.

If you would write up the use case as an issue in the RetroArch github – or it sounds like maybe you could even provide some screenshots of other emulators – I’d toss in $5. In some cases that’s all it takes to get the ball rolling.