diff --git a/docs/cores/features/cheats.md b/docs/cores/features/cheats.md index dc899114..b10da39d 100644 --- a/docs/cores/features/cheats.md +++ b/docs/cores/features/cheats.md @@ -1,6 +1,7 @@ Some of MiSTer's cores have the capability to apply cheats in-game. The cheats are in a specific format and are automatically pulled from [gamehacking.org's](https://gamehacking.org/){target=_blank} website when you run the downloader script. These cheat files have specific rules that govern how they can be used. ## Setup + Cheats should be stored in: `cheats/system/rom_filename.zip` where system is name of the core like NES, SNES, Genesis, etc... So, for example: @@ -14,6 +15,7 @@ If the .zip cheat file does not match the ROM name, the cheat engine will automa Individual cheats are in .gg format and should be stored in zip files. ## How to use Cheats with CD-ROM images + Since CD-ROM images are large, the MiSTer purposefully doesn't do CRC32 hash checks for CD images. You will need to place the cheats you want into the same folder as your cue/bin or CHD file, in order to use cheats with it. Typically the cheat-matching with your CD-ROM image is done by matching the filename of your CUE/BIN, CHD, or ISO with the filename of the cheat zip file. The Playstation core uniquely allows for this method and has an additional method to load the cheat based upon the internal Game ID (e.g. SCUS-94163). Please note, if the cheats do not load, then check the following: 1. The cheat zip file is in the same subfolder as the desired CUE/BIN, CHD, or ISO. @@ -23,6 +25,7 @@ Since CD-ROM images are large, the MiSTer purposefully doesn't do CRC32 hash che If cheats for the CD game do not work when everything else looks correct, it is possible your version of the game is wrong. ## Making your own codes + All types of cheat codes for 16 bit systems and earlier can be decoded into four pieces of information: An address, a compare value, a replace value, and usually a flag to say if the compare value is used or not. The format for a gg file is in binary as 4 32 bit integers in little-endian byte order. For example, if the Address is `0xFF1CA0` and the compare value is `0xB5` and the replace value is `0xFF`, the file would look like this: