Skip to content

Commit

Permalink
Update cheats.md
Browse files Browse the repository at this point in the history
  • Loading branch information
birdybro committed Feb 12, 2024
1 parent fe8914e commit 52e21e2
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions docs/cores/features/cheats.md
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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.
Expand All @@ -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:
Expand Down

0 comments on commit 52e21e2

Please sign in to comment.