[WiP] Adding Cheat Support to more cores

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.

1 Like

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

If it’s a crash upon actually loading the files, I can’t replicate it. Same with hitting the apply button with either cheat file loaded. Granted I don’t have copies of either of those games on me at the moment to test if the cheats apply properly, and I’m testing on a Linux 64-bit build from source. I can test those two games on Windows in a day or two.

You said that it crashes on load, but I need to confirm when exactly this happens. Is it right when you select the file? Is it when you hit the apply button? Or is it when you exit the menu to resume the game? Also, if you do not have “Pause when menu activated” enabled, can you enable it and try again?

If the crash happens when the cheat file is selected, confirm that the file name has no special characters. That shouldn’t cause any issues, but I want to rule it out.

What bothers me is that the only known way cheats can cause an emulator crash is if, on pressing apply and resuming gameplay, the cheat causes the game to crash so spectacularly that it takes the emulator with it. I cross-referenced the cheats in your post and confirmed that they are correct for what they’re named, so I doubt that is what’s happening.

The crash happens right when I select the cheat file. I never even get the chance to hit the apply button. “Pause when menu activated” is enabled on my end when it happened. There are no special characters in the file names. The file names for the two cheats I provided are “Final Fantasy VII.cht” and “Parasite Eve.cht”

Here are the steps to reproduce if they help:

  1. Load the “Beetle PSX HW” core (Though I tested it with other cores, and the same crash happens)

  2. Select “Cheats” under “Quick Menu”

  3. Select “Load Cheat File”

  4. Select and confirm the cheat file to be loaded

I really doubt it’s a problem with the games themselves, since this happens even when loading a cheat without a game playing in Retroarch itself.

Hi there

From what I’ve read so far, cheat support seems to be very much biased towards consoles. What about microcomputers? Many of them had devices which could insert POKEs into memory in order to cheat at games - for instance the Multiface devices for Sinclair/Amstrad computers (https://en.wikipedia.org/wiki/Multiface) - would this sort of thing fall under the cheat system, or am I barking up the wrong tree?

Cheers

Since virtually no cores had cheat support till you stepped in, it’s a safe bet that “whoever” is probably either you or no-one…

:grin:

EDIT: no issues with Beetle PSX HW here - just loaded Crash Bandicoot with cheats and all worked fine (build 815feba). Maybe an issue with your cheat files? Perhaps the encoding (mine are UTF-8).

I updated Retroarch to the latest nightly build, and the cheats now load without any problems! Don’t know what was causing the issue, but it seems to be fixed now. Thanks for the help in looking into it, though.

Hoping Virtual Boy Cheats will also be implemented. I swear there was a VirtualBoy Emulator that was released that had this ability. It had Cheats and they worked. I think it was for the Wii. In case there will be, I have tried taking Cheats from rdragon and using them in RA VB Core, but it crashed on me. Here are all the Codes in the .cht File of rdragon:

{ Title: Galactic Pinball

CT: Infinite Pucks CC: 0-0006F30-0009

CT: Bonus Game CC: 0-0004F80-0005 }

{ Title: Jack Bros

CT: Infinite Time CC: 0-0000112-0046

CT: Invincible, etc. CC: 1-0000150-FFFF }

{ Title: Mario Clash

CT: Select Any Level CC: 2-00E7A26-0063 CC: 2-00E7B02-0063 }

{ Title: Panic Bomber

CT: Debug Mode CC: 3-00006B4-00AC CC: 3-00006B6-9403 CC: 2-000090C-0020 CC: 2-0000958-00A0 CC: 2-00009B6-0040 CC: 3-0000D0A-F8A4 CC: 3-0000D38-F8A4 CC: 3-0000D64-F8A4

CT: Stage Select CC: 3-00006B2-E841 CC: 3-00006B4-02AC CC: 3-00006B6-4C79 CC: 3-0028000-E4D1 CC: 3-0028002-D6A6 CC: 3-0028004-E141 CC: 3-0028006-E4D1 CC: 3-0028008-F8A4 CC: 3-002800A-1F18 }

{ Title: Space Invaders- Virtual Collection

CT: Infinite Lives CC: 3-000D326-4045 }

{ Title: Space Squash

CT: Infinite HP CC: 0-0000130-0004 }

{ Title: Teleroboxer

CT: Infinite Health CC: 0-000477C-007F

CT: 1-Hit Knock Outs CC: 0-0004780-0001 }

{ Title: Vertical Force

CT: Debug Menu CC: 2-000B330-0022 }

{ Title: Virtual Bowling

CT: Debug Menu CC: 2-0003EFA-0041 }

{ Title: Virtual Boy Wario Land

CT: Infinite Time CC: 0-00087AA-00B0

CT: Infinite Lives CC: 0-00087A4-0009 }

@Offline am itching to have cheats in Beetle Saturn now. Would a bounty arouse your interest in implementing them?

1 Like

My Wishlist would be PC Engine/Turbo Grafix, The Virtual Boy and Maybe Dreamcast.

PC Engine/Turbo Grafix cheat support would be great. Is it worth starting a bounty to try help this happen?

1 Like

I have put $5 in to a Bounty for cheat support to be added to Beetle PCE Fast:

Links:

pce cheats? in what format? from what i gathered since there was no official cheat device for it, people have been using ips patches. forgot the link but that should be out there…

Mednafen for PCE on windows has cheat support. Not sure if it is using IPS patches or another format.

Thanks for the information does that include cheat support for PC engine CD games as well?I do use IPS Patches I have a guy that makes them for me. I’m just hoping for the future that if it’s supported on Windows not sure why you can’t do it on the Raspberry Pi core?