mirror of
https://github.com/shadps4-emu/ps4_cheats.git
synced 2024-11-26 20:30:22 +00:00
10 KiB
10 KiB
PS4 Cheats and Patches Repository
Official Cheat and Patches used for shadPS4 emulator
Repository Structure
Cheats
Cheats should be organized in the CHEATS
folder with the following file name format: SERIAL_VERSION.json
.
Examples:
CUSA07023_01.03.json
CUSA07023_01.03_2.json
CUSA07023_01.03_3.json
Note: Each cheat file should be associated with a single author.
Additionally, update the CHEATS_JSON.txt
file with the name of the added cheat file. The format is:
<fileName.json>=<game name>
Examples:
CUSA00265_01.95.json=Minecraft
CUSA14683_01.04_2.json=The Ascent
CUSA03617_01.12.json=Mafia III: Definitive Edition
SLES52482_01.00.json=Steel Dragon EX
CUSA16579_01.61_2.json=Cyberpunk 2077
CUSA34766_01.05.json=Granblue Fantasy Relink
Example Cheat File:
CHEATS/CUSA07023_01.03_TEST.json
{
"name": "Sonic Mania",
"id": "CUSA07023",
"version": "01.03",
"process": "eboot.bin",
"mods": [
{
"name": "Infinite Rings",
"hint": null,
"type": "checkbox",
"memory": [
{
"offset": "450759",
"on": "C683EC000000FF",
"off": "488983EC000000"
},
{
"offset": "4A5975",
"on": "66C783EC000000E703909090",
"off": "8B88B4030000018BEC000000"
}
]
},
{
"name": "Infinite Lives",
"hint": null,
"type": "checkbox",
"memory": [
{
"offset": "4AA374",
"on": "909090909090",
"off": "8983F8000000"
}
]
},
{
"name": "Enable Super Sonic",
"hint": null,
"type": "checkbox",
"memory": [
{
"offset": "A4415C",
"on": "01",
"off": "02"
}
]
},
{
"name": "Disable Super Sonic",
"hint": null,
"type": "button",
"memory": [
{
"offset": "A4415C",
"on": "03",
"off": "03"
}
]
},
{
"name": "Super Speed",
"hint": null,
"type": "button",
"memory": [
{
"offset": "A44180",
"on": "00000F0000400000",
"off": "00000F0000400000"
}
]
},
{
"name": "All Silver Medals",
"hint": null,
"type": "button",
"memory": [
{
"offset": "200036604",
"on": "20",
"off": "20"
}
]
}
],
"credits": [
"Talixme"
]
}
Patches
Set base address to 0x00400000
when importing binaries for consistency with PS4 memory address. (ASLR disabled)
Submission Guidelines
- Patch must be named
GameTitle.xml
and be in/PATCHES
.
For example, a patch file for Gravity Rush 2 must be calledGravityRush2.xml
. - If you are making a patch for a game that already has a file, then add to it, as patches support more than one author.
- Submitting patches:
- No whitespace.
- Lowercase hex for address/value hex, uppercase for Title ID.
Patch types
type |
Info | Value (example) |
---|---|---|
byte |
Hex, 1 byte | "0x00" |
bytes16 |
Hex, 2 bytes | "0x0000" |
bytes32 |
Hex, 4 bytes | "0x00000000" |
bytes64 |
Hex, 8 bytes | "0x0000000000000000" |
bytes |
Hex, max size is 255 bytes string (no spaces) | "####" |
float32 |
Float, single | "1.0" |
float64 |
Float, double | "1.0" |
utf8 |
String, UTF-8* | "string" |
utf16 |
String, UTF-16* | "string" |
mask |
Pattern Scan, max size is 255 bytes string (with spaces) Parameters: Offset : Offset from first address of found address |
"aa bb ?? dd" |
mask_jump32 |
Pattern Scan With Branch (32 bit), max size is 255 bytes string (with spaces) Parameters: Target : target bytes string for branchSize : size of jump (min: 5) with nop padding afterOffset : Offset from first address of found address |
"aa bb ?? dd" |
- Note: Strings must be manually null terminated.
Example Patch File
PATCHES/ShadowoftheColossus-Orbis_TEST.xml
<?xml version="1.0"?>
<Patch>
<TitleID>
<ID>CUSA08804</ID>
<ID>CUSA08809</ID>
<ID>CUSA08034</ID>
</TitleID>
<Metadata Title="Shadow of the Colossus" Name="Debug Menu" Author="illusion" PatchVer="1.0" AppVer="01.00" AppElf="eboot.bin" isEnabled="false">
<PatchList>
<Line Type="bytes" Address="0x004244f8" Value="e9f0000000"/>
<Line Type="bytes" Address="0x004245ed" Value="488b03"/>
<Line Type="bytes" Address="0x004245f0" Value="483b4308"/>
<Line Type="bytes" Address="0x004245f4" Value="c6053589dd0200"/>
<Line Type="bytes" Address="0x004245fb" Value="e9fffeffff"/>
</PatchList>
</Metadata>
<Metadata Title="Shadow of the Colossus" Name="Skip Splash Logo + Demo Screens" Author="illusion" PatchVer="1.0" AppVer="01.00" AppElf="eboot.bin" isEnabled="true">
<PatchList>
<Line Type="bytes" Address="0x032fae20" Value="01"/>
<Line Type="bytes" Address="0x008c95bc" Value="c683c000000001"/>
</PatchList>
</Metadata>
<Metadata Title="Shadow of the Colossus" Name="60 FPS" Author="illusion" PatchVer="1.0" AppVer="01.00" AppElf="eboot.bin" isEnabled="false">
<PatchList>
<Line Type="bytes" Address="0x01390090" Value="31c0c3"/>
</PatchList>
</Metadata>
<Metadata Title="Shadow of the Colossus" Name="Debug Menu" Author="illusion" PatchVer="1.0" AppVer="01.01" AppElf="eboot.bin" isEnabled="false">
<PatchList>
<Line Type="bytes" Address="0x004244f8" Value="e9f0000000"/>
<Line Type="bytes" Address="0x004245ed" Value="488b03"/>
<Line Type="bytes" Address="0x004245f0" Value="483b4308"/>
<Line Type="bytes" Address="0x004245f4" Value="c6053589dd0200"/>
<Line Type="bytes" Address="0x004245fb" Value="e9fffeffff"/>
</PatchList>
</Metadata>
<Metadata Title="Shadow of the Colossus" Name="Skip Splash Logo + Demo Screens" Author="illusion" PatchVer="1.0" AppVer="01.01" AppElf="eboot.bin" isEnabled="true">
<PatchList>
<Line Type="bytes" Address="0x032fae20" Value="01"/>
<Line Type="bytes" Address="0x008c95bc" Value="c683c000000001"/>
</PatchList>
</Metadata>
<Metadata Title="Shadow of the Colossus" Name="60 FPS" Author="illusion" PatchVer="1.0" AppVer="01.01" AppElf="eboot.bin" isEnabled="false">
<PatchList>
<Line Type="bytes" Address="0x01390090" Value="31c0c3"/>
</PatchList>
</Metadata>
</Patch>
*Contains information obtained from GoldHEN_Patch_Repository
Contributing
If you would like to contribute new cheats or patches, please follow these guidelines:
- Add your files to the appropriate folder (
cheats
orpatches
). - Update the
CHEATS_JSON.txt
file with the corresponding entry for new cheats. - Make sure your files are formatted correctly and follow the examples provided, and have been properly tested.