Essentially the idea is to implement RetroArch's libretro cheat format (or functionally equivalent) in the integration, adapting both to allow the following flow:
Fetch list of sanctioned cheats from server alongside logic
Add cheats to list (or secondary non-saved list) in an unmodifiable state (user-toggleable)
Trigger logic on enabling specific cheats
Required work (presumed, and a bit daunting):
Write the entire cheat system into the integration
Add logic feature to validate specific cheat enable states (could instead be kludged on most systems via a write to unused memory if necessary)
Modify RetroArch to support the feature
Modify website to allow displaying info on sanctioned cheats and possibly editing them (developer only)
Modify database to allow storing sanctioned cheats
Modify API to support sending the cheats
At a base level, this would allow simple QoL cheat usage despite having the cheat system locked down. Examples of this are various 60 FPS cheats for PPSSPP, widescreen cheats, anti-seizure cheats to suppress flashing effects, d-pad/touchless tweaks where applicable, and so on. Some games also require cheats or hacks to be playable at all, such as the Hilton training game on PSP and the Pokemon typing game on DS. A cheat could also be allowed to enable the infamous Snow Queen quest in Persona while playing on the US version of the game.
Many simple hacks that have had a tumultuous life cycle on RA would be usable as sanctioned cheats, such as the Zelda three heart hack. It could very easily be implemented as a spelunker mode cheat (death on taking any damage, regardless of your current/max health) with a subset (V2 feature) dedicated to completing tasks with it active. Numerous challenge modes could be implemented the same way, with a much lower bar to creation than rom hacking requires, and much easier compatibility once subset support is available.
Note: The libretro cheat format was specified above because it allows cheat chains and multi-write cheats, enabling functionality such as making the framerate 60 fps during gameplay but 30 fps during locked FMVs that would stutter wildly otherwise. Given that the format already exists, it seems that would be the easiest approach to implementing advanced functionality without needing to rewrite the spec.
Worth noting that for some games, we could force debug activation to be false while requiring something else to be true and require the latter in achievement logic.
Essentially the idea is to implement RetroArch's libretro cheat format (or functionally equivalent) in the integration, adapting both to allow the following flow:
Required work (presumed, and a bit daunting):
At a base level, this would allow simple QoL cheat usage despite having the cheat system locked down. Examples of this are various 60 FPS cheats for PPSSPP, widescreen cheats, anti-seizure cheats to suppress flashing effects, d-pad/touchless tweaks where applicable, and so on. Some games also require cheats or hacks to be playable at all, such as the Hilton training game on PSP and the Pokemon typing game on DS. A cheat could also be allowed to enable the infamous Snow Queen quest in Persona while playing on the US version of the game.
Many simple hacks that have had a tumultuous life cycle on RA would be usable as sanctioned cheats, such as the Zelda three heart hack. It could very easily be implemented as a spelunker mode cheat (death on taking any damage, regardless of your current/max health) with a subset (V2 feature) dedicated to completing tasks with it active. Numerous challenge modes could be implemented the same way, with a much lower bar to creation than rom hacking requires, and much easier compatibility once subset support is available.
Note: The libretro cheat format was specified above because it allows cheat chains and multi-write cheats, enabling functionality such as making the framerate 60 fps during gameplay but 30 fps during locked FMVs that would stutter wildly otherwise. Given that the format already exists, it seems that would be the easiest approach to implementing advanced functionality without needing to rewrite the spec.