[WiP] Adding Cheat Support to more cores


One enhancement I’m requesting is the ability to explicitly set cheat types in the UI. This will solve headaches in certain systems, such as GBA, where GSv1 and GSv3 cheats can not be differentiated by string analysis, and it’s entirely possible a cheat may be simultaneously parsed as valid GSv1 and GSv3. However, this crosses over with extensions to the Libretro API, as the core would have to provide RA with a list of cheat types, and the cheat function would have to become aware of the cheat type set by the UI.


Here is an example of mGBA. All you have to do is paste the code in the box and click “Add”. Nothing else needed. It be great if you can toggle an option in-game that brings up a window of sorts that lets you copy-paste code and be done with it. As it is now, you have to open the cheat file directly and then reload the file itself, which is just a pain. This is on top of everything else you have to do just to get RA to read them.

PPSPP: This one is a bit more involved. You can hit the “edit” cheat file" option on the top left and it will directly open the cheat file associated with the game you have opened. Hitting “Refresh rate” will reload the file after you have updated it.


I’m new so please don’t get upset at my questions they’re valid. I updated my Raspberry Pi and all the emulators and a lot of these issues are now working for me. The question that I have is is there a possibility for cheat support with turbo Graphics 16 PC engine PC engine CD and turbo Graphics 16 CD games? The last question that I have I didn’t see anything really stable or confirming if you can cheat with PlayStation Portable games or if that’s going to be added at a later date. I mainly reread this a couple times and it seems that mainly it’s Nintendo and Sega consoles but I didn’t see anything mentioned about NEC consoles. I do however have a way of patching the ROMs on PC engine and turbo Graphics 16 but I would like to have a way to turn codes on and off and add the codes through the emulator in the future if it’s possible along with the PlayStation Portable cheat inputs for the future. I want to thank everybody for their hard work and I’m cheating at just about every Consul right now except for those. If there is no future plans for these that’s okay too maybe someone can give me some advice on how to patch these permantly for example turbo CD games and PlayStation Portable if in putting the codes isn’t an option


As far as I know the TurboGraphix/PCE emulators have no upstream cheat support. The only hope is for Mednafen, which has to be tested upstream and support potentially backported if it exists. I don’t have any CD games to test on myself

For PSP, an updated PPSSPP should be arriving very soon. Upstream has cheat support, so if it doesn’t work I’ll fix it as soon as I have time.


I want to thank you for that information at least they’ll be PlayStation Portable support soon great new!! I know that patches do work on PC engine and turbo Graphics 16 ROMs for the Raspberry Pi. I know there’s a lot of codes on game hackers. Org I just wish there was a way to support those emulators on here eventually or add support for those code types to convert them to the retroarch maybe in the future :wink:


I get emails updating new topics here please let me know when the new PlayStation Portable core with cheat support is available so I can update the emulator or do what I have to do to get it on my Raspberry Pi thanks again


I just updated the Raspberry Pi and I got cheats to work with mame Liberatore 2003. I followed the directions and downloaded the file that I needed to have and now cheats don’t work at all. When the cheats did work I use tab on my wireless keyboard and it had a section where I can pull up cheats and scroll down to the file that they suggested that I download and use the cheats now that’s not possible any suggestions? It says that cheats are supported so why is it not supporting cheats now?


I am using a Raspberry Pi 3 version4.2 20 I believe is the latest version and now cheats aren’t working


Correction mame cheats do work now. I still hope for the future we can Upstream cheats for PC engine and turbo Graphics 16 both the Hue card counterparts and the CD base systems or a way that you can least add files off of game hackers.org to add that will support the operating system this operates on. I want to see this thing take off so I don’t have to keep using my PC and there emulators for PC to do certain things this thing won’t do at least have this thing do 90% of what PC emulators do it’s a lot more easier to play on this than drag out the PC every time I want to play. If I can donate or help in any way to make some of this stuff happen let me know.


post a bounty for the features then.


I’m not sure what you mean by bounty. If there is a section on here to donate please let me know and I’ll make it happen. I’m fairly new to the Forum but I am assuming you mean there’s a section where I can request it is that correct?


Going deeper into @markwkidd’s post about MAME: it’s fully implemented into lr-mame2003, which uses the cheat.dat format. Credit goes to dankcushions who mentioned in the retropie.co.uk forums he had to map cheat support to mame2003. His commits can be found here and here.

There is however a whole new generation of cheats which are XML based and compiled into a cheat.7z archive. They are not understood by mame2003 but mame2010 and mame2014 instead, so implementing cheat functionality into lr-mame2010 would give access to an entirely new set of cheats which are actively maintained. One such cheat is pof’s work to create an accurate SSF2T training mode which was nothing but glitchy on previous cheat.dat formats.

I created an issue on the github’s project page and resumed the discussion on the retropie.co.uk thread where dankcushions’s posts can be found. I’m hoping the code-savvy community feels it’s worth making lr-mame2010 happen.


I look forward to new things in cheat development thanks for the heads up. I hope in the future that PC engine and PC engine CD based games and term graphic 16 counterparts will be supported with either cheat files or regular codes. I k if there’s another section where the request such a thing I’d be glad to do so. Thanks again to all the wonderful help on here.


Would love cheats in Saturn Beetle, definitely looks (to my untrained eye) like there’s cheat-related code in the core. Presumably just needs hooking into libretro.


I would love cheat support for the Saturn too they are improving on cheat support just not on CD base systems. If anyone knows about creating a bounty four features or something you’d like to see what someone explain to me what that is exactly thanks


Yeah if you added a bounty for Beetle Saturn cheat support I’d put some money on it as well.


Upstream mednafen has no support for Saturn cheats from what I can see. The decoder function would have to be written by scratch. Aside from that hangup, it should be as easy as copying the rest of the code from my previous work on beetle-psx-libretro.

It didn’t take long for me to find some documentation on the valid code types. No encryption or tricky encoding, thankfully, so this shouldn’t be too hard for whoever does actually do this.

X=Address    Y=Value
0XXXXXXX YYYY	16 Bit Write On Boot
1XXXXXXX YYYY	16 Bit Write
3XXXXXXX 00YY	8 Bit Write
DXXXXXXX YYYY	16 Bit equals activator*
FXXXXXXX YYYY	16 Bit Enable Code
BXXXXXXX YYYY	16 Bit Enable Code type 2
*If *XXXXXXX == YYYY execute next line
As I understand it, enable codes should be ignored by emulators.


I’m having trouble loading cheats in “Beetle PSX HW.” Usually when I attempt to load a cheat file, Retroarch crashes. Sometimes, however, the cheat file does load and the codes do work, so I know I’m entering them properly. I’m not sure what triggers this. Is this a known issue, or is there some trick to it I’m not getting? This happens with every game I have, so it appears to be an issue with the core.


No, there is not any known issue. What game and region is this, and what are the contents of the cheat file are you loading? Could you copy and paste it into a reply so that I can look into why it is making your game crash?


Sure. One of the games I’m attempting to load with cheats is “Final Fantasy VII (USA)(Disc1)”. The contents of the cheat file are:

cheats = “1” cheat0_desc = “Debug Room” cheat0_code = “8009ABF6+0041” cheat0_enable = “true”

Here’s another one if it helps. “Parasite Eve (USA)(Disc1).” Its contents are:

cheats = “1” cheat0_desc = “AK-47 (1st Slot)” cheat0_code = “800C0E48+0065” cheat0_enable = “true”

It doesn’t always crash, but it does most of the time on my end. I’m using the windows version of Retroarch 1.6.7