Help:Game Patches: Difference between revisions

Help page
(Add patches for Iron Man)
m (→‎Template syntax: Remove whitespace)
 
(143 intermediate revisions by 17 users not shown)
Line 1: Line 1:
This page lists the current existing community patches for RPCS3's game patching system. To use them, create a <code>patch.yml</code> file and add one or more of the following patches to it. See the detailed instructions below.
This page aims to provide all information relating to RPCS3's patch system.
* The [[/Main|Main subpage]] lists the current PPU patches available for RPCS3's game patching system.
* The [[/SPU|SPU subpage]] lists the general-use SPU patches available for RPCS3's game patching system.
* The [[/Canary|Canary subpage]] lists patches that are severely buggy, in-development, or circumvent emulation bugs. These patches are not shipped with RPCS3's patch download functionality.


Refer to the [[/Canary|Canary page]] for patches that are in-development, severely buggy or generally not recommended for use.
==Using game patches==
The simplest way to enable patches in RPCS3 is as follows:
# Boot RPCS3
# Select <code>Manage > Game Patches</code> to access the Patch Manager.
# Click the '''Download latest patches''' button and the emulator will automatically fetch the latest version of available patches.
# Navigate to the patch you wish to enable and tick the checkbox corresponding to the patch. You may want to tick the check box '''Only show owned games''' to make navigation simpler.
# Click '''Save''' and boot the game.


==How to use patches==
==Manually adding custom patches==
The first step is to create a <code>patch.yml</code> file:
There are many patches that aren't shipped with the automatic download facility due to them being canary patches, privately-shared patches, or otherwise missing from the Wiki. These patches can be added to RPCS3 in the following manner:
# Open your preferred text editor (e.g: Notepad++, VSCode, Sublime).
# Open your preferred text editor (e.g: VSCode, Sublime, Notepad++).
# Add the line <code>Version: 1.1</code> to the top of the file. Do not paste anything else on this line. Hit <code>Enter</code> and move to the next line.
# Add the text <code>Version: 1.2</code> as the first line. Do not paste anything else on this line. Hit <code>Enter</code> and move to the next line.
# You can find a list of all patches available for various games below. Copy the lines of code for the patch that you wish to apply. ''Do not try to edit any of the patches unless you know what you are doing.''
# Paste your custom patch from the [[/Canary|Canary page]] or any other source. Ensure that the formatting for these patches are perfect, as the emulator will ignore the patch if it detects any formatting deficiencies.
# Click '''Save''' and name the file '''patch.yml'''. Do NOT change the capitalization or use any other name, RPCS3 will not be able to apply the patches.
# Click '''Save''' and name the file '''imported_patch.yml'''. Do NOT change the capitalization or use any other name, RPCS3 will not be able to apply the patches. On Windows, select ''All files (*.*)'' as the file type when saving.
# Save the file in relevant location:
# Save the file in relevant location:
#: <u>Windows</u>: <code>\patches\</code>
#: <u>Windows</u>:<pre>&lt;RPCS3 folder&gt;\patches\</pre>
#: <u>Linux</u>: <code>~/.config/rpcs3/patches/</code>
#: <u>Linux</u>:<pre>~/.config/rpcs3/patches/</pre>
#: <u>MacOS</u>: <pre>~/Library/Application Support/rpcs3/patches/</pre>If you're unable to locate this directory then copy/paste the path shown here into Spotlight and hit Enter.
# Navigate to the Patch Manager as mentioned before and tick the checkbox corresponding to the patch you wish to apply.


Next you need to select the patches you wish to enable in the Patch Manager. To do this:
==How to identify the PPU/SPU executable hash==
# Boot RPCS3
This section is meant for adept users who wish to apply a patch to a different game version. ''Do not try to edit any of the patches unless you know what you are doing.'' Please note that you will also have to edit the Title ID and game version information for the modified patch to be applied by the emulator.
# Select <code>Manage > Game Patches</code> to access the Patch Manager.
# Navigate to the patch you wish to enable and tick the checkbox corresponding to the patch.
# Click '''Save''' and boot the game.


==How to identify the PPU hash from your executable==
To identify the executable hash, follow the instructions mentioned here:
If the patch that you wish to use already mentions the correct PPU hash, you can ignore this section. However, patches for some games mention only a single hash and leave it up to the user to identify the PPU hash for their version and apply the same. In such cases, follow the instructions mentioned here:
# Boot the game for a minute and then close the emulator.
# Boot the game for a minute and then close the emulator.
# Open '''RPCS3.log''' (or just RPCS3 with the Notepad icon).
# Open '''RPCS3.log''' (or just RPCS3 with the Notepad icon).
# Search for the string <code>PPU executable hash:</code>.
# Search for the string <code>PPU executable hash:</code>.
# Copy the value that looks like <code>PPU-b8c34f774adb367761706a7f685d4f8d9d355426</code>. This is the PPU hash of your game.
# Copy the value that looks like <code>PPU-b8c34f774adb367761706a7f685d4f8d9d355426</code>. This is the PPU hash of your game.
# Open '''patch.yml''' with any text editor (e.g: Notepad++, VSCode, Sublime).
# Open '''patch.yml''' with any text editor (e.g: VSCode, Sublime, Notepad++).
# Find the existing patch that you wish to modify and copy it to '''imported_patch.yml'''. Ensure that you also copy over any anchors that the patch relies on.
# Find the existing PPU hash in the patch and replace the same with the PPU hash you obtained in ''Step 4''.
# Find the existing PPU hash in the patch and replace the same with the PPU hash you obtained in ''Step 4''.


__TOC__
Please note that some games may have multiple PPU executable hashes, and it is up to you to figure out the correct hash to be copied. Also, the same method can be used to extract SPU executable hashes by searching for <code>SPU executable hash:</code> in ''Step 3''.
==Disable SPU MLAA==
<syntaxhighlight lang="yaml">
Anchors:
  SPU_MLAA_01: &SPU_MLAA_01
    - [ be32, 0x000031f4, 0x40800003 ] # il r3 0
  #  - [ be32, 0x0000349c, 0x40800017 ] # il r23 0 # causes blackscreen
 
  SPU_MLAA_02: &SPU_MLAA_02
    - [ be32, 0x000031f4, 0x40800003 ] # il r3 0
    - [ be32, 0x0000349c, 0x40800017 ] # il r23 0
 
  SPU_MLAA_03: &SPU_MLAA_03
    - [ be32, 0x000031f4, 0x40800003 ] # il r3 0
    - [ be32, 0x000034a4, 0x40800017 ] # il r23 0
 
  SPU_MLAA_04: &SPU_MLAA_04
    - [ be32, 0x00005948, 0x40800094 ] # il r20 1
    - [ be32, 0x0000690c, 0x40800027 ] # il r39 0
 
  SPU_MLAA_05: &SPU_MLAA_05
    - [ be32, 0x00004440, 0x40800002 ] # il r2 0
    - [ be32, 0x000056C4, 0x4080008a ] # il r10 0
 
  SPU_MLAA_06: &SPU_MLAA_06
    - [ be32, 0x000033b0, 0x40800017 ] # il r23 0
    - [ be32, 0x0000373c, 0x4080001f ] # il r31 0
 
  SPU_MLAA_07: &SPU_MLAA_07
    - [ be32, 0x0000325c, 0x40800003 ] # il r3 0
    - [ be32, 0x00004C00, 0x40800091 ] # il r17 1
 
  SPU_MLAA_08: &SPU_MLAA_08
    - [ be32, 0x000036d4, 0x4080001d ] # il r29 0
    - [ be32, 0x000033d0, 0x40800005 ] # il r5 0
 
  SPU_MLAA_09: &SPU_MLAA_09
    - [ be32, 0x00003744, 0x4080001e ] # il r30 0
    - [ be32, 0x00003430, 0x40800006 ] # il r6 0
 
  SPU_MLAA_10: &SPU_MLAA_10
    - [ be32, 0x000036bc, 0x4080001c ] # il r28 0
    - [ be32, 0x000033c0, 0x40800005 ] # il r5 0
 
  SPU_MLAA_11: &SPU_MLAA_11
    - [ be32, 0x00003344, 0x40800003 ] # il r3 0
    - [ be32, 0x000037b4, 0x4020007f ] # spu nop
 
  SPU_MLAA_Notes: &SPU_MLAA_Notes "Removes Morphological Anti-Aliasing, known as \"MLAA\", a form of post process anti-aliasing which is done using the CELL's SPUs instead of the RSX for extra performance."
 
SPU-5177cbc4bf45c8a0a6968c2a722da3a9e6cfb28b: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Prince of Persia: The Sands of Time, Prince of Persia: Warrior Within, Prince of Persia: The Two Thrones"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_01 ]
 
SPU-9001b44fd7278b5a6fa5385939fe928a0e549394: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA (Puppeteer):
      Game Title: "Puppeteer"
      Serials: All
      Author: Whatcookie
      Notes: "Removes Morphological Anti-Aliasing, known as \"MLAA\", a form of post process anti-aliasing which is done using the CELL's SPUs instead of the RSX for extra performance.\nBe Warned, this game will display a blackscreen if the SPU MLAA patch of Binary Domain is active."
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_01 ]
    Disable SPU MLAA:
      Game Title: "Binary Domain, Journey, Oddworld: Stranger's Wrath HD, Tokyo Jungle, SoulCalibur Lost Swords, SoulCalibur V, Yakuza Ishin, Yakuza 5"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_02 ]
 
SPU-931132fd48a40bce0bec28e21f760b1fc6ca4364: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Captain America: Super Soldier, Yakuza Dead Souls, Need for Speed Shift 2 Unleashed"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_02 ]
 
SPU-7b5ea49122ec7f023d4a72452dc7a9208d9d6dbf: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Dragon Age 2 (Dragon Age II)"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_02 ]
 
SPU-df5b1c3353cc36bb2f0fb59197d849bb99c3fecd: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Medieval Moves: Deadmund's Quest, Shadow of the Colossus, Sports Champions 2"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_02 ]
 
SPU-ac189d7f87091160a94e69803ac0cff0a8bb7813: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "ICO"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_02 ]
 
SPU-794795c449beef176d076816284849d266f55f99: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Macross 30"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_03 ]
 
SPU-e3780fe1dc8953f849ac844ec9688ff4da3ca3ae: # SPUNAME: 'u:\bin_ps3_SNC\edgepost_mlaa_ta'
  Patches:
    Disable SPU MLAA:
      Game Title: "Metro Last Light"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_03 ]
 
SPU-530c255936b07b25467a58e24ceff5fd4e2960b7: # SPUNAME: 'mlaascanline.PS3_Release/mlaasca'
  Patches:
    Disable SPU MLAA:
      Game Title: "God of War 3 (God of War III)"
      Serials: All (v1.00)
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_04 ]
 
SPU-2239af4827b17317522bd6323c646b45b34ebf14: # SPUNAME: 'mlaascanline.PS3_Release/mlaasca'
  Patches:
    Disable SPU MLAA:
      Game Title: "God of War 3 (God of War III)"
      Serials: All (v1.03)
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_04 ]
 
SPU-7cd211ff1cbd33163eb0711440dccbb3c1dbcf6c: # SPUNAME: 'z:/export/jenkins/workspace/int6'
  Patches:
    Disable SPU MLAA:
      Game Title: "God of War Ascension"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_05 ]
 
SPU-1549476fe258150ff9f902229ffaed69a932a9c1: # SPUNAME: 'Z:/output/EURint6/SPUMLAATask/PS'
  Patches:
    Disable SPU MLAA:
      Game Title: "God of War Ascension"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_05 ]
 
SPU-45f98378f0837fc6821f63576f65d47d10f9bbcb: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Yakuza 0, Yakuza Kiwami"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_06 ]
 
SPU-82b3399c8e6533ba991eedb0e139bf20c7783bac: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "Twisted Metal"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_06 ]
 
SPU-969cf3e9db75f52a6b41074ccbff74106b709854: # SPUNAME: 'objs/release/edgepost-mlaa-task.' # NOTE: has asserts!
  Patches:
    Disable SPU MLAA:
      Game Title: "Ace Combat: Assault Horizon, DmC Devil May Cry, MotorStorm: Apocalypse, MotorStorm RC, Red Faction: Armageddon, Sly Cooper: Thieves in Time"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_07 ]
 
SPU-976d2128f08c362731413b75c934101b76c3d73b: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "LittleBigPlanet 2"
      Serials: All (early versions)
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_08 ]
 
SPU-a129a01a270246c85df18eee0e959ef4263b6510: # SPUNAME: 'C:\dev\CW_br2_move_final-output\'
  Patches:
    Disable SPU MLAA:
      Game Title: "LittleBigPlanet 2"
      Serials: All (other early versions)
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_09 ]
 
SPU-702d0205a89d445d15dc0f96548546c4e2e7a59f: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Patches:
    Disable SPU MLAA:
      Game Title: "LittleBigPlanet 2, LittleBigPlanet 3"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_10 ]
 
SPU-191fe1c92c8360992b3240348e70ea37d50812d4: # SPUNAME: 'E:\Alice2\Development\Intermedia'
  Patches:
    Disable SPU MLAA:
      Game Title: "Alice: Madness Returns"
      Serials: All
      Author: Whatcookie
      Notes: *SPU_MLAA_Notes
      Patch Version: 1.5
      Patch:
        - [ load, *SPU_MLAA_11 ]
</syntaxhighlight>
 
==Army of TWO: The 40th Day==
<syntaxhighlight lang="yaml">
PPU-97355e97c701cea87a0ed08bce085cac4949dade:
  Patches:
    Unlock FPS:
      Game Title: "Army of TWO: The 40th Day"
      Serials: BLUS30408 (v1.00), BLES00659 (v1.00)
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x003c5f9c, 0x60000000 ]
        - [ be32, 0x003c6000, 0x60000000 ]
        - [ be32, 0x003c6010, 0x60000000 ]
 
PPU-66e68ab81cb8c107687e708170fd7f13cfdd641e:
  Patches:
    Unlock FPS:
      Game Title: "Army of TWO: The 40th Day"
      Serials: BLUS30408 (v1.03)
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency. Only US version has been tested. BLES00659 (v1.03) may work with this patch as well.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x003cc00c, 0x60000000 ]
        - [ be32, 0x003cc070, 0x60000000 ]
        - [ be32, 0x003cc080, 0x60000000 ]
</syntaxhighlight>
 
==Asura's Wrath==
<syntaxhighlight lang="yaml">
PPU-83096111daff850cc92b637aec1780c4079e1c58:
  Patches:
    Unlock FPS:
      Game Title: "Asura's Wrath"
      Serials: BLUS30721
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency. While most of the game works without any issue, some of the button mashing QTEs are tied to framerate. It's quite possible to play through the game at 60FPS if you are good at button mashing, but 120FPS and higher aren't really playable in several missions. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 57FPS.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x008bbd04, 0x60000000 ]
        - [ be32, 0x008bbd64, 0x60000000 ]
        - [ be32, 0x008bbd68, 0x60000000 ]
</syntaxhighlight>
 
==Dark Souls==
<syntaxhighlight lang="yaml">
Anchors:
  DS1_US_FPS: &DS1_US_FPS
  # 60fps noskip
    - [be32, 0x00146e40, 0x38800002 ] # li r4 0x2
    - [be32, 0x00146e44, 0x989f070c ]
    - [be32, 0x00146e48, 0x989f070d ]
 
  # delta time
    - [ be32, 0x001423e8, 0x494447e9 ] # jump to code cave
 
  # get mftb
    - [ be32, 0x01586bd0, 0x7eac42e6 ] # mftb r21              // Move from timebase register (clock)
 
  # get mftb delta
    - [ be32, 0x01586bd4, 0x3ec0017d ] # lis r22,0x017d        // load high bits of address (0x017de3f8)
    - [ be32, 0x01586bd8, 0x62d6e3f8 ] # ori r22,r22,0xe3f8    // load low bits of address
    - [ be32, 0x01586bdc, 0x7e96a02a ] # ldx r20,r22,r20      // load previous frames mftb reading
    - [ be32, 0x01586be0, 0xfab60000 ] # std r21,0x0(r22)      // store this frames mftb reading
    - [ be32, 0x01586be4, 0x7e74a850 ] # subf r19,r21,r20      // subtract previous mftb reading from this mftb frames reading
 
  # mftb delta to float
    - [ be32, 0x01586be8, 0xfa7600e0 ] # std r19,0xe0(r22)    // store mftb delta (to be loaded into FPR)
    - [ be32, 0x01586bec, 0xcbd600e0 ] # lfd f30,0xe0(r22)    // load mftb delta into FPR
    - [ be32, 0x01586bf0, 0xffc0f69c ] # fcfid f30,f30        // convert integer to double
    - [ be32, 0x01586bf4, 0xffc0f018 ] # frsp f30,f30          // round to single precision
 
  # mftb delta to seconds
    - [ be32, 0x01586bf8, 0x3e400158 ] # r18,0x158            // load high bits constants pointer
    - [ be32, 0x01586bfc, 0x62526bd0 ] # ori r18,r18,0x6bd0    // load low bits of constants pointer
    - [ be32, 0x01586c00, 0xc3b20054 ] # lfs f29,0x54(r18)    // load timebase frequency constant
    - [ be32, 0x01586c04, 0xc3920058 ] # lfs f28,0x58(r18)    // load maximum timestep size
    - [ be32, 0x01586c08, 0xfffee824 ] # fdiv f31,f30,f29      // divide timebase delta by timebase frequency
 
  # check timestep size
    - [ be32, 0x01586c0c, 0xff9fe000 ] # fcmpu cr7,f31,f28    // compare current delta time to maximum timestep
    - [ be32, 0x01586c10, 0x419c0008 ] # blt +0x08            // don't return the maximum timestep size
 
  # set maximum timestep
    - [ be32, 0x01586c14, 0xffe0e090 ] # fmr f31,f28          // move maximum timestep to be returned
 
  # cleanup
    - [ be32, 0x01586c18, 0x7e94a278 ] # xor r20,r20,r20      // zero r20
    - [ be32, 0x01586c1c, 0x7e94a278 ] # xor r19,r19,r19      // zero r19
    - [ be32, 0x01586c20, 0x4e800020 ] # blr                  // return
 
  # constants
    - [ be32, 0x01586c24, 0x4c989680 ]  # timebase frequency as hexfloat (80mhz)
    - [ bef32, 0x01586c28, 0.05000000 ] # maximum timestep size (50ms or 20fps)
 
PPU-3577a3e8efa233c68dedce81a3d0a63dab05dbed:
  Patches:
    Unlock FPS:
      Game Title: "Dark Souls"
      Serials: BLUS30782 (v1.00)
      Author: Whatcookie
      Notes: For people who would like to play the unpatched version of dark souls at decent framerates (unpatched PC version is equivalent to 1.06 on consoles!)
      Patch Version: 1.0
      Patch:
        - [ load, *DS1_US_FPS ]
</syntaxhighlight>
 
==Demon's Souls==
<syntaxhighlight lang="yaml">
Anchors:
  BLUS30443_FpsUnlock: &BLUS30443_FpsUnlock
  # Set 60FPS with no frameskip
  # by Gibbed
    - [ be16, 0x25ed8, 0x981f ]
 
  # delta time
  # by Whatcookie
    - [ be32, 0x0001b964, 0x496ac2cd ] # jump to code cave
 
  # get mftb
    - [ be32, 0x016c7c30, 0x7eac42e6 ] # mftb r21              // Move from timebase register (clock)
 
  # get mftb delta
    - [ be32, 0x016c7c34, 0x3ec00185 ] # lis r22,0x0185        // load high bits of address
    - [ be32, 0x016c7c38, 0x3ad62608 ] # addi r22,r22,0x2608  // load low bits of address
    - [ be32, 0x016c7c3c, 0x7e96a02a ] # ldx r20,r22,r20      // load previous frames mftb reading
    - [ be32, 0x016c7c40, 0xfab60000 ] # std r21,0x0(r22)      // store this frames mftb reading
    - [ be32, 0x016c7c44, 0x7e74a850 ] # subf r19,r21,r20      // subtract previous mftb reading from this mftb frames reading
 
  # mftb delta to float
    - [ be32, 0x016c7c48, 0xfa760018 ] # std r19,0x18(r22)    // store mftb delta (to be loaded into FPR)
    - [ be32, 0x016c7c4c, 0xcbd60018 ] # lfd f30,0x18(r22)    // load mftb delta into FPR
    - [ be32, 0x016c7c50, 0xffc0f69c ] # fcfid f30,f30        // convert integer to double
    - [ be32, 0x016c7c54, 0xffc0f018 ] # frsp f30,f30          // round to single precision
 
  # mftb delta to seconds
    - [ be32, 0x016c7c58, 0x3e40016c ] # r18,0x16c            // load high bits constants pointer
    - [ be32, 0x016c7c5c, 0x3a527c30 ] # addi r18,r18,0x7c30  // load low bits of constants pointer
    - [ be32, 0x016c7c60, 0xc3b20054 ] # lfs f29,0x54(r18)    // load timebase frequency constant
    - [ be32, 0x016c7c64, 0xc3920058 ] # lfs f28,0x58(r18)    // load maximum timestep size
    - [ be32, 0x016c7c68, 0xeffee824 ] # fdivs f31,f30,f29    // divide timebase delta by timebase frequency
 
  # check timestep size
    - [ be32, 0x016c7c6c, 0xff9fe000 ] # fcmpu cr7,f31,f28    // compare current delta time to maximum timestep
    - [ be32, 0x016c7c70, 0x419c0008 ] # blt +0x08            // don't return the maximum timestep size
 
  # set maximum timestep
    - [ be32, 0x016c7c74, 0xffe0e090 ] # fmr f31,f28          // move maximum timestep to be returned
 
  # cleanup
    - [ be32, 0x016c7c78, 0x7e94a278 ] # xor r20,r20,r20      // zero r20
    - [ be32, 0x016c7c7c, 0x7e94a278 ] # xor r19,r19,r19      // zero r19
    - [ be32, 0x016c7c80, 0x4e800020 ] # blr                  // return
 
  # constants
    - [ be32, 0x016c7c84, 0x4c989680 ]  # timebase frequency as hexfloat (80mhz)
    - [ bef32, 0x016c7c88, 0.05000000 ] # maximum timestep size (50ms or 20FPS)
 
  BLES00932_FpsUnlock: &BLES00932_FpsUnlock
  # Set 60FPS with no frameskip
  # by Gibbed
    - [ be16, 0x26ac0, 0x981f ]
 
  # delta time
  # by Whatcookie
    - [ be32, 0x0001c534, 0x496ada1d ] # jump to code cave
 
  # get mftb
    - [ be32, 0x016c9f50, 0x7eac42e6 ] # mftb r21              // Move from timebase register (clock)
 
  # get mftb delta
    - [ be32, 0x016c9f54, 0x3ec00185 ] # lis r22,0x0185        // load high bits of address
    - [ be32, 0x016c9f58, 0x3ad62608 ] # addi r22,r22,0x2608  // load low bits of address
    - [ be32, 0x016c9f5c, 0x7e96a02a ] # ldx r20,r22,r20      // load previous frames mftb reading
    - [ be32, 0x016c9f60, 0xfab60000 ] # std r21,0x0(r22)      // store this frames mftb reading
    - [ be32, 0x016c9f64, 0x7e74a850 ] # subf r19,r21,r20      // subtract previous mftb reading from this mftb frames reading
 
  # mftb delta to float
    - [ be32, 0x016c9f68, 0xfa760018 ] # std r19,0x18(r22)    // store mftb delta (to be loaded into FPR)
    - [ be32, 0x016c9f6c, 0xcbd60018 ] # lfd f30,0x18(r22)    // load mftb delta into FPR
    - [ be32, 0x016c9f70, 0xffc0f69c ] # fcfid f30,f30        // convert integer to double
    - [ be32, 0x016c9f74, 0xffc0f018 ] # frsp f30,f30          // round to single precision
 
  # mftb delta to seconds
    - [ be32, 0x016c9f78, 0x3e40016c ] # r18,0x16c            // load high bits constants pointer
    - [ be32, 0x016c9f7c, 0x62529f50 ] # ori r18,r18,0x9f50    // load low bits of constants pointer
    - [ be32, 0x016c9f80, 0xc3b20054 ] # lfs f29,0x54(r18)    // load timebase frequency constant
    - [ be32, 0x016c9f84, 0xc3920058 ] # lfs f28,0x58(r18)    // load maximum timestep size
    - [ be32, 0x016c9f88, 0xeffee824 ] # fdivs f31,f30,f29    // divide timebase delta by timebase frequency
 
  # check timestep size
    - [ be32, 0x016c9f8c, 0xff9fe000 ] # fcmpu cr7,f31,f28    // compare current delta time to maximum timestep
    - [ be32, 0x016c9f90, 0x419c0008 ] # blt +0x08            // don't return the maximum timestep size
 
  # set maximum timestep
    - [ be32, 0x016c9f94, 0xffe0e090 ] # fmr f31,f28          // move maximum timestep to be returned
 
  # cleanup
    - [ be32, 0x016c9f98, 0x7e94a278 ] # xor r20,r20,r20      // zero r20
    - [ be32, 0x016c9f9c, 0x7e94a278 ] # xor r19,r19,r19      // zero r19
    - [ be32, 0x016c9fa0, 0x4e800020 ] # blr                  // return
 
  # constants
    - [ be32, 0x016c9fa4, 0x4c989680 ]  # timebase frequency as hexfloat (80mhz)
    - [ bef32, 0x016c9fa8, 0.05000000 ] # maximum timestep size (50ms or 20FPS)
 
  DeS_FPS_Notes: &DeS_FPS_Notes "Patch version 2.0 and above is not compatible with the settings used for the previous patch. Clocks scale and Vblank rate must be set to the defaults. Vblank rate can be modified to increase the framelimit beyond 60FPS, however it's not recommended as users may encounter physics issues."
 
  DeS_DDE_Notes: &DeS_DDE_Notes "Can disable Write Color Buffers for 20% faster performance. Enable this patch if you experience flickering."
 
  DeS_AR_Notes: &DeS_AR_Notes "UI Elements will be stretched"
 
PPU-83681f6110d33442329073b72b8dc88a2f677172:
  Patches:
    Unlock FPS:
      Game Title: Demon's Souls
      Serials: BLUS30443
      Author: Whatcookie, Gibbed
      Notes: *DeS_FPS_Notes
      Patch Version: 2.1
      Patch:
        - [ load, *BLUS30443_FpsUnlock ]
    Disable Dynamic Exposure:
      Game Title: Demon's Souls
      Serials: BLUS30443
      Author: Whatcookie
      Notes: *DeS_DDE_Notes
      Patch Version: 1.0.1
      Patch:
        - [ be16, 0x00025edc, 0x981f ]
    Skip Intro Videos:
      Game Title: Demon's Souls
      Serials: BLUS30443
      Author: GalCiv
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x008eef78, 0x38000003 ] # Intro logos skip
        - [ be32, 0x008eef7c, 0x901c0100 ]
    21:9 Aspect Ratio:
      Game Title: Demon's Souls
      Serials: BLUS30443
      Author: Whatcookie
      Notes: *DeS_AR_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x018cefbc, 0x4017b9aa ] # 21:9 aspect ratio
        - [ be32, 0x0190433c, 0x4017b9aa ]
    32:9 Aspect Ratio:
      Game Title: Demon's Souls
      Serials: BLUS30443
      Author: Whatcookie
      Notes: *DeS_AR_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x018cefbc, 3.5555556 ] # 32:9 aspect ratio
        - [ bef32, 0x0190433c, 3.5555556 ]
 
PPU-5446a2645880eefa75f7e374abd6b7818511e2ef:
  Patches:
    Unlock FPS:
      Game Title: Demon's Souls
      Serials: BLES00932
      Author: Whatcookie, Gibbed
      Notes: *DeS_FPS_Notes
      Patch Version: 2.1
      Patch:
        - [ load, *BLES00932_FpsUnlock ]
    Disable Dynamic Exposure:
      Game Title: Demon's Souls
      Serials: BLES00932
      Author: Whatcookie
      Notes: *DeS_DDE_Notes
      Patch Version: 1.0.1
      Patch:
        - [ be16, 0x00026ac4, 0x981f ]
    Skip Intro Videos:
      Game Title: Demon's Souls
      Serials: BLES00932
      Author: GalCiv
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x008f0928, 0x38000003 ] # Intro logos skip
        - [ be32, 0x008f092c, 0x901c0100 ]
    21:9 Aspect Ratio:
      Game Title: Demon's Souls
      Serials: BLES00932
      Author: Whatcookie
      Notes: *DeS_AR_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x018cf13c, 0x4017b9aa ] # 21:9 aspect ratio
        - [ be32, 0x01904494, 0x4017b9aa ]
    32:9 Aspect Ratio:
      Game Title: Demon's Souls
      Serials: BLES00932
      Author: Whatcookie
      Notes: *DeS_AR_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x018cf13c, 3.5555556 ] # 32:9 aspect ratio
        - [ bef32, 0x01904494, 3.5555556 ]
</syntaxhighlight>
 
==Destroy All Humans! Path of the Furon==
<syntaxhighlight lang="yaml">
PPU-65078c652115190ecb64b7ff52bbf1c68696deb6:
  Patches:
    Unlock FPS:
      Game Title: "Destroy All Humans! Path of the Furon"
      Serials: BLES00467
      Author: Whatcookie
      Notes: Totally unlocks FPS. Doesn't need any special settings. Use Framelimit or VSync option to cap the maximum framerate.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x010b9e68, 0x60000000 ]
        - [ be32, 0x010b9ec0, 0x60000000 ]
</syntaxhighlight>
 
==Drakengard 3==
<syntaxhighlight lang="yaml">
Anchors:
  DOD3_FPS_Notes: &DOD3_FPS_Notes "Need to also change Vblank frequency to 120 for 60FPS or 240 for 120FPS. Going over 120FPS is possible, but you will break physics a bit (lowering jump height) and make it impossible to lock-on to enemies when flying on the dragon."
 
# Min frametime is this value / 30
# 0.125 / 30 is 4.1ms, so max FPS is 240
# This game has a second framerate limiter based
# on Vblank, so set Vblank high to raise the framerate
# Max FPS is Vblank / 2
 
PPU-2b393f064786e5895d5a576621deb4c9107a8f0b:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: BLUS31197 (v1.00)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008edc5c, 0.12500000 ] # 240 max FPS
 
PPU-f2f7f7ea0444353884bb715152147c3a29f4e790:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: BLUS31197 (v1.01)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008edbcc, 0.12500000 ] # 240 max FPS
 
PPU-b18834a8f21cd29a091b287a66656a279ccba507:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: NPUB31251 (v1.00)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008ecf2c, 0.12500000 ] # 240 max FPS
 
PPU-9c04f427625a0064282432e4edfefe9e0956c303:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: NPUB31251 (v1.01)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008ececc, 0.12500000 ] # 240 max FPS
 
PPU-e1a44e5d3fb03a37f0445e92ed13abce8d6efdd4:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: NPEB01407
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008eceec, 0.12500000 ] # 240 max FPS
 
PPU-a017576369165f3746730724c8ae762ed9bc64d8:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: BLJM61043 (v1.00)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x00939a14, 0.12500000 ] # 240 max FPS
 
PPU-c09c496514f6dc591434575b04eb7c003826c11d:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: BLJM61043 (v1.04)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008ed62c, 0.12500000 ] # 240 max FPS
 
PPU-5eb979631fbbe531db5d20f0622dca5a8b64090e:
  Patches:
    Unlock FPS:
      Game Title: "Drakengard 3 (Drag-On Dragoon 3)"
      Serials: BCAS20311 (v1.02)
      Author: Whatcookie
      Notes: *DOD3_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x008edc5c, 0.12500000 ] # 240 max FPS
</syntaxhighlight>
 
==Folklore==
<syntaxhighlight lang="yaml">
Anchors:
  Folklore_FPS_Notes: &Folklore_FPS_Notes "Totally unlocks FPS during gameplay. Sadly the cloth physics goes nuts at 60 FPS, despite the gameplay working perfectly. You can set the framelimit to 50 and the cloth physics will work perfectly!"
 
PPU-eb05d70d23d075ef6d9c81f7e7cf9bffc98c404c:
  Patches:
    Unlock FPS:
      Game Title: "Folklore"
      Serials: BCUS98147 (v1.00)
      Author: Whatcookie
      Notes: *Folklore_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x0181354, 0x60000000 ]
 
PPU-9b16663fa1aa1dd62c2c6bfee4f333242dde4171:
  Patches:
    Unlock FPS:
      Game Title: "Folklore"
      Serials: BCUS98147 (v1.10)
      Author: Whatcookie
      Notes: *Folklore_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x01823c0, 0x60000000 ]
 
PPU-66404421d1f8ed7dd0b2898e1d015a44bf273bf8:
  Patches:
    Unlock FPS:
      Game Title: "Folklore"
      Serials: BCES00050
      Author: Whatcookie
      Notes: *Folklore_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x0181118, 0x60000000 ]
</syntaxhighlight>
 
==Genji: Days of the Blade==
<syntaxhighlight lang="yaml">
PPU-4aeb132cdf86d9c4ab20e48ae70cc823e455e05d:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Genji: Days of the Blade"
      Serials: BCES00002
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x100FA8B0, 0x4017B9AA ] # 21:9
    60 FPS:
      Game Title: "Genji: Days of the Blade"
      Serials: BCES00002
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x100FA964, 0x00000000 ] # for 60FPS
</syntaxhighlight>
 
==Gran Turismo HD Concept==
<syntaxhighlight lang="yaml">
PPU-ad3a1ecff65a78f9a8380ff4f12960f499604bf4:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Gran Turismo HD Concept"
      Serials: NPEA90002
      Author: Unknown
      Notes: Might work for US and JP versions with adjustments.
      Patch Version: 1.0
      Patch:
        - [be32, 0x9BAD3C, 0x3F95C28F]
</syntaxhighlight>
 
==Grand Theft Auto IV==
<syntaxhighlight lang="yaml">
PPU-d5041972c3464b734ed27f0b94b505a2a14471c8:
  Patches:
    Unlock FPS:
      Game Title: "Grand Theft Auto IV (Grand Theft Auto 4)"
      Serials: BLUS30127 (v1.08), NPUB30702 (v1.08)
      Author: Zolika1351
      Notes: Set Framelimit to 60FPS otherwise loading screen layers will go too fast.
      Patch Version: 1.0
      Patch:
        - [ be32, 0xF18830, 0x00000000 ]
</syntaxhighlight>
 
==Hatsune Miku: Project DIVA Dreamy Theater==
<syntaxhighlight lang="yaml">
Anchors:
  HMPDDT_PSP_Notes: &HMPDDT_PSP_Notes "Makes the game playable by skipping the PSP connection screen. A decrypted save is still required to play the game. The patch can also be used on real hardware."
 
PPU-ddd080c3a59b7d8f7e640b419efccea6972d1e21:
  Patches:
    Sign in without connecting a PSP:
      Game Title: "Hatsune Miku: Project DIVA Dreamy Theater"
      Serials: NPJB00047 (v1.00)
      Author: samyuu, Brolijah, nastys
      Notes: *HMPDDT_PSP_Notes
      Patch Version: 1.0
      Patch:
        - [be32, 0x66C464, 0x000004B8]
 
PPU-890a336132e35e8bfb7cbe430ea9b09114915346:
  Patches:
    Sign in without connecting a PSP:
      Game Title: "Hatsune Miku: Project DIVA Dreamy Theater"
      Serials: NPJB00047 (v1.01)
      Author: samyuu, Brolijah, nastys
      Notes: *HMPDDT_PSP_Notes
      Patch Version: 1.0
      Patch:
        - [be32, 0x66F9B4, 0x00000718]
</syntaxhighlight>
 
==Hatsune Miku: Project Diva F==
<syntaxhighlight lang="yaml">
Anchors:
  HMPDF_FPS_USEU: &HMPDF_FPS_USEU
    - [ be32, 0xBF289C, 0x3F800000 ]
    - [ be16, 0x589496, 0x0001 ]
    - [ be16, 0x5894BA, 0x0001 ]
    - [ be16, 0x589802, 0x0001 ]
    - [ be16, 0x58982A, 0x0001 ]
 
  HMPDF_FPS_JP: &HMPDF_FPS_JP
    - [ be32, 0xBF22FC, 0x3F800000 ]
    - [ be16, 0x586202, 0x0001 ]
    - [ be16, 0x586226, 0x0001 ]
    - [ be16, 0x58656E, 0x0001 ]
    - [ be16, 0x586596, 0x0001 ]
 
  HMPDF_FPS_Notes: &HMPDF_FPS_Notes "Patch accelerates some game effects by 2x. Does not affect playability."
 
PPU-f3227f57ec001582b253035fd90de77f05ead470:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F"
      Serials: BLUS31319, NPUB31241
      Author: Brolijah
      Notes: *HMPDF_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF_FPS_USEU ]
 
PPU-c02e3b52e3d75f52f76fb8f0fb5be7ca4d921949:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F"
      Serials: NPEB01393
      Author: Brolijah
      Notes: *HMPDF_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF_FPS_USEU ]
 
PPU-1105af0a4d6a4a1481930c6f3090c476cde06c4c:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F"
      Serials: BLJM60527, NPJB00287
      Author: Brolijah
      Notes: *HMPDF_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF_FPS_JP ]
</syntaxhighlight>
 
==Hatsune Miku: Project Diva F 2nd==
<syntaxhighlight lang="yaml">
Anchors:
  HMPDF2_FPS_USEU: &HMPDF2_FPS_USEU
    - [ be32, 0x0423C8, 0x3F800000 ]
    - [ be16, 0x6AF44E, 0x0001 ]
    - [ be16, 0x6AF46E, 0x0001 ]
    - [ be16, 0x6AF492, 0x0001 ]
    - [ be16, 0x6AF4B6, 0x0001 ]
 
  HMPDF2_FPS_AS: &HMPDF2_FPS_AS
    - [ be32, 0x042390, 0x3F800000 ]
    - [ be16, 0x6AF0B6, 0x0001 ]
    - [ be16, 0x6AF0D6, 0x0001 ]
    - [ be16, 0x6AF0FA, 0x0001 ]
    - [ be16, 0x6AF11E, 0x0001 ]
 
  HMPDF2_FPS_JP: &HMPDF2_FPS_JP
    - [ be32, 0x041F40, 0x3F800000 ]
    - [ be16, 0x6A48F6, 0x0001 ]
    - [ be16, 0x6A4916, 0x0001 ]
    - [ be16, 0x6A493A, 0x0001 ]
    - [ be16, 0x6A495E, 0x0001 ]
 
  HMPDF2_FPS_Notes: &HMPDF2_FPS_Notes "Patch accelerates some game effects by 2x. Does not affect playability."
 
PPU-092c43e2bcacccfe3cdc22b0ab8062b91d4e1cf9:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: BLUS31431
      Author: Brolijah
      Notes: Patch accelerates some game effects by 2x. Does not affect playability. Might work with NPUB31488 as well.
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_USEU ]
 
PPU-67e0e7c9b2a7a340c914a0d078e25aac1047e4d4:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: NPEB02013
      Author: Brolijah
      Notes: Patch accelerates some game effects by 2x. Does not affect playability. Might work with BLES02029 as well.
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_USEU ]
 
PPU-51d336edfa3774f2db83ed030611f462c097c40b:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: BLAS50723
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_AS ]
 
PPU-c70b15d3f6694af74fa329dd4fc25fe28a59e9cc:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: NPHB00671
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_AS ]
 
PPU-c3291f5919ca147ac854de10f7436f4ad494233f:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: BLJM61079 (v1.00), NPJB00435 (v1.00)
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_JP ]
 
PPU-058cf39c07fd13f100c1f6dc40a0ead9bf3ad51b:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: BLJM61079 (v1.01)
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_JP ]
 
PPU-8fc9f26ed77cc9237db0e6348dcf9d6c451b6220:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: BLJM61079 (v1.02)
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ load, *HMPDF2_FPS_JP ]
 
PPU-311fcd98af6adc5e64e6a833eb959f43b0976193:
  Patches:
    60 FPS:
      Game Title: "Hatsune Miku: Project Diva F 2nd"
      Serials: NPJB00435 (v1.02)
      Author: Brolijah
      Notes: *HMPDF2_FPS_Notes
      Patch Version: 1.0
      Patch:
        - [ be32, 0x041F78, 0x3F800000 ]
        - [ be16, 0x6AB316, 0x0001 ]
        - [ be16, 0x6AB336, 0x0001 ]
        - [ be16, 0x6AB35A, 0x0001 ]
        - [ be16, 0x6AB37E, 0x0001 ]
</syntaxhighlight>
 
==Iron Man==
<syntaxhighlight lang="yaml">
PPU-ec7c75bef42758b1823ce0b2835935992ae72e8f:
  Patches:
    60 FPS:
      Game Title: "Iron Man"
      Serials: BLUS30134 (v1.02)
      Author: HyperSpider
      Notes: You MUST set the VBlank Frequency to 120 for this patch to work. Also note that the game's actual speed may slow down below 30FPS.
      Patch Version: 1.0
      Patch:
        - [ bef32, 0xCD01AC, 0.01666667 ]
    120 FPS:
      Game Title: "Iron Man"
      Serials: BLUS30134 (v1.02)
      Author: HyperSpider
      Notes: You MUST set the VBlank Frequency to 240 for this patch to work. Also note that the game's actual speed may slow down below 60FPS.
      Patch Version: 1.0
      Patch:
        - [ bef32, 0xCD01AC, 0.00833334 ]
</syntaxhighlight>
 
==JoJo's Bizarre Adventure: All Star Battle==
<syntaxhighlight lang="yaml">
Anchors:
  JoJoASB_FPS: &JoJoASB_FPS
    - [ bef32, 0xFF5A08, 0.5 ] # Match timer rate
    - [ bef32, 0xFDB724, 0.5 ] # Animation speed
    - [ bef32, 0xFF8F70, 0.5 ]
    - [ bef32, 0xFEE2F8, 0.5 ] # UI speed
 
PPU-6875682ab309df32307c5305c43bb132c4e261fa:
  Patches:
    60 FPS:
      Game Title: "JoJo's Bizarre Adventure: All Star Battle"
      Serials: BLUS31405
      Author: SutandoTsukai181 # User from our Discord server
      Notes: This patch fixes issues when running the game at 60FPS but you still need to set Vblank frequency to 120 in order to play at 60FPS. You may face issues such as halved input windows, few UI elements not at normal speed, intro quotes stop half-way, projectiles speed is doubled and few graphical glitches (Jotaro not appearing during DIO's GHA).
      Patch Version: 1.0
      Patch:
        - [ load, *JoJoASB_FPS ]
</syntaxhighlight>
 
==JoJo's Bizarre Adventure: Eyes of Heaven==
<syntaxhighlight lang="yaml">
Anchors:
  JoJoEoH_FPS: &JoJoEoH_FPS
    - [ bef32, 0x0236FEF0, 0.5 ] # Match timer rate
    - [ bef32, 0x02370360, 0.5 ]
    - [ bef32, 0x023AED1C, 0.5 ]
 
PPU-18cf9a4e8196684ed9ee816f82649561fd1bf182:
  Patches:
    60 FPS:
      Game Title: "JoJo's Bizarre Adventure: Eyes of Heaven"
      Serials: BLJS10318 (v1.05)
      Author: SutandoTsukai181 # User from our Discord server
      Notes: This patch fixes issues when running the game at 60FPS but you still need to set Vblank frequency to 120 in order to play at 60FPS. You may face issues such as intro quotes stopping half-way and doubled projectiles speed.
      Patch Version: 1.0
      Patch:
        - [ load, *JoJoEoH_FPS ]
</syntaxhighlight>
 
==Kingdom Hearts HD 1.5 ReMIX==
<syntaxhighlight lang="yaml">
PPU-d626d9832ed48d1ff0d8d97e53a4e23df50cfae6:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Kingdom Hearts HD 1.5 ReMIX"
      Serials: BLUS31212
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0xEB170, 0x3FAAAAAB ] # VERT+ (21.9)
        - [ be32, 0xEB16C, 0x3FC00000 ] # ZOOM+ (21.9)
    60 FPS:
      Game Title: "Kingdom Hearts HD 1.5 ReMIX"
      Serials: BLUS31212
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x20D1016, 0x00000000 ] # 60FPS
</syntaxhighlight>
 
==LittleBigPlanet 2==
<syntaxhighlight lang="yaml">
PPU-a74423ca913fc18e46cfe926db1d48e41f9858a9:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "LittleBigPlanet 2"
      Serials: NPUA80662 (v1.33)
      Author: slashiee
      Notes:
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x00D9C8EC, 2.37037037 ]
</syntaxhighlight>
 
==Lollipop Chainsaw==
<syntaxhighlight lang="yaml">
Anchors:
  LC_FPS: &LC_FPS
    - [ be32, 0x00932f2c, 0x60000000 ]
    - [ be32, 0x00932f8c, 0x60000000 ]
    - [ be32, 0x00932f90, 0x60000000 ]
 
PPU-df6f6701742921b9cbb2554983bb4568aae8d659:
  Patches:
    Unlock FPS:
      Game Title: "Lollipop Chainsaw"
      Serials: BLUS30917
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 57FPS.
      Patch Version: 1.0
      Patch:
        - [ load, *LC_FPS ]
 
PPU-6f69ee207208d55faacb75a3aac6a9ce2aa290b7:
  Patches:
    Unlock FPS:
      Game Title: "Lollipop Chainsaw"
      Serials: BLES01525
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 57FPS.
      Patch Version: 1.0
      Patch:
        - [ load, *LC_FPS ]
</syntaxhighlight>
 
==Metal Gear Solid 2: Sons of Liberty - HD Edition==
<!-- MGS3 21:9 + MGS4 21:9 also made by Esppiral ... Missing currently -->
<syntaxhighlight lang="yaml">
PPU-79c9f5ae14fe84851dca7bfe33f58bee3367730b:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Metal Gear Solid 2: Sons of Liberty - HD Edition"
      Serials: NPEB00685
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0xDEE1B0, 0x3F100001 ] # INGAME 21:9 AR
</syntaxhighlight>
 
==NieR==
<syntaxhighlight lang="yaml">
Anchors:
  NieR_FPS_USEU: &NieR_FPS_USEU
  # "unlock" framerate
    - [ be32, 0x00f7c3b8, 0x386001f5 ] # li r3, 1f5
 
    - [ be32, 0x00711b50, 0x489c3ef1 ] # jump to code cave
 
  # get mftb
    - [ be32, 0x010d5a40, 0x7ccc42e6 ] # mftb r6            // Move from timebase register (clock)
 
  # get mftb delta
    - [ be32, 0x010d5a44, 0x3ca0010e ] # lis r5,0x010e      // load high bits of address (0x010e23c8)
    - [ be32, 0x010d5a48, 0x60a523c8 ] # ori r5,r5,0x23c8    // load low bits of address
    - [ be32, 0x010d5a4c, 0x7c85202a ] # ldx r4,r5,r4        // load previous frames mftb reading
    - [ be32, 0x010d5a50, 0xf8c50000 ] # std r6,0x0(r5)      // store this frames mftb reading
    - [ be32, 0x010d5a54, 0x7cc43050 ] # subf r6,r4,r6      // subtract previous mftb reading from this mftb frames reading
 
  # mftb delta to float
    - [ be32, 0x010d5a58, 0xf8c50080 ] # std r6,0x80(r5)    // store mftb delta (to be loaded into FPR)
    - [ be32, 0x010d5a5c, 0xcba50080 ] # lfd f29,0x80(r5)    // load mftb delta into FPR
    - [ be32, 0x010d5a60, 0xffa0ee9c ] # fcfid f29,f29      // convert integer to double
    - [ be32, 0x010d5a64, 0xffa0e818 ] # frsp f29,f29        // round to single precision
 
  # mftb delta to seconds
    - [ be32, 0x010d5a68, 0x3c80010d ] # r4,0x10d            // load high bits constants pointer
    - [ be32, 0x010d5a6c, 0x60845a40 ] # ori r4,r4,0x5a40    // load low bits of constants pointer
    - [ be32, 0x010d5a70, 0xc384003c ] # lfs f28,0x3c(r4)    // load timebase frequency
    - [ be32, 0x010d5a74, 0xec3de024 ] # fdivs f1,f29,f28    // divide timebase delta by timebase frequency
 
  # return
    - [ be32, 0x010d5a78, 0x4e800020 ] # blr                // return
 
  # constants
    - [ be32, 0x010d5a7c, 0x4c989680 ] # timebase frequency as hexfloat (80mhz)
 
  NieR_FPS_JP: &NieR_FPS_JP
  # "unlock" framerate
    - [ be32, 0x00f7cbcc, 0x386001f5 ] # li r3, 1f5
 
    - [ be32, 0x00711d58, 0x489c48e9 ] # jump to code cave
 
  # get mftb
    - [ be32, 0x010d6640, 0x7ccc42e6 ] # mftb r6            // Move from timebase register (clock)
 
  # get mftb delta
    - [ be32, 0x010d6644, 0x3ca0010e ] # lis r5,0x010e      // load high bits of address (0x010e23e8)
    - [ be32, 0x010d6648, 0x60a523e8 ] # ori r5,r5,0x23e8    // load low bits of address
    - [ be32, 0x010d664c, 0x7c85202a ] # ldx r4,r5,r4        // load previous frames mftb reading
    - [ be32, 0x010d6650, 0xf8c50000 ] # std r6,0x0(r5)      // store this frames mftb reading
    - [ be32, 0x010d6654, 0x7cc43050 ] # subf r6,r4,r6      // subtract previous mftb reading from this mftb frames reading
 
  # mftb delta to float
    - [ be32, 0x010d6658, 0xf8c50080 ] # std r6,0x80(r5)    // store mftb delta (to be loaded into FPR)
    - [ be32, 0x010d665c, 0xcba50080 ] # lfd f29,0x80(r5)    // load mftb delta into FPR
    - [ be32, 0x010d6660, 0xffa0ee9c ] # fcfid f29,f29      // convert integer to double
    - [ be32, 0x010d6664, 0xffa0e818 ] # frsp f29,f29        // round to single precision
 
  # mftb delta to seconds
    - [ be32, 0x010d6668, 0x3c80010d ] # r4,0x10d            // load high bits constants pointer
    - [ be32, 0x010d666c, 0x60846640 ] # ori r4,r4,0x6640    // load low bits of constants pointer
    - [ be32, 0x010d6670, 0xc384003c ] # lfs f28,0x3c(r4)    // load timebase frequency
    - [ be32, 0x010d6674, 0xec3de024 ] # fdivs f1,f29,f28    // divide timebase delta by timebase frequency
 
  # return
    - [ be32, 0x010d6678, 0x4e800020 ] # blr                // return
 
  # constants
    - [ be32, 0x010d667c, 0x4c989680 ] # timebase frequency as hexfloat (80mhz)
 
PPU-13950b2e29e05a115fe317815d3da9d2b2baee65:
  Patches:
    Unlock FPS:
      Game Title: "NieR (Nier Replicant)"
      Serials: BLUS30481, BLES00826
      Author: Whatcookie
      Notes: Updated with a new version that has correct game speed at any framerate, you no longer need to set the Framelimiter to 30 or 60.
      Patch Version: 2.1
      Patch:
        - [ load, *NieR_FPS_USEU ]
    21:9 Aspect Ratio:
      Game Title: "NieR (Nier Replicant)"
      Serials: BLUS30481, BLES00826
      Author: dio
      Notes: HUD Elements will be stretched and misplaced. Users need to enable the "Stretch To Display Area" option in RPCS3 for this patch to work.
      Patch Version: 1.0
      Patch:
        - [ bef32, 0x01120398, 2.3703704 ] # HUD elements will look wrong & needs stretch to display area
 
PPU-f098ee8410599c81c89f90d698340a078dc69a90:
  Patches:
    Unlock FPS:
      Game Title: "NieR (Nier Replicant)"
      Serials: BLJM60223
      Author: Whatcookie
      Notes: Updated with a new version that has correct game speed at any framerate, you no longer need to set the Framelimiter to 30 or 60.
      Patch Version: 2.1
      Patch:
        - [ load, *NieR_FPS_JP ]
</syntaxhighlight>
 
==Persona 5==
<syntaxhighlight lang="yaml">
Anchors:
  p5_ModSupport: &p5_ModSupport
  # make %s/hdd.cpk -> %s%s/mod.cpk
    - [ be32, 0x00B4D638, 0x25732573 ]
    - [ be32, 0x00B4D63C, 0x2F6D6F64 ]
    - [ be32, 0x00B4D640, 0x2E63706B ]
 
  # make mod.cpk file path
    - [ be32, 0x00114CA4, 0x3C6000B5 ] # lis    r3, cpkPathString@ha
    - [ be32, 0x00114CA8, 0x33E3D638 ] # addic  r31, r3, cpkPathString@l
    - [ be32, 0x00114CAC, 0x48968BEB ] # bla    getInstallPath
    - [ be32, 0x00114CB0, 0x60000000 ] # nop
    - [ be32, 0x00114CB4, 0x7C7E1B78 ] # mr    r30, r3
    - [ be32, 0x00114CB8, 0x48968BF7 ] # bla    getInstallPath2
    - [ be32, 0x00114CBC, 0x60000000 ] # nop
    - [ be32, 0x00114CC0, 0x33A10070 ] # addic  r29, r1, 0x70
    - [ be32, 0x00114CC4, 0x7C661B78 ] # mr    r6, r3
    - [ be32, 0x00114CC8, 0x7FA3EB78 ] # mr    r3, r29
    - [ be32, 0x00114CCC, 0x7FE4FB78 ] # mr    r4, r31
    - [ be32, 0x00114CD0, 0x7FC5F378 ] # mr    r5, r30
    - [ be32, 0x00114CD4, 0x48AD567F ] # bla    sprintf
    - [ be32, 0x00114CD8, 0x60000000 ] # nop
    - [ be32, 0x00114CDC, 0x48B44A9E ] # ba    branchOffset
    - [ be32, 0x00114CE0, 0x60000000 ] # nop
 
  # trampoline
    - [ be32, 0x00B44A9C, 0x7FA3EB78 ] # mr    r3, r29
    - [ be32, 0x00B44AA0, 0x48114B77 ] # bla    criFsBindCpk
    - [ be32, 0x00B44AA4, 0x60000000 ] # nop
    - [ be32, 0x00B44AA8, 0x3880000A ] # li    r4, 0xA
    - [ be32, 0x00B44AAC, 0x48AB8ED7 ] # bla    criFsBindPatch
    - [ be32, 0x00B44AB0, 0x60000000 ] # nop
    - [ be32, 0x00B44AB4, 0x48114CE6 ] # ba    0x114CA4 + 0x40
    - [ be32, 0x00B44AB8, 0x60000000 ] # nop
 
  p5_4K: &p5_4K
    - [ be32, 0x1cffb0, 0x48b45007 ] # bustups A
    - [ be32, 0x1d027C, 0x48b45007 ]
    - [ be32, 0x1d039C, 0x48b45007 ]
    - [ be32, 0x1cffd4, 0x48b45007 ]
    - [ be32, 0x1d02a0, 0x48b45007 ]
    - [ be32, 0x1d03c0, 0x48b45007 ]
 
    - [ be32, 0xb45004, 0x38a00003 ] # li    r5,0x3
    - [ be32, 0xb45008, 0x7c632bd2 ] # divd  r3,r3,r5
    - [ be32, 0xb4500c, 0x4e800020 ] # blr
 
  p5_SkipIntro: &p5_SkipIntro
    - [ be32, 0x0055AC8C, 0x60000000 ]
 
  p5_60FPS: &p5_60FPS
    - [ be32, 0x00010268, 0x9061009C ] # set update rate to 60 -> r3, 0xE0+var_44(r1)
    - [ be32, 0x008FC864, 0x60000000 ] # nop cellGcmSetSecondVFrequency
    - [ bef32, 0x00012484, 0.01666667 ]
    - [ bef32, 0x00045678, 0.01666667 ]
    - [ bef32, 0x000616F0, 0.01666667 ]
    - [ bef32, 0x00073F20, 0.01666667 ]
  #  - [ bef32, 0x000753A0, 0.01666667 ] Doubles camera speed
    - [ bef32, 0x00077E54, 0.01666667 ]
    - [ bef32, 0x00078A70, 0.01666667 ]
    - [ bef32, 0x0007A238, 0.01666667 ]
    - [ bef32, 0x00081864, 0.01666667 ]
    - [ bef32, 0x000885C8, 0.01666667 ]
    - [ bef32, 0x0008C550, 0.01666667 ]
    - [ bef32, 0x0008D6D0, 0.01666667 ]
    - [ bef32, 0x000D058C, 0.01666667 ]
    - [ bef32, 0x000D0B4C, 0.01666667 ]
    - [ bef32, 0x000E4754, 0.01666667 ]
    - [ bef32, 0x000E50F0, 0.01666667 ]
    - [ bef32, 0x000E8190, 0.01666667 ]
    - [ bef32, 0x000F8B78, 0.01666667 ]
    - [ bef32, 0x00101CE8, 0.01666667 ]
    - [ bef32, 0x001E7344, 0.01666667 ]
    - [ bef32, 0x001EB0D4, 0.01666667 ]
    - [ bef32, 0x001EB328, 0.01666667 ]
    - [ bef32, 0x001EB814, 0.01666667 ]
    - [ bef32, 0x001EB940, 0.01666667 ]
    - [ bef32, 0x001EBA04, 0.01666667 ]
    - [ bef32, 0x001EBBA0, 0.01666667 ]
    - [ bef32, 0x001EBCD0, 0.01666667 ]
    - [ bef32, 0x001ECCA0, 0.01666667 ]
    - [ bef32, 0x00234C64, 0.01666667 ]
    - [ bef32, 0x0023F4BC, 0.01666667 ]
    - [ bef32, 0x002400BC, 0.01666667 ]
    - [ bef32, 0x00240BB0, 0.01666667 ]
    - [ bef32, 0x0029231C, 0.01666667 ]
    - [ bef32, 0x00294A70, 0.01666667 ]
    - [ bef32, 0x002952F8, 0.01666667 ]
  #  - [ bef32, 0x002B027C, 0.01666667 ] Makes it impossible to run < 60FPS
    - [ bef32, 0x002B0688, 0.01666667 ]
    - [ bef32, 0x002B6154, 0.01666667 ]
    - [ bef32, 0x002B71F8, 0.01666667 ]
    - [ bef32, 0x002B82C8, 0.01666667 ]
    - [ bef32, 0x002B98F8, 0.01666667 ]
    - [ bef32, 0x002B9F8C, 0.01666667 ]
    - [ bef32, 0x002BA614, 0.01666667 ]
    - [ bef32, 0x002BC84C, 0.01666667 ]
    - [ bef32, 0x002BCD2C, 0.01666667 ]
    - [ bef32, 0x002C550C, 0.01666667 ]
    - [ bef32, 0x002D1328, 0.01666667 ]
  #  - [ bef32, 0x002D230C, 0.01666667 ] Doubles movement speed
    - [ bef32, 0x002D2DDC, 0.01666667 ]
    - [ bef32, 0x002D8A10, 0.01666667 ]
    - [ bef32, 0x002D8A18, 0.01666667 ]
    - [ bef32, 0x002DA46C, 0.01666667 ]
    - [ bef32, 0x002FBB00, 0.01666667 ]
    - [ bef32, 0x0030E258, 0.01666667 ]
    - [ bef32, 0x003181D4, 0.01666667 ]
    - [ bef32, 0x0031CE24, 0.01666667 ]
    - [ bef32, 0x0031DBE0, 0.01666667 ]
    - [ bef32, 0x0033DBD0, 0.01666667 ]
    - [ bef32, 0x00358664, 0.01666667 ]
    - [ bef32, 0x00359020, 0.01666667 ]
    - [ bef32, 0x0035AD10, 0.01666667 ]
    - [ bef32, 0x00364A98, 0.01666667 ]
    - [ bef32, 0x0037429C, 0.01666667 ]
    - [ bef32, 0x00376E7C, 0.01666667 ]
    - [ bef32, 0x00379B08, 0.01666667 ]
    - [ bef32, 0x0037AAAC, 0.01666667 ]
    - [ bef32, 0x0037CF54, 0.01666667 ]
    - [ bef32, 0x0037DB7C, 0.01666667 ]
    - [ bef32, 0x003803F4, 0.01666667 ]
    - [ bef32, 0x00387A80, 0.01666667 ]
    - [ bef32, 0x00388684, 0.01666667 ]
    - [ bef32, 0x003ACBC0, 0.01666667 ]
    - [ bef32, 0x003BDDD0, 0.01666667 ]
    - [ bef32, 0x003E944C, 0.01666667 ]
    - [ bef32, 0x003F35EC, 0.01666667 ]
    - [ bef32, 0x003F6FF4, 0.01666667 ]
    - [ bef32, 0x0058CE18, 0.01666667 ]
    - [ bef32, 0x0058DE64, 0.01666667 ]
    - [ bef32, 0x0058E82C, 0.01666667 ]
    - [ bef32, 0x0058E958, 0.01666667 ]
    - [ bef32, 0x0058F47C, 0.01666667 ]
    - [ bef32, 0x0058FA00, 0.01666667 ]
    - [ bef32, 0x0058FAB4, 0.01666667 ]
    - [ bef32, 0x0058FBE4, 0.01666667 ]
    - [ bef32, 0x0058FD2C, 0.01666667 ]
    - [ bef32, 0x0058FE6C, 0.01666667 ]
    - [ bef32, 0x00590A04, 0.01666667 ]
    - [ bef32, 0x005B6914, 0.01666667 ]
    - [ bef32, 0x005F1C6C, 0.01666667 ]
    - [ bef32, 0x0062076C, 0.01666667 ] # battle related stuff
    - [ bef32, 0x007072BC, 0.01666667 ]
    - [ bef32, 0x00722D7C, 0.01666667 ]
    - [ bef32, 0x0073C840, 0.01666667 ]
    - [ bef32, 0x00772E50, 0.01666667 ]
    - [ bef32, 0x0087B338, 0.01666667 ]
    - [ bef32, 0x00B10110, 0.01666667 ]
    - [ bef32, 0x00B6AA14, 0.01666667 ]
    - [ bef32, 0x00B6AA38, 0.01666667 ]
    - [ bef32, 0x00B70B48, 0.01666667 ]
    - [ bef32, 0x00B70BC8, 0.01666667 ]
    - [ bef32, 0x00B71CF4, 0.01666667 ]
    - [ bef32, 0x00B72F38, 0.01666667 ]
    - [ bef32, 0x00CFF46C, 0.01666667 ]
    - [ bef32, 0x00061700, 0.1666667 ]
    - [ bef32, 0x00069AA4, 0.1666667 ]
    - [ bef32, 0x0007A1EC, 0.1666667 ]
    - [ bef32, 0x00081880, 0.1666667 ]
    - [ bef32, 0x000C8258, 0.1666667 ]
    - [ bef32, 0x000C991C, 0.1666667 ]
    - [ bef32, 0x00101CCC, 0.1666667 ]
    - [ bef32, 0x001E2C44, 0.1666667 ]
    - [ bef32, 0x001E61E8, 0.1666667 ]
    - [ bef32, 0x001E7338, 0.1666667 ]
    - [ bef32, 0x00250C50, 0.1666667 ]
    - [ bef32, 0x00256B20, 0.1666667 ]
    - [ bef32, 0x00292100, 0.1666667 ]
    - [ bef32, 0x00294A60, 0.1666667 ]
    - [ bef32, 0x002952E4, 0.1666667 ]
    - [ bef32, 0x0029FD98, 0.1666667 ]
    - [ bef32, 0x002A1BB8, 0.1666667 ]
    - [ bef32, 0x002A41D0, 0.1666667 ]
    - [ bef32, 0x002A6124, 0.1666667 ]
    - [ bef32, 0x002B4FF0, 0.1666667 ]
    - [ bef32, 0x002B60DC, 0.1666667 ]
    - [ bef32, 0x002B7174, 0.1666667 ]
    - [ bef32, 0x002B82F4, 0.1666667 ]
    - [ bef32, 0x002B8E74, 0.1666667 ]
    - [ bef32, 0x002BA600, 0.1666667 ]
    - [ bef32, 0x002BAB30, 0.1666667 ]
    - [ bef32, 0x002BB4E0, 0.1666667 ]
    - [ bef32, 0x002BB808, 0.1666667 ]
    - [ bef32, 0x002BC368, 0.1666667 ]
    - [ bef32, 0x002BC844, 0.1666667 ]
    - [ bef32, 0x002BD414, 0.1666667 ]
    - [ bef32, 0x002C4F54, 0.1666667 ]
    - [ bef32, 0x002C4FF0, 0.1666667 ]
    - [ bef32, 0x002C69E4, 0.1666667 ]
    - [ bef32, 0x002D4378, 0.1666667 ]
    - [ bef32, 0x002DD968, 0.1666667 ]
    - [ bef32, 0x002DE538, 0.1666667 ]
    - [ bef32, 0x002DEA04, 0.1666667 ]
    - [ bef32, 0x0030D7A0, 0.1666667 ]
    - [ bef32, 0x0030E6BC, 0.1666667 ]
    - [ bef32, 0x003181B8, 0.1666667 ]
    - [ bef32, 0x0031AFE0, 0.1666667 ]
    - [ bef32, 0x0031CE38, 0.1666667 ]
    - [ bef32, 0x0031DBF0, 0.1666667 ]
    - [ bef32, 0x0031EC74, 0.1666667 ]
    - [ bef32, 0x00322FB4, 0.1666667 ]
    - [ bef32, 0x00356560, 0.1666667 ]
    - [ bef32, 0x003586BC, 0.1666667 ]
    - [ bef32, 0x00358F90, 0.1666667 ]
    - [ bef32, 0x0035A380, 0.1666667 ]
    - [ bef32, 0x0035AA3C, 0.1666667 ]
    - [ bef32, 0x00364A9C, 0.1666667 ]
    - [ bef32, 0x003688C8, 0.1666667 ]
    - [ bef32, 0x00368A88, 0.1666667 ]
    - [ bef32, 0x00368E30, 0.1666667 ]
    - [ bef32, 0x00376FD0, 0.1666667 ]
    - [ bef32, 0x00377538, 0.1666667 ]
    - [ bef32, 0x00377CD8, 0.1666667 ]
    - [ bef32, 0x0037C2B0, 0.1666667 ]
    - [ bef32, 0x0037D310, 0.1666667 ]
    - [ bef32, 0x0037D418, 0.1666667 ]
    - [ bef32, 0x0037D5B4, 0.1666667 ]
    - [ bef32, 0x0037DD08, 0.1666667 ]
    - [ bef32, 0x0037DE10, 0.1666667 ]
    - [ bef32, 0x0037DF78, 0.1666667 ]
    - [ bef32, 0x00382F38, 0.1666667 ]
    - [ bef32, 0x003845F0, 0.1666667 ]
    - [ bef32, 0x00387A6C, 0.1666667 ]
    - [ bef32, 0x00398208, 0.1666667 ]
    - [ bef32, 0x00398460, 0.1666667 ]
    - [ bef32, 0x003999F8, 0.1666667 ]
    - [ bef32, 0x003A7C64, 0.1666667 ]
    - [ bef32, 0x003AA418, 0.1666667 ]
    - [ bef32, 0x003AE0E4, 0.1666667 ]
    - [ bef32, 0x003AE3A0, 0.1666667 ]
    - [ bef32, 0x003B25D8, 0.1666667 ]
    - [ bef32, 0x003BC448, 0.1666667 ]
    - [ bef32, 0x003C58C0, 0.1666667 ]
    - [ bef32, 0x003C67B0, 0.1666667 ]
    - [ bef32, 0x003C6D6C, 0.1666667 ]
    - [ bef32, 0x003EBC20, 0.1666667 ]
    - [ bef32, 0x003EE5F0, 0.1666667 ]
    - [ bef32, 0x003F1FE0, 0.1666667 ]
    - [ bef32, 0x003F6FC0, 0.1666667 ]
    - [ bef32, 0x004EB808, 0.1666667 ]
    - [ bef32, 0x0055251C, 0.1666667 ]
    - [ bef32, 0x0055EC48, 0.1666667 ]
    - [ bef32, 0x0055F4A8, 0.1666667 ]
    - [ bef32, 0x0057DC08, 0.1666667 ]
    - [ bef32, 0x0057E498, 0.1666667 ]
    - [ bef32, 0x005C5364, 0.1666667 ]
    - [ bef32, 0x00620714, 0.1666667 ]
    - [ bef32, 0x00635CB4, 0.1666667 ]
    - [ bef32, 0x00642B98, 0.1666667 ]
    - [ bef32, 0x00654EE8, 0.1666667 ]
    - [ bef32, 0x00662B04, 0.1666667 ]
    - [ bef32, 0x006AFF98, 0.1666667 ]
    - [ bef32, 0x006CAA44, 0.1666667 ]
    - [ bef32, 0x006E0224, 0.1666667 ]
    - [ bef32, 0x006E31A0, 0.1666667 ]
    - [ bef32, 0x006FCD3C, 0.1666667 ]
    - [ bef32, 0x00772E54, 0.1666667 ]
    - [ bef32, 0x00797508, 0.1666667 ]
    - [ bef32, 0x00B52E3C, 0.1666667 ]
    - [ bef32, 0x00B6AD00, 0.1666667 ]
    - [ bef32, 0x00B6B71C, 0.1666667 ]
    - [ bef32, 0x00B6E478, 0.1666667 ]
    - [ bef32, 0x00B6E880, 0.1666667 ]
    - [ bef32, 0x00B6E8B8, 0.1666667 ]
    - [ bef32, 0x00B6E8F0, 0.1666667 ]
    - [ bef32, 0x00B6E928, 0.1666667 ]
    - [ bef32, 0x00B6E960, 0.1666667 ]
    - [ bef32, 0x00B6E998, 0.1666667 ]
    - [ bef32, 0x00B6E9D0, 0.1666667 ]
    - [ bef32, 0x00B6EA08, 0.1666667 ]
    - [ bef32, 0x00B6EA40, 0.1666667 ]
    - [ bef32, 0x00B6EA78, 0.1666667 ]
    - [ bef32, 0x00B6EAB0, 0.1666667 ]
    - [ bef32, 0x00B6EAE8, 0.1666667 ]
    - [ bef32, 0x00B6EB20, 0.1666667 ]
    - [ bef32, 0x00B6EB58, 0.1666667 ]
    - [ bef32, 0x00B6EB90, 0.1666667 ]
    - [ bef32, 0x00B6EBC8, 0.1666667 ]
    - [ bef32, 0x00B6EC00, 0.1666667 ]
    - [ bef32, 0x00B6EC38, 0.1666667 ]
    - [ bef32, 0x00B6EC70, 0.1666667 ]
    - [ bef32, 0x00B6ECA8, 0.1666667 ]
    - [ bef32, 0x00B70A54, 0.1666667 ]
    - [ bef32, 0x00B70AF0, 0.1666667 ]
    - [ bef32, 0x00B70AF8, 0.1666667 ]
    - [ bef32, 0x00B70B00, 0.1666667 ]
    - [ bef32, 0x00B70B08, 0.1666667 ]
    - [ bef32, 0x00B70B10, 0.1666667 ]
    - [ bef32, 0x00B70B20, 0.1666667 ]
    - [ bef32, 0x00B70B78, 0.1666667 ]
    - [ bef32, 0x00B70B88, 0.1666667 ]
    - [ bef32, 0x00B70BB4, 0.1666667 ]
    - [ bef32, 0x00B70BC4, 0.1666667 ]
    - [ bef32, 0x00B70F60, 0.1666667 ]
    - [ bef32, 0x00B71BAC, 0.1666667 ]
    - [ bef32, 0x00B71BBC, 0.1666667 ]
    - [ bef32, 0x00B9BD30, 0.1666667 ]
    - [ bef32, 0x00CF96AC, 0.1666667 ]
    - [ bef32, 0x00CFA1E8, 0.1666667 ]
    - [ bef32, 0x00CFA20C, 0.1666667 ]
    - [ bef32, 0x00CFB210, 0.1666667 ]
    - [ bef32, 0x00CFB778, 0.1666667 ]
    - [ bef32, 0x00CFBC30, 0.1666667 ]
    - [ bef32, 0x00CFBCA8, 0.1666667 ]
    - [ bef32, 0x00CFBFD4, 0.1666667 ]
    - [ bef32, 0x00CFC0A8, 0.1666667 ]
    - [ bef32, 0x00CFF3CC, 0.1666667 ]
    - [ bef32, 0x00CFF3D4, 0.1666667 ]
    - [ bef32, 0x00CFF470, 0.1666667 ]
    - [ bef32, 0x00CFF478, 0.1666667 ]
    - [ bef32, 0x00CFF480, 0.1666667 ]
    - [ bef32, 0x00D06840, 0.1666667 ]
    - [ bef32, 0x00D06848, 0.1666667 ]
    - [ be32, 0x000FB71C, 0x3C603C88 ]
    - [ be32, 0x00109B14, 0x3C603C88 ]
    - [ be32, 0x0023FBDC, 0x3CA03C88 ]
    - [ be32, 0x00240620, 0x3CA03C88 ]
    - [ be32, 0x00241258, 0x3C803C88 ]
    - [ be32, 0x003CA4BC, 0x3C603C88 ]
    - [ be32, 0x0087B448, 0x3C603C88 ]
    - [ be32, 0x00589358, 0x60000000 ] # Fix cutscene voice cutoff
 
  p5_DLC: &p5_DLC
    - [ be32, 0x197AE8, 0x4E800020 ]
 
  p5_DisableBlur: &p5_DisableBlur
    - [ be32, 0x00FEE27A, 0x9E001700 ]
    - [ be32, 0x00FEE27E, 0xC801001D ]
    - [ be32, 0x00FEE282, 0x00000000 ]
    - [ be32, 0x00FEE286, 0x00000000 ]
    - [ be32, 0x00FEE28A, 0x1E810100 ]
    - [ be32, 0x00FEE28E, 0xC800001D ]
    - [ be32, 0x00FEE292, 0x00000000 ]
    - [ be32, 0x00FEE296, 0x00000000 ]
 
  p5_DisableDistortion: &p5_DisableDistortion
    - [ be32, 0x00FE2E28, 0x9E001700 ]
    - [ be32, 0x00FE2E2C, 0xC801001D ]
    - [ be32, 0x00FE2E30, 0x00000000 ]
    - [ be32, 0x00FE2E34, 0x00000000 ]
    - [ be32, 0x00FE2E38, 0x1E810100 ]
    - [ be32, 0x00FE2E3C, 0xC800001D ]
    - [ be32, 0x00FE2E40, 0x00000000 ]
    - [ be32, 0x00FE2E44, 0x00000000 ]
 
  p5_Disable100PctDistortion: &p5_Disable100PctDistortion
    - [ be32, 0x00FE31CC, 0x9E001700 ]
    - [ be32, 0x00FE31D0, 0xC801001D ]
    - [ be32, 0x00FE31D4, 0x00000000 ]
    - [ be32, 0x00FE31D8, 0x00000000 ]
    - [ be32, 0x00FE31DC, 0x1E810100 ]
    - [ be32, 0x00FE31E0, 0xC800001D ]
    - [ be32, 0x00FE31E4, 0x00000000 ]
    - [ be32, 0x00FE31E8, 0x00000000 ]
 
  p5_NoHudLite: &p5_NoHudLite
    - [ be32, 0xDE4EC, 0x60000000 ] # mission list
    - [ be32, 0xE83F4, 0x60000000 ] # place pict
    - [ be32, 0xE5920, 0x60000000 ] # check
    - [ be32, 0x69CC4, 0x38600001 ] # alert
    - [ be32, 0x5F678, 0x60000000 ] # date
    - [ be32, 0x38A0D0, 0x4838A186 ] # misc field hud
    - [ be32, 0x28FBA0, 0x38600000 ] # party panel
    - [ be32, 0x28FBA4, 0x4E800020 ] # party panel
    - [ be32, 0xD6B48, 0x60000000 ] # mini map
    - [ be32, 0xD6490, 0x60000000 ] # mini map
 
  p5_NoHud: &p5_NoHud
    - [ be32, 0x116934, 0x4E800020 ]
 
  p5_BgmOrder: &p5_BgmOrder
  # patch SoundManager__SetEquipBgm
  # branch to trampoline
    - [ be32, 0x0006CD68, 0x48B44B52 ] # ba 0x00B44B50
   
  # trampoline
    - [ be32, 0x00B44B50, 0x3FDE3000 ] # addis  r30, r30, 0x3000 -> 0x30B49738
    - [ be32, 0x00B44B54, 0xA07E0000 ] # lhz    r3, 0x0(r30)
    - [ be32, 0x00B44B58, 0x38630001 ] # addi  r3, r3, 0x1
    - [ be32, 0x00B44B5C, 0x2803000B ] # cmplwi r3, 0xb (MaxBgm)
   
    - [ be16, 0x00B44B5E, 11 ] # bgm_10 -> 11
   
    - [ be32, 0x00B44B60, 0x41800008 ] # blt    +0x8
    - [ be32, 0x00B44B64, 0x38600000 ] # li    r3, 0x0
   
  # patch music id
    - [ be32, 0x00B44B68, 0xB07E0000 ] # sth  r3, 0(r30)
   
  # return
    - [ be32, 0x00B44B6C, 0x2C1E0000 ] # cmpwi r30, 0
    - [ be32, 0x00B44B70, 0x4806CD6E ] # ba    0x0006CD6C
   
  # patch Btl__PlayBgm
  # branch to trampoline
    - [ be32, 0x0063ACE4, 0x48B44B87 ] # bla 0x00B44B84 (trampoline)
    - [ be32, 0x0063ACE8, 0x4806CCBB ] # bla 0x0006CCB8 (SoundManager__GetBgmId)
   
  # trampoline
   
  # check and return if not normal battle bgm
    - [ be32, 0x00B44B84, 0x2C1F012C ] # cmpwi r31, 300 # normal battle
    - [ be32, 0x00B44B88, 0x41820008 ] # beq  8        # return if not normal battle music
    - [ be32, 0x00B44B8C, 0x4E800020 ] # blr
   
  # randomize sound bank
    - [ be32, 0x00B44B90, 0x4806CCCB ] # bla 0x0006CCC8 (SoundManager__SetEquipBgm)
   
  # return
    - [ be32, 0x00B44B94, 0x4863ACEA ] # ba 0x0063ACE8
 
  p5_BgmRandom: &p5_BgmRandom
  # patch SoundManager__SetEquipBgm
  # branch to trampoline
    - [ be32, 0x0006CD68, 0x48B44B52 ] # ba 0x00B44B50
   
  # trampoline
  # Rnd() % MaxBgm
    - [ be32, 0x00B44B50, 0x4891DA07 ] # bla  0x0091DA04 (Rnd)
    - [ be32, 0x00B44B54, 0x38C0000B ] # li    r6, 11 (MaxBgm)
   
    - [ be16, 0x00B44B56, 11 ] # bgm_10 -> 11
   
    - [ be32, 0x00B44B58, 0x30860001 ] # addic r4, r6, 1
    - [ be32, 0x00B44B5C, 0x7C832396 ] # divwu r4, r3, r4
    - [ be32, 0x00B44B60, 0x7CA431D6 ] # mullw r5, r4, r6
    - [ be32, 0x00B44B64, 0x7C852014 ] # addc  r4, r5, r4
    - [ be32, 0x00B44B68, 0x7C641810 ] # subfc r3, r4, r3
    - [ be32, 0x00B44B6C, 0x7C6307B4 ] # extsw r3, r3
   
  # patch music id
    - [ be32, 0x00B44B70, 0x3FDE3000 ] # addis r30, r30, 0x3000 -> 0x30B49738
    - [ be32, 0x00B44B74, 0xB07E0000 ] # sth  r3, 0(r30)
   
  # return
    - [ be32, 0x00B44B78, 0x2C1E0000 ] # cmpwi r30, 0
    - [ be32, 0x00B44B7C, 0x4806CD6E ] # ba    0x0006CD6C
   
  # patch Btl__PlayBgm
  # branch to trampoline
    - [ be32, 0x0063ACE4, 0x48B44B87 ] # bla 0x00B44B84 (trampoline)
    - [ be32, 0x0063ACE8, 0x4806CCBB ] # bla 0x0006CCB8 (SoundManager__GetBgmId)
   
  # trampoline
   
  # check and return if not normal battle bgm
    - [ be32, 0x00B44B84, 0x2C1F012C ] # cmpwi r31, 300 # normal battle
    - [ be32, 0x00B44B88, 0x41820008 ] # beq  8        # return if not normal battle music
    - [ be32, 0x00B44B8C, 0x4E800020 ] # blr
   
  # randomize sound bank
    - [ be32, 0x00B44B90, 0x4806CCCB ] # bla 0x0006CCC8 (SoundManager__SetEquipBgm)
   
  # return
    - [ be32, 0x00B44B94, 0x4863ACEA ] # ba 0x0063ACE8
 
  p5_NaviLines: &p5_NaviLines
    - [ be32, 0x0074A3B4, 0x38A00000 ] # li r5, 0x0 # morgana
    - [ be32, 0x0074A424, 0x38A00000 ] # li r5, 0x0 # futaba
 
  p5_MaxBullet: &p5_MaxBullet
    - [ be16, 0x00D5C188, 0  ] # empty - base start
    - [ be16, 0x00D5C18A, 16 ] # joker (16)
    - [ be16, 0x00D5C18C, 8  ] # ryuji (8)
    - [ be16, 0x00D5C18E, 15 ] # morgana (15)
    - [ be16, 0x00D5C190, 36 ] # ann (36)
    - [ be16, 0x00D5C192, 24 ] # yusuke (24)
    - [ be16, 0x00D5C194, 12 ] # makoto (12)
    - [ be16, 0x00D5C196, 6  ] # haru (6)
    - [ be16, 0x00D5C198, 0  ] # futaba (0)
    - [ be16, 0x00D5C19A, 12 ] # goro (12)
    - [ be16, 0x00D5C19C, 0  ] # empty - tower rank 5 start
    - [ be16, 0x00D5C19E, 32 ] # joker (32)
    - [ be16, 0x00D5C1A0, 16 ] # ryuji (16)
    - [ be16, 0x00D5C1A2, 25 ] # morgana (25)
    - [ be16, 0x00D5C1A4, 60 ] # ann (60)
    - [ be16, 0x00D5C1A6, 48 ] # yusuke (48)
    - [ be16, 0x00D5C1A8, 24 ] # makoto (24)
    - [ be16, 0x00D5C1AA, 12 ] # haru (12)
    - [ be16, 0x00D5C1AC, 0  ] # futaba (0)
    - [ be16, 0x00D5C1AE, 24 ] # goro (24)
 
PPU-e72e715d646a94770d1902364bc66fe33b1b6606:
  Patches:
    Bustup Mod:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes: Fix the dialog portraits when using resolution scaling. File replacement through mod.cpk. Required for all Bustup Mod versions.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_ModSupport ]
    Bustup Mod v3:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: rexis
      Notes: To be used only with 4K Bustup Mod by rexis.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_4K ]
    Skip Intro Videos:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_SkipIntro ]
    60 FPS:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes: Patch may accelerate some game effects by 2x. Causes game progress breaking in some places.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_60FPS ]
    Disable DLC Unlock Messages:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DLC ]
    Disable Blur Filter:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableBlur ]
    Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableDistortion ]
    Disable Angry Distortion Filter (100% Alert):
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_Disable100PctDistortion ]
    Disable HUD Elements:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes: Elements can disabled separately by adding/removing their respective lines from the patch.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHudLite ]
    Disable HUD Elements (Aggressive):
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma
      Notes: Disable HUD by disabling rendering of 2d elements entirely. Breaks things.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHud ]
    Encounter BGM In Order:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in file order.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_BgmOrder ]
    Encounter BGM Random Order:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in random order.
      Patch Version: 1.1
      Patch:
        - [ load, *p5_BgmRandom ]
    Disable Navigator Battle Messages:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: lipsum
      Notes: Disables Navigator battle lines (voice and message popups).
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NaviLines ]
    Custom Maximum Bullet Count:
      Game Title: "Persona 5"
      Serials: BLUS31604, NPUB31848
      Author: lipsum
      Notes: To change the maximum bullet counts for each character, edit this patch and input your desired values. By default, this patch retains the game defaults until modified.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_MaxBullet ]
 
PPU-b8c34f774adb367761706a7f685d4f8d9d355426:
  Patches:
    Bustup Mod:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes: Fix the dialog portraits when using resolution scaling. File replacement through mod.cpk. Required for all Bustup Mod versions.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_ModSupport ]
    Bustup Mod v3:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: rexis
      Notes: To be used only with 4K Bustup Mod by rexis.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_4K ]
    Skip Intro Videos:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_SkipIntro ]
    60 FPS:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes: Patch may accelerate some game effects by 2x. Causes game progress breaking in some places.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_60FPS ]
    Disable DLC Unlock Messages:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DLC ]
    Disable Blur Filter:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableBlur ]
    Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableDistortion ]
    Disable Angry Distortion Filter (100% Alert):
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_Disable100PctDistortion ]
    Disable HUD Elements:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes: Elements can disabled separately by adding/removing their respective lines from the patch.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHudLite ]
    Disable HUD Elements (Aggressive):
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma
      Notes: Disable HUD by disabling rendering of 2d elements entirely. Breaks things.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHud ]
    Encounter BGM In Order:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in file order.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_BgmOrder ]
    Encounter BGM Random Order:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in random order.
      Patch Version: 1.1
      Patch:
        - [ load, *p5_BgmRandom ]
    Disable Navigator Battle Messages:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: lipsum
      Notes: Disables Navigator battle lines (voice and message popups).
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NaviLines ]
    Custom Maximum Bullet Count:
      Game Title: "Persona 5"
      Serials: BLES02247, NPEB02436
      Author: lipsum
      Notes: To change the maximum bullet counts for each character, edit this patch and input your desired values. By default, this patch retains the game defaults until modified.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_MaxBullet ]
 
PPU-3b394da7912181d308bf08505009b3578521c756:
  Patches:
    Bustup Mod:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes: Fix the dialog portraits when using resolution scaling. File replacement through mod.cpk. Required for all Bustup Mod versions.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_ModSupport ]
    Bustup Mod v3:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: rexis
      Notes: To be used only with 4K Bustup Mod by rexis.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_4K ]
    Skip Intro Videos:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_SkipIntro ]
    60 FPS:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes: Patch may accelerate some game effects by 2x. Causes game progress breaking in some places.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_60FPS ]
    Disable DLC Unlock Messages:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DLC ]
    Disable Blur Filter:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableBlur ]
    Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableDistortion ]
    Disable Angry Distortion Filter (100% Alert):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_Disable100PctDistortion ]
    Disable HUD Elements:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes: Elements can disabled separately by adding/removing their respective lines from the patch.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHudLite ]
    Disable HUD Elements (Aggressive):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma
      Notes: Disable HUD by disabling rendering of 2d elements entirely. Breaks things.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHud ]
    Encounter BGM In Order:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in file order.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_BgmOrder ]
    Encounter BGM Random Order:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in random order.
      Patch Version: 1.1
      Patch:
        - [ load, *p5_BgmRandom ]
    Disable Navigator Battle Messages:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: lipsum
      Notes: Disables Navigator battle lines (voice and message popups).
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NaviLines ]
    Custom Maximum Bullet Count:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.00)
      Author: lipsum
      Notes: To change the maximum bullet counts for each character, edit this patch and input your desired values. By default, this patch retains the game defaults until modified.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_MaxBullet ]
 
PPU-9da9b988693598fbe1e2d316d1e927c37ad666bc:
  Patches:
    Bustup Mod:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes: Fix the dialog portraits when using resolution scaling. File replacement through mod.cpk. Required for all Bustup Mod versions.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_ModSupport ]
    Bustup Mod v3:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: rexis
      Notes: To be used only with 4K Bustup Mod by rexis.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_4K ]
    Skip Intro Videos:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_SkipIntro ]
    60 FPS:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes: Patch may accelerate some game effects by 2x. Causes game progress breaking in some places.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_60FPS ]
    Disable DLC Unlock Messages:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DLC ]
    Disable Blur Filter:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableBlur ]
    Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_DisableDistortion ]
    Disable Angry Distortion Filter (100% Alert):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma, ruipin, kd-11
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *p5_Disable100PctDistortion ]
    Disable HUD Elements:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes: Elements can disabled separately by adding/removing their respective lines from the patch.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHudLite ]
    Disable HUD Elements (Aggressive):
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma
      Notes: Disable HUD by disabling rendering of 2d elements entirely. Breaks things.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NoHud ]
    Encounter BGM In Order:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in file order.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_BgmOrder ]
    Encounter BGM Random Order:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: TGEnigma, lipsum
      Notes: Plays encounter BGM in random order.
      Patch Version: 1.1
      Patch:
        - [ load, *p5_BgmRandom ]
    Disable Navigator Battle Messages:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: lipsum
      Notes: Disables Navigator battle lines (voice and message popups).
      Patch Version: 1.0
      Patch:
        - [ load, *p5_NaviLines ]
    Custom Maximum Bullet Count:
      Game Title: "Persona 5"
      Serials: BLJM61346 (v1.03)
      Author: lipsum
      Notes: To change the maximum bullet counts for each character, edit this patch and input your desired values. By default, this patch retains the game defaults until modified.
      Patch Version: 1.0
      Patch:
        - [ load, *p5_MaxBullet ]
</syntaxhighlight>
 
==Red Dead Redemption==
<syntaxhighlight lang="yaml">
PPU-8a18a0314cade28526874128b253acd98863b83d:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Red Dead Redemption"
      Serials: NPUB30638 (v1.00), NPEB00833 (v1.00)
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x474F24, 0x4017B9AA ] # 21.9 Aspect Ratio
        - [ be32, 0x954B8, 0x4017B9AA ] # 21.9 HUD fix for 21.9 AR
</syntaxhighlight>
 
==Resistance 2==
<syntaxhighlight lang="yaml">
PPU-08da3b601b335c5b09e6425b27fe00eacdad6e78:
  Patches:
    60 FPS:
      Game Title: "Resistance 2"
      Serials: BCUS98120 (v1.00), BCES00226 (v1.00)
      Author: Whatcookie
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x00635d7c, 0x60000000 ] # nop
        - [ be32, 0x00635d88, 0x60000000 ] # nop
        - [ bef32, 0x00d529d8, 0.0001 ] # min timestep size (originally clamped to 1/30, but setting this below 1/60 still sets it to 1/60?)
 
PPU-bf22ce18fc3db486aae9c878afa5212b98b53495: # PSN
  Patches:
    60 FPS:
      Game Title: "Resistance 2"
      Serials: NPEA00431 (v1.00)
      Author: Whatcookie, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x0064816c, 0x60000000 ] # nop
        - [ be32, 0x00648178, 0x60000000 ] # nop
        - [ bef32, 0x00d62ee4, 0.0001 ] # min timestep size (originally clamped to 1/30, but setting this below 1/60 still sets it to 1/60?)</syntaxhighlight>
 
==Sengoku Basara 4: Sumeragi==
<syntaxhighlight lang="yaml">
PPU-533d9f764374a5174b4e3c2834e742c4184d7211:
  Patches:
    Unlock FPS:
      Game Title: "Sengoku Basara 4: Sumeragi"
      Serials: BLJM61248 (v1.02)
      Author: Whatcookie
      Notes: The game is locked to 60FPS by default. This patch completely removes the framelimiter, doesn't need any special settings.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x00e23160, 0x3860001e ] # li  r3, 1e
        - [ be32, 0x00e23178, 0x60000000 ] # nop
</syntaxhighlight>
 
==Shadows of the Damned==
<syntaxhighlight lang="yaml">
PPU-888f4088d305a6add6f83728bdf917c8245fb72c:
  Patches:
    Unlock FPS:
      Game Title: "Shadows of the Damned"
      Serials: BLUS30653
      Author: Whatcookie
      Notes: Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 31FPS.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x009e0ce4, 0x60000000 ]
        - [ be32, 0x009e0d64, 0x60000000 ]
 
PPU-57b3bd94bab3f0db81625c843cdd9bc04d77cd4a:
  Patches:
    Unlock FPS:
      Game Title: "Shadows of the Damned"
      Serials: BLES01276
      Author: Whatcookie, Dante3732
      Notes: Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 31FPS.
      Patch Version: 1.0
      Patch:
        - [ be32, 0x009e0ce4, 0x60000000 ]
        - [ be32, 0x009e0d64, 0x60000000 ]
</syntaxhighlight>
 
==Sonic Adventure==
<syntaxhighlight lang="yaml">
Anchors:
  SA_169: &SA_169
    - [ be32, 0x05043F18, 0x3F400000 ]
    - [ be32, 0x00909260, 0x009B1604 ]
    - [ be32, 0x0090E5B0, 0x40A00000 ]
    - [ be32, 0x00909270, 0x40400000 ]
    - [ be32, 0x00909274, 0xC0400000 ]
    - [ be32, 0x00909278, 0xBF400000 ]
 
PPU-5fc2b4ea8ae9cd7a4247f28dc6af65ca1a6a9fa4:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Adventure"
      Serials: NPUB30249, NPEB00304
      Author: Esppiral
      Notes: This game originally rendered at 11:9 aspect ratio (880x720). With this patch, it will render at a resolution of 16:9 aspect ratio (1280x720).
      Patch Version: 1.0
      Patch:
        - [ load, *SA_169 ]
</syntaxhighlight>
 
==Sonic Unleashed==
<syntaxhighlight lang="yaml">
Anchors:
  su1280x720_Digital: &su1280x720_Digital
  # Main backbuffer (880x720)
    - [ be16, 0x013D197A, 1280 ]
   
  # Other buffers
    - [ be16, 0x0144A53E, 1280 ]
    - [ be16, 0x0144A5F6, 1280 ]
    - [ be16, 0x0144A652, 1280 ]
 
  su1280x720_USEUPhysical: &su1280x720_USEUPhysical
  # Main backbuffer (880x720)
    - [ be16, 0x00DD85B6, 1280 ]
 
  # Other buffers
    - [ be16, 0x013608D6, 1280 ]
    - [ be16, 0x0136098E, 1280 ]
    - [ be16, 0x013609EA, 1280 ]
 
  swa1280x720_BLJM60112: &swa1280x720_BLJM60112
  # Main backbuffer (880x720)
    - [ be16, 0x00DEC49E, 1280 ]
 
  # Other buffers
    - [ be16, 0x013644FE, 1280 ]
    - [ be16, 0x013645B6, 1280 ]
    - [ be16, 0x01364612, 1280 ]
 
  su1280x720_v102: &su1280x720_v102
  # Main backbuffer (880x720)
    - [ be16, 0x00DFD7C6, 1280 ]
 
  # Other buffers
    - [ be16, 0x01371B8E, 1280 ]
    - [ be16, 0x01371C46, 1280 ]
    - [ be16, 0x01371CA2, 1280 ]
 
  su1280x720_NPUB90194_Demo: &su1280x720_NPUB90194_Demo
  # Main backbuffer (880x720)
    - [ be16, 0x013C4B5A, 1280 ]
 
  # Other buffers
    - [ be16, 0x01439086, 1280 ]
    - [ be16, 0x0143913E, 1280 ]
    - [ be16, 0x0143919A, 1280 ]
 
  su1280x720_NPEB90132_Demo: &su1280x720_NPEB90132_Demo
  # Main backbuffer (880x720)
    - [ be16, 0x013C4B62, 1280 ]
 
  # Other buffers
    - [ be16, 0x0143908E, 1280 ]
    - [ be16, 0x01439146, 1280 ]
    - [ be16, 0x014391A2, 1280 ]
 
  swa1280x720_NPJB90162_Demo: &swa1280x720_NPJB90162_Demo
  # Main backbuffer (880x720)
    - [ be16, 0x013C4B56, 1280 ]
 
  # Other buffers
    - [ be16, 0x01439086, 1280 ]
    - [ be16, 0x0143913E, 1280 ]
    - [ be16, 0x0143919A, 1280 ]
 
  su1280x720_Notes: &su1280x720_Notes "This game originally rendered at 11:9 aspect ratio (880x720). With this patch, it will render at a resolution of 16:9 aspect ratio (1280x720)."
 
  suAspectRatio_BLUS30244_v102: &suAspectRatio_BLUS30244_v102
  # Aspect ratio
    - [ bef32, 0x0275DB2C, 2.37037037 ]
 
PPU-6ebcaf71dc08cd612acb82f8e32738a8693d9347:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLUS30244 (v1.00), BLES00425 (v1.00)
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_USEUPhysical ]
 
PPU-c2911b4248ca2090819299f90d1a2d37f50fd5a8:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLUS30244 (v1.02)
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_v102 ]
    21:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLUS30244 (v1.02)
      Author: slashiee
      Notes: Divide width by height to get the float value.
      Patch Version: 1.0
      Patch:
        - [ load, *suAspectRatio_BLUS30244_v102 ]
 
PPU-dfe27b6a57f3fd01f310e402e97a297836b46ceb:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLES00425 (v1.02)
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_v102 ]
 
PPU-fbb2149d0f9ad51398eed59cbd26db5367d6376e:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLJM60112 (v1.00)
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *swa1280x720_BLJM60112 ]
 
PPU-4b48caf21e1f10d47aa9a20acce8ecd8c055755e:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: BLJM60112 (v1.02)
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_v102 ]
 
PPU-88b57d524597bbee38df3a452eb0e86c5e789f73:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: NPUB31204
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_Digital ]
 
PPU-d0bf7a33f1763725609feaa87e0e4d18ab9e8acd:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: NPEB01347
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_Digital ]
 
PPU-bd76a566ab62386b90443711206c3f5063b5ab38:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: NPUB90194
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_NPUB90194_Demo ]
 
PPU-7d9105cac7fb9c8ebbbd791693c27986b12c98ad:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: NPEB90132
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *su1280x720_NPEB90132_Demo ]
 
PPU-8bc924308cd72132d78bae70fb9a1fa82af03c19:
  Patches:
    16:9 Aspect Ratio:
      Game Title: "Sonic Unleashed (Sonic World Adventure)"
      Serials: NPJB90162
      Author: TGEnigma, slashiee
      Notes: *su1280x720_Notes
      Patch Version: 1.3
      Patch:
        - [ load, *swa1280x720_NPJB90162_Demo ]
</syntaxhighlight>
 
==Space Channel 5: Part 2==
<syntaxhighlight lang="yaml">
PPU-2f6778a8e97be84833e47ef273ff10cc2bd6809e:
  Patches:
    21:9 Aspect Ratio:
      Game Title: "Space Channel 5: Part 2"
      Serials: NPUB30353
      Author: Esppiral
      Notes:
      Patch Version: 1.0
      Patch:
        - [ be32, 0x5839D4, 0x3F99999A ] # ZOOM+ (21.9)
        - [ be32, 0x57EF84, 0x3F400000 ] # VERT+ (21.9)
</syntaxhighlight>
 
==The Last of Us==
<syntaxhighlight lang="yaml">
Anchors:
  tlou100_mlaa: &tlou100_mlaa
    - [ be32, 0x00a51a8c, 0x48000a64 ] # unconditonally branch to disable MLAA
 
  # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming
  # address. Without them this patch wouldn't have been possible.
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
  tlou100_post: &tlou100_post
    - [ be32, 0x00a7991c, 0x38000003 ] # Post-Processing modes                    (mem address: 0x14C79C7)
 
  tlou100_mesh: &tlou100_mesh
    - [ be32, 0x00923a94, 0x98090004 ] # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x142C584)
 
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
 
  tlou100_ssao: &tlou100_ssao
    - [ be32, 0x00a7a470, 0x9b830067 ] # Disable SSAO                (r27 => r28) (mem address: 0x14C7C0F)
 
  tlou100_mb: &tlou100_mb
    - [ be32, 0x00a7a4d4, 0x9b830086 ] # Disable motion blur        (r27 => r28) (mem address: 0x14C7C2E)
 
  tlou100_dof: &tlou100_dof
    - [ be32, 0x00a7a4e0, 0x9b830089 ] # Disable depth of field      (r27 => r28) (mem address: 0x14C7C31)
 
  tlou100_dbv: &tlou100_dbv
    - [ be32, 0x00a7a760, 0x9b6302f5 ] # Depth buffer viewport      (r28 => r27) (mem address: 0x14C7E9D)
 
  tlou100_dbf: &tlou100_dbf
    - [ be32, 0x00a7a7ac, 0x9b830319 ] # Depth border fix            (r27 => r28) (mem address: 0x14C7EC1)
 
  tlou100_db: &tlou100_db
    - [ be32, 0x00a7a7b8, 0x90e303e8 ] # Depth buffer                (r27 => r6 ) (mem address: 0x14C7F93)
 
  tlou100_speed: &tlou100_speed
    - [ be32, 0x00a7a6b8, 0x938302b4 ] # Speedboost                              (mem address: 0x14c7e5f)
 
  tlou100_trap: &tlou100_trap
    - [ be32, 0x79af9c, 0x60000000 ] # Fixes 1st RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x485638, 0x60000000 ] # Fixes 2nd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2bd53c, 0x60000000 ] # Fixes 3rd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2bedb4, 0x60000000 ] # Fixes 4th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74b354, 0x60000000 ] # Fixes 5th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9a19f0, 0x60000000 ] # Fixes 6th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bcc8, 0x60000000 ] # Fixes 7th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x8fbd3c, 0x60000000 ] # Fixes 8th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x8fbdc8, 0x60000000 ] # Fixes 9th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bdf8, 0x60000000 ] # Fixes 10th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bec0, 0x60000000 ] # Fixes 11th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74c0a0, 0x60000000 ] # Fixes 12th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9a0914, 0x60000000 ] # Fixes 13th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa41dd8, 0x60000000 ] # Fixes 14th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa41e3c, 0x60000000 ] # Fixes 15th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x70c7c0, 0x60000000 ] # Fixes 16th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74b584, 0x60000000 ] # Fixes 17th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x71471c, 0x60000000 ] # Fixes 18th RSX Trap Error in the Hotel Elevator/Underground Tunnel
 
  tlou100_spulighting: &tlou100_spulighting
    - [ be32, 0x00afeb24, 0x48000010 ]
 
  tlou111_mlaa: &tlou111_mlaa
    - [ be32, 0x00a80350, 0x48000ab8 ] # unconditonally branch to disable MLAA
 
  # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming
  # address. Without them this patch wouldn't have been possible.
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
  tlou111_post: &tlou111_post
    - [ be32, 0x00aa944c, 0x38000003 ] # Post-Processing modes                    (mem address: 0x1571867)
 
  tlou111_mesh: &tlou111_mesh
    - [ be32, 0x009515d8, 0x98090004 ] # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x14A9604)
 
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
 
  tlou111_ssao: &tlou111_ssao
    - [ be32, 0x00aa9f9c, 0x9b830067 ] # Disable SSAO                (r27 => r28) (mem address: 0x1571AAF)
 
  tlou111_mb: &tlou111_mb
    - [ be32, 0x00aaa000, 0x9b830086 ] # Disable motion blur        (r27 => r28) (mem address: 0x1571ACE)
 
  tlou111_dof: &tlou111_dof
    - [ be32, 0x00aaa00c, 0x9b830089 ] # Disable depth of field      (r27 => r28) (mem address: 0x1571AD1)
 
  tlou111_dbv: &tlou111_dbv
    - [ be32, 0x00aaa290, 0x9b6302f9 ] # Depth buffer viewport      (r28 => r27) (mem address: 0x1571D41)
 
  tlou111_dbf: &tlou111_dbf
    - [ be32, 0x00aaa2d8, 0x9b83031d ] # Depth border fix            (r27 => r28) (mem address: 0x1571D65)
 
  tlou111_db: &tlou111_db
    - [ be32, 0x00aaa2e4, 0x90c303ec ] # Depth buffer                (r27 => r6 ) (mem address: 0x1571E37)
 
  tlou111_speed: &tlou111_speed
    - [ be32, 0x00aaa1e8, 0x938302b8 ] # Speedboost                              (mem address: 0x1571d03)
 
  tlou111_trap: &tlou111_trap
    - [ be32, 0x7bb5c4, 0x60000000 ] # Fixes 1st RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x579a4c, 0x60000000 ] # Fixes 2nd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2c9868, 0x60000000 ] # Fixes 3rd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2ca7f4, 0x60000000 ] # Fixes 4th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x76f68c, 0x60000000 ] # Fixes 5th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9cf568, 0x60000000 ] # Fixes 6th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x770000, 0x60000000 ] # Fixes 7th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x91b0a8, 0x60000000 ] # Fixes 8th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x91b134, 0x60000000 ] # Fixes 9th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x770130, 0x60000000 ] # Fixes 10th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7701f8, 0x60000000 ] # Fixes 11th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7703d8, 0x60000000 ] # Fixes 12th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9ce48c, 0x60000000 ] # Fixes 13th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa71538, 0x60000000 ] # Fixes 14th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa7159c, 0x60000000 ] # Fixes 15th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7306b0, 0x60000000 ] # Fixes 16th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x76f8bc, 0x60000000 ] # Fixes 17th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x738a48, 0x60000000 ] # Fixes 18th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x738a48, 0x60000000 ] # Fixes 19th RSX Trap Error in the Underground Tunnel
    - [ be32, 0xa7159c, 0x60000000 ] # Fixes 20th RSX Trap Error in the Underground Tunnel
 
  tlou111_spulighting: &tlou111_spulighting
    - [ be32, 0x00b294ec, 0x48000010 ]
 
PPU-9df60dc1aa5005a0c80e9066e4951dc0471553e6:
  Patches:
    Disable in-built MLAA:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: Whatcookie
      Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as the subchapter "The Cargo" only showing a blackscreen, incorrect bloom effect and the hearing feature no longer working. However, the first two issues can be addressed with the post-processing patch below.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_mlaa ]
    Post-processing modes:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes: This patch addresses issues caused by the MLAA patch such as the subchapter "The Cargo" only showing a blackscreen and incorrect bloom effect.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_post ]
    Disable Mesh trimming:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_mesh ]
    Disable SSAO:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_ssao ]
    Disable Motion Blur:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_mb ]
    Disable Depth of Field:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_dof ]
    Depth buffer viewport:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_dbv ]
    Depth border fix:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_dbf ]
    Depth buffer:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_db ]
    Speedboost:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: ZEROx, illusion
      Notes: Improves performance in certain areas. May cause issues.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_speed ]
    Disable RSX trap errors:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: Aphelion Gaming
      Notes: Disables most fatal RSX trap errors encountered while playing the game. However, this patch must be disabled after the elevator scene in the hotel chapter, as they cause a black screen immediately after you get past the trap error trigger spots and reach the autosave point.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_trap ]
    Disable SPU lighting:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.00), BCES01585 (v1.00), BCUS98174 (v1.00), BCJS37010 (v1.00)
      Author: ZeroX
      Notes: Removes some broken effects and improves performance.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou100_spulighting ]
 
PPU-120fb71f7352d62521c639b0e99f960018c10a56:
  Patches:
    Disable in-built MLAA:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: Whatcookie
      Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as the subchapter "The Cargo" only showing a blackscreen, incorrect bloom effect and the hearing feature no longer working. However, the first two issues can be addressed with the post-processing patch below.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_mlaa ]
    Post-processing modes:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes: This patch addresses issues caused by the MLAA patch such as the subchapter "The Cargo" only showing a blackscreen and incorrect bloom effect.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_post ]
    Disable Mesh trimming:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_mesh ]
    Disable SSAO:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_ssao ]
    Disable Motion Blur:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_mb ]
    Disable Depth of Field:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_dof ]
    Depth buffer viewport:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_dbv ]
    Depth border fix:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_dbf ]
    Depth buffer:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: JohnHolmesII, ZEROx, illusion, Juhn
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_db ]
    Speedboost:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: ZEROx, illusion
      Notes: Improves performance in certain areas. May cause issues.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_speed ]
    Disable RSX trap errors:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: Aphelion Gaming
      Notes: Disables most fatal RSX trap errors encountered while playing the game. However, this patch must be disabled after the elevator scene in the hotel chapter, as they cause a black screen immediately after you get past the trap error trigger spots and reach the autosave point.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_trap ]
    Disable SPU Lighting:
      Game Title: "The Last of Us"
      Serials: BCES01584 (v1.11), BCES01585 (v1.11), BCUS98174 (v1.11), BCJS37010 (v1.11)
      Author: ZeroX
      Notes: Removes some broken effects and improves performance.
      Patch Version: 1.0
      Patch:
        - [ load, *tlou111_spulighting ]
 
</syntaxhighlight>
 
==Uncharted: Drake's Fortune==
<syntaxhighlight lang="yaml">
Anchors:
  uc1_Disc_100_mb: &uc1_Disc_100_mb
    - [ be32, 0x000ec2a8, 0x995d0074 ] # disable motion blur    (mem address: 0x042974A)


  uc1_Disc_100_dof: &uc1_Disc_100_dof
==Patch format==
    - [ be32, 0x000ec2a0, 0x995d0072 ] # disable depth of field (mem address: 0x042974C)
Below are the various types of patch structures that can be used in RPCS3. It starts with the basic format and then showcases various other complex structures that can be used. In case of any doubts, you can refer to over 100 patches present in our patch repository for guidance.
 
  uc1_Disc_110_mb: &uc1_Disc_110_mb
    - [ be32, 0x000e5284, 0x995d0074 ] # disable motion blur    (mem address: 0x0BB43DA)
 
  uc1_Disc_110_dof: &uc1_Disc_110_dof
    - [ be32, 0x000e527c, 0x995d0072 ] # disable depth of field (mem address: 0x0BB43DC)
 
  uc1_PSN_mb: &uc1_PSN_mb
    - [ be32, 0x000e5234, 0x995d0074 ] # disable motion blur    (mem address: 0x0BB321A)
 
  uc1_PSN_dof: &uc1_PSN_dof
    - [ be32, 0x000e522c, 0x995d0072 ] # disable depth of field (mem address: 0x0BB321C)
 
PPU-8007056e52279bea26c15669d1ee08c2df321d00:
  Patches:
    Disable Motion Blur:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: BCES00065 (v1.00), BCUS98103 (v1.00)
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_Disc_100_mb ]
    Disable Depth of Field:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: BCES00065 (v1.00), BCUS98103 (v1.00)
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_Disc_100_dof ]
 
PPU-8363904e0b8fc276380a8f0e158dd81d7a9cefc5:
  Patches:
    Disable Motion Blur:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: BCES00065 (v1.01), BCUS98103 (v1.10)
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_Disc_110_mb ]
    Disable Depth of Field:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: BCES00065 (v1.01), BCUS98103 (v1.10)
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_Disc_110_dof ]
 
PPU-3488cb6c2a7178978b5044b09c7c7ef8397440c0:
  Patches:
    Disable Motion Blur:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: NPEA00363, NPUA80697
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_PSN_mb ]
    Disable Depth of Field:
      Game Title: "Uncharted: Drake's Fortune"
      Serials: NPEA00363, NPUA80697
      Author: illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc1_PSN_dof ]
</syntaxhighlight>
 
==Uncharted 2: Among Thieves==
<syntaxhighlight lang="yaml">
Anchors:
  # Note: Unlike Uncharted 3 and TLoU, Uncharted 2 doesn't change the initial address.
  uc2_Disc_100_60FPS: &uc2_Disc_100_60FPS
    - [ be32, 0x000c9250, 0x91630008 ] # Framelock: 1 (60 FPS Limit)            (mem address: 0x0E9B5FB)
 
  uc2_Disc_100_UnlockFPS: &uc2_Disc_100_UnlockFPS
    - [ be32, 0x000c9250, 0x91830008 ] # Framelock: 0 (No FPS Limit)            (mem address: 0x0E9B5FB)
 
  uc2_Disc_100_ssao: &uc2_Disc_100_ssao
    - [ be32, 0x000c9370, 0x9b830052 ] # Disable SSAO                            (mem address: 0x0E9B642)
 
  uc2_Disc_100_dof: &uc2_Disc_100_dof
    - [ be32, 0x000c93c4, 0x9b830061 ] # Disable depth of field                  (mem address: 0x0E9B651)
 
  uc2_Disc_100_post: &uc2_Disc_100_post
    - [ be32, 0x000c93ec, 0x9b830078 ] # Disable Post on SPU                    (mem address: 0x0E9B668)
 
  uc2_Disc_100_light: &uc2_Disc_100_light
    - [ be32, 0x000c962c, 0x9b830374 ] # Disable Spu lightning                  (mem address: 0x0E9B964)
 
  uc2_Disc_100_stencil: &uc2_Disc_100_stencil
    - [ be32, 0x000c9630, 0x9b630375 ] # Enable stencil buffer for gpu lightning (mem address: 0x0E9B965)
 
  uc2_Disc_100_mesh: &uc2_Disc_100_mesh
    - [ be32, 0x0072ec3c, 0x99490004 ] # Disable mesh trimming                  (mem address: 0x0F995D0)
 
  uc2_Disc_100_mb: &uc2_Disc_100_mb
    - [ be32, 0x000c93c0, 0x9b83005f ] # Disable Motion blur                    (mem address: 0x0E9B64F)
 
  uc2_Disc_100_vmb: &uc2_Disc_100_vmb
    - [ be32, 0x000c961c, 0x9b8302a4 ] # Disable Velocity motion blur            (mem address: 0x0E9B894)
 
  # Note: Unlike Uncharted 3 and TLoU, Uncharted 2 doesn't change the initial address.
  uc2_Disc_109_60FPS: &uc2_Disc_109_60FPS
    - [ be32, 0x000c26f0, 0x91630008 ] # Framelock: 1 (60 FPS Limit)            (mem address: 0x0E9C1FB)
 
  uc2_Disc_109_UnlockFPS: &uc2_Disc_109_UnlockFPS
    - [ be32, 0x000c26f0, 0x91830008 ] # Framelock: 0 (No FPS Limit)            (mem address: 0x0E9C1FB)
 
  uc2_Disc_109_ssao: &uc2_Disc_109_ssao
    - [ be32, 0x000c2810, 0x9b830052 ] # Disable SSAO                            (mem address: 0x0E9C242)
 
  uc2_Disc_109_dof: &uc2_Disc_109_dof
    - [ be32, 0x000c2864, 0x9b830061 ] # Disable depth of field                  (mem address: 0x0E9C251)
 
  uc2_Disc_109_post: &uc2_Disc_109_post
    - [ be32, 0x000c288c, 0x9b830078 ] # Disable Post on SPU                    (mem address: 0x0E9C268)
 
  uc2_Disc_109_light: &uc2_Disc_109_light
    - [ be32, 0x000c2ad2, 0x9b830374 ] # Disable Spu lightning                  (mem address: 0x0E9C564)
 
  uc2_Disc_109_stencil: &uc2_Disc_109_stencil
    - [ be32, 0x000c2ad4, 0x9b630375 ] # Enable stencil buffer for gpu lightning (mem address: 0x0E9C565)
 
  uc2_Disc_109_mesh: &uc2_Disc_109_mesh
    - [ be32, 0x0072d44c, 0x99490004 ] # Disable mesh trimming                  (mem address: 0x0F9BFD0)
 
  uc2_Disc_109_mb: &uc2_Disc_109_mb
    - [ be32, 0x000c2860, 0x9b83005f ] # Disable Motion blur                    (mem address: 0x0E9C24F)
 
  uc2_Disc_109_vmb: &uc2_Disc_109_vmb
    - [ be32, 0x000c2ac0, 0x9b8302a4 ] # Disable Velocity motion blur            (mem address: 0x0E9C494)
 
  # Note: Unlike Uncharted 3 and TLoU, Uncharted 2 doesn't change the initial address.
  uc2_PSN_60FPS: &uc2_PSN_60FPS
    - [ be32, 0x000c2bb8, 0x91630008 ] # Framelock: 1 (60 FPS Limit)            (mem address: 0x0E9C1FB)
 
  uc2_PSN_UnlockFPS: &uc2_PSN_UnlockFPS
    - [ be32, 0x000c2bb8, 0x91830008 ] # Framelock: 0 (No FPS Limit)            (mem address: 0x0E9C1FB)
 
  uc2_PSN_ssao: &uc2_PSN_ssao
    - [ be32, 0x000c2cd8, 0x9b830052 ] # Disable SSAO                            (mem address: 0x0E9C242)
 
  uc2_PSN_dof: &uc2_PSN_dof
    - [ be32, 0x000c2d2c, 0x9b830061 ] # Disable depth of field                  (mem address: 0x0E9C251)
 
  uc2_PSN_post: &uc2_PSN_post
    - [ be32, 0x000c2d54, 0x9b830078 ] # Disable Post on SPU                    (mem address: 0x0E9C268)
 
  uc2_PSN_light: &uc2_PSN_light
    - [ be32, 0x000c2f98, 0x9b830374 ] # Disable Spu lightning                  (mem address: 0x0E9C564)
 
  uc2_PSN_stencil: &uc2_PSN_stencil
    - [ be32, 0x00c2f9c, 0x9b630375 ]  # Enable stencil buffer for gpu lightning (mem address: 0x0E9C565)
 
  uc2_PSN_mesh: &uc2_PSN_mesh
    - [ be32, 0x0072d394, 0x99490004 ] # Disable mesh trimming                  (mem address: 0x0F9BFD0)
 
  uc2_PSN_mb: &uc2_PSN_mb
    - [ be32, 0x000c2d28, 0x9b83005f ] # Disable Motion blur                    (mem address: 0x0E9C24F)
 
  uc2_PSN_vmb: &uc2_PSN_vmb
    - [ be32, 0x000c2f88, 0x9b8302a4 ] # Disable Velocity motion blur            (mem address: 0x0E9C494)
 
  # Note: Unlike Uncharted 3 and TLoU, Uncharted 2 doesn't change the initial address.
  uc2_Demo_60FPS: &uc2_Demo_60FPS
    - [ be32, 0x000c94a0, 0x91630008 ] # Framelock: 1 (60 FPS Limit)
 
  uc2_Demo_UnlockFPS: &uc2_Demo_UnlockFPS
    - [ be32, 0x000c94a0, 0x91830008 ] # Framelock: 0 (No FPS Limit)
 
  uc2_Demo_ssao: &uc2_Demo_ssao
    - [ be32, 0x000c95c0, 0x9b830052 ] # Disable SSAO
 
  uc2_Demo_dof: &uc2_Demo_dof
    - [ be32, 0x000c9614, 0x9b830061 ] # Disable depth of field
 
  uc2_Demo_post: &uc2_Demo_post
    - [ be32, 0x000c963c, 0x9b830078 ] # Disable Post on SPU
 
  uc2_Demo_light: &uc2_Demo_light
    - [ be32, 0x000c987c, 0x9b830374 ] # Disable Spu lightning
 
  uc2_Demo_stencil: &uc2_Demo_stencil
    - [ be32, 0x000c9880, 0x9b630375 ] # Enable stencil buffer for gpu lightning
 
  uc2_Demo_mesh: &uc2_Demo_mesh
    - [ be32, 0x0030624c, 0x99490004 ] # Disable mesh trimming
 
  uc2_Demo_mb: &uc2_Demo_mb
    - [ be32, 0x000c9610, 0x9b83005f ] # Motion blur
 
  uc2_Demo_vmb: &uc2_Demo_vmb
    - [ be32, 0x000c986c, 0x9b8302a4 ] # Velocity motion blur
 
PPU-7b8a70c24456205b776915643a2acacb6ef6ea56:
  Patches:
    60 FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes: Raise maximum framerate cap to 60FPS.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_60FPS ]
    Unlock FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes: Completely removes maximum framerate cap.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_UnlockFPS ]
    Disable SSAO:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_dof ]
    Disable SPU Post-processing:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes: To use scaling correctly for this game you must set Resolution Scale Threshold to 1x1, otherwise some effects like lens flare wil be missing, and all Treasures will be invisible.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_post ]
    Disable SPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_light ]
    Enable stencil buffer for GPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_stencil ]
    Disable Mesh trimming:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_mesh ]
    Disable Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_mb ]
    Disable Velocity Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.00), BCES00757 (v1.00), BCUS98123 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_100_vmb ]
 
PPU-a3a5789c12711291dfe16a7d5d81c906d2b4c0c2:
  Patches:
    60 FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes: Raise maximum framerate cap to 60FPS.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_60FPS ]
    Unlock FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes: Completely removes maximum framerate cap.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_UnlockFPS ]
    Disable SSAO:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_dof ]
    Disable SPU Post-processing:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes: To use scaling correctly for this game you must set Resolution Scale Threshold to 1x1, otherwise some effects like lens flare wil be missing, and all Treasures will be invisible.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_post ]
    Disable SPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_light ]
    Enable stencil buffer for GPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_stencil ]
    Disable Mesh trimming:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_mesh ]
    Disable Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_mb ]
    Disable Velocity Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: BCES00509 (v1.09), BCES00757 (v1.09), BCUS98123 (v1.09)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Disc_109_vmb ]
 
PPU-599461c6c88935ff0ed26ef20e649c8c38b7be9c:
  Patches:
    60 FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes: Raise maximum framerate cap to 60FPS.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_60FPS ]
    Unlock FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes: Completely removes maximum framerate cap.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_UnlockFPS ]
    Disable SSAO:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_dof ]
    Disable SPU Post-processing:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes: To use scaling correctly for this game you must set Resolution Scale Threshold to 1x1, otherwise some effects like lens flare wil be missing, and all Treasures will be invisible.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_post ]
    Disable SPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_light ]
    Enable stencil buffer for GPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_stencil ]
    Disable Mesh trimming:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_mesh ]
    Disable Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_mb ]
    Disable Velocity Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA00365 (v1.10), NPUA80698 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_PSN_vmb ]
 
PPU-bfee77256ce53064051a6b0ec9d292e75284aad4:
  Patches:
    60 FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes: Raise maximum framerate cap to 60FPS.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_60FPS ]
    Unlock FPS:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes: Completely removes maximum framerate cap.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_UnlockFPS ]
    Disable SSAO:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_dof ]
    Disable SPU Post-processing:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes: To use scaling correctly for this game you must set Resolution Scale Threshold to 1x1, otherwise some effects like lens flare wil be missing, and all Treasures will be invisible.
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_post ]
    Disable SPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_light ]
    Enable stencil buffer for GPU lightning:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_stencil ]
    Disable Mesh trimming:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_mesh ]
    Disable Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_mb ]
    Disable Velocity Motion Blur:
      Game Title: "Uncharted 2: Among Thieves"
      Serials: NPEA90055
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.2
      Patch:
        - [ load, *uc2_Demo_vmb ]
</syntaxhighlight>
 
==Uncharted 3: Drake's Deception==
<syntaxhighlight lang="yaml">
Anchors:
  uc3_100_FPS: &uc3_100_FPS
    - [ be32, 0x0093b348, 0x90e30034 ] #FPS 
    - [ be32, 0x0093b34c, 0x90e30038 ] #Unlock
 
  uc3_100_mlaa: &uc3_100_mlaa
    - [ be32, 0x00720340, 0x480009ac ] # unconditonally branch to disable MLAA
 
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
  uc3_100_post: &uc3_100_post
    - [ be32, 0x0093acd4, 0x39000003 ] # Post-Processing modes  (mem address: 0x1346D47)
 
  uc3_100_mesh: &uc3_100_mesh
    - [ be32, 0x0073f05c, 0x980b0004 ] # Disable mesh trimming  (mem address: 0x12C3940)
 
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
 
  uc3_100_ssao: &uc3_100_ssao
    - [ be32, 0x0093b3ac, 0x9b830057 ] # Disable SSAO          (mem address: 0x1346DBF)
 
  uc3_100_dof: &uc3_100_dof
    - [ be32, 0x0093b430, 0x9b83007a ] # Disable Depth of Field (mem address: 0x1346DE2)
 
  uc3_100_speed: &uc3_100_speed
    - [ be32, 0x0093b44c, 0x9b830081 ] # Speedup (WCB)          (mem address: 0x1346DE9)
 
  uc3_100_dbv: &uc3_100_dbv
    - [ be32, 0x0093b6b8, 0x9b6302f9 ] # Depth buffer viewport  (mem address: 0x1347061)
 
  uc3_100_dbf: &uc3_100_dbf
    - [ be32, 0x0093b6f8, 0x9b83031d ] # Depth border fix      (mem address: 0x1347085)
 
  uc3_100_db: &uc3_100_db
    - [ be32, 0x0093b704, 0x90e303ec ] # Depth buffer          (mem address: 0x1347157)
 
  uc3_110_mlaa: &uc3_110_mlaa
    - [ be32, 0x00728cac, 0x480009ac ] # unconditonally branch to disable MLAA
 
  uc3_110_mb: &uc3_110_mb
    - [ be32, 0x00779ff0, 0x480008b0 ] # Disable
    - [ be32, 0x0077aacc, 0x480000c4 ] # motion
    - [ be32, 0x00a411ac, 0x480001a4 ] # blur
 
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
  uc3_110_post: &uc3_110_post
    - [ be32, 0x0094d0b8, 0x39000003 ] # Post Processing mode  (mem address: 0x1376F77)
 
  uc3_110_mesh: &uc3_110_mesh
    - [ be32, 0x00747b0c, 0x980b0004 ] # Disable mesh trimming  (mem address: 0x12D5A70)
 
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
 
  uc3_110_ssao: &uc3_110_ssao
    - [ be32, 0x0094d790, 0x9b830057 ] # Disable SSAO          (mem address: 0x1376FEF)
 
  uc3_110_dof: &uc3_110_dof
    - [ be32, 0x0094d814, 0x9b83007a ] # Disable Depth of Field (mem address: 0x1377012)
 
  uc3_110_speed: &uc3_110_speed
    - [ be32, 0x0094d830, 0x9b830081 ] # Speedup (WCB)          (mem address: 0x1377019)
 
  uc3_110_dbv: &uc3_110_dbv
    - [ be32, 0x0094da9c, 0x9b6302f9 ] # Depth buffer viewport  (mem address: 0x1377291)
 
  uc3_110_dbf: &uc3_110_dbf
    - [ be32, 0x0094dadc, 0x9b83031d ] # Depth border fix      (mem address: 0x13772B5)
 
  uc3_110_db: &uc3_110_db
    - [ be32, 0x0094dae8, 0x90e303ec ] # Depth buffer = 2      (mem address: 0x1377387)
 
  uc3_119_FPS: &uc3_119_FPS
    - [ be32, 0x0096e980, 0x3b6000da ] #FPS
    - [ be32, 0x0096e97c, 0x48000040 ] #Unlock
 
  uc3_119_mlaa: &uc3_119_mlaa
    - [ be32, 0x0073a1d8, 0x480009ac ] # unconditonally branch to disable MLAA
 
  uc3_119_mb: &uc3_119_mb
    - [ be32, 0x0078a608, 0x480008b0 ] # Disable
    - [ be32, 0x0078b0e4, 0x480000c4 ] # motion
    - [ be32, 0x00a6b8e8, 0x480001a4 ] # blur
 
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
  uc3_119_post: &uc3_119_post
    - [ be32, 0x0096e308, 0x39000003 ] # Post Processing mode  (mem address: 0x1386547)
 
  uc3_119_mesh: &uc3_119_mesh
    - [ be32, 0x0075811c, 0x980b0004 ] # Disable mesh trimming  (mem address: 0x12E0DF0)
 
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
 
  uc3_119_ssao: &uc3_119_ssao
    - [ be32, 0x0096e9e0, 0x9b830057 ] # Disable SSAO          (mem address: 0x13865BF)
 
  uc3_119_dof: &uc3_119_dof
    - [ be32, 0x0096ea64, 0x9b83007a ] # Disable Depth of Field (mem address: 0x13865E2)
 
  uc3_119_speed: &uc3_119_speed
    - [ be32, 0x0096ea80, 0x9b830081 ] # Speedup (WCB)          (mem address: 0x13865E9)
 
  uc3_119_dbv: &uc3_119_dbv
    - [ be32, 0x0096ecec, 0x9b6302f9 ] # Depth buffer viewport  (mem address: 0x1386861)
 
  uc3_119_dbf: &uc3_119_dbf
    - [ be32, 0x0096ed2c, 0x9b83031d ] # Depth border fix      (mem address: 0x1386885)
 
  uc3_119_db: &uc3_119_db
    - [ be32, 0x0096ed38, 0x90e303ec ] # Depth buffer = 2      (mem address: 0x1386957)


PPU-49c96996b6f3c0b32422375978c41e0c7ed95183:
===Template syntax===
  Patches:
<pre>
    Unlock FPS:
{{patch
      Game Title: "Uncharted 3: Drake's Deception"
|type    = <!-- PPU, SPU, Canary -->
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
|version = 1.2
      Author: superepic31
|content =
      Notes: Haven't tested how this affects cutscenes.
<!-- Enter actual patch here (see below for format). Remember to delete this comment. -->
      Patch Version: 1.0
}}
      Patch:
</pre>
        - [ load, *uc3_100_FPS ]
    Disable in-built MLAA:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: Whatcookie
      Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as incorrect bloom effect. However, this issues can be addressed with the post-processing patch below.
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_mlaa ]
    Post-processing modes:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_post ]
    Disable Mesh trimming:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_mesh ]
    Disable SSAO:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_dof ]
    Performance (WCB):
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes: Enable this patch if you are using "Write Color Buffers" to restore performance.
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_speed ]
    Depth buffer viewport:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_dbv ]
    Depth border fix:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_dbf ]
    Depth buffer:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.00), BCUS98233 (v1.00)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_100_db ]


PPU-664fb0e4a94c62c15a6474841c202fb2bf80ce16:
===Parameters===
  Patches:
The following are the valid parameters of the Patch structure ('''required entries are in bold'''):
    Disable in-built MLAA:
{| class="wikitable"
      Game Title: "Uncharted 3: Drake's Deception"
| '''''PPU/SPU executable hash''''' || This is the 40 character unique to help identify the game's executable file. It will have the prefix <code>PPU-</code> or <code>SPU-</code>. Please find the instructions to identify the hash [[#How to identify the PPU/SPU executable hash|here]].
      Serials: BCES01670 (v1.10)
|-
      Author: Whatcookie
| '''''PatchName''''' || This field needs to be replaced with the name of the patch (e.g. 60 FPS patch, Disable MLAA, Infinite Ammo, etc.).
      Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as incorrect bloom effect. However, this issues can be addressed with the post-processing patch below.
|-
      Patch Version: 1.0
| ''GameName'' || This field needs to be replaced with the name of the game (e.g. Persona 5, The Last of Us, etc.). To the extent possible, ensure that this matches to the title of game page on the wiki. Deviation on account of special editions or demos are allowed and will be reviewed on a case-to-case basis. In case of a global patch that is to be applied to all games, mention <code>All</code>.
      Patch:
|-
        - [ load, *uc3_110_mlaa ]
| '''''GameID''''' || This field needs to be replaced with the Serial of the game (e.g. BLUS23053, NPEB54673, etc.).
    Disable Motion Blur:
|-
      Game Title: "Uncharted 3: Drake's Deception"
| '''''GameVersion''''' || This field needs to be replaced with the version number of the game as follows:
      Serials: BCES01670 (v1.10)
: ''Actual version'' - If you are sure of the version number of your game, mention the same (for e.g. v1.01 is to be written as <code>01.01</code>).
      Author: ZEROx
: ''All'' - If you are unsure of the version and the game has only a single known version, mention <code>All</code>.
      Notes:
|-
      Patch Version: 1.0
| ''Author'' || Fill in the name of the authors of the patch.
      Patch:
|-
        - [ load, *uc3_110_mb ]
| ''Notes'' || Fill in any relevant information that needs to be communicated to the user of the patches. Any special settings or drawbacks to the patches needs to be mentioned here.
    Post-processing modes:
|-
      Game Title: "Uncharted 3: Drake's Deception"
| ''Group'' || This field is used when there are multiple patches for a game that cannot be enabled at the same time. Using the same '''Group''' for these patches will ensure that only one can be enabled at a time (for e.g. mention <code>FPS</code> when both 60 FPS and 120 FPS patches are available for the same game). This only applies to patches present under the same ''PPU/SPU executable hash''.
      Serials: BCES01670 (v1.10)
|-
      Author: ZEROx, illusion
| ''Patch Version'' || Fill in the version number of the patch (for e.g. v1.1 is to be written as <code>1.1</code>). This version number needs to be incremented every time a significant change has been made.
      Notes:
|-
      Patch Version: 1.0
| '''''Patch''''' || This field will contain the actual patch code.
      Patch:
|-
        - [ load, *uc3_110_post ]
| ''Anchors'' || This field can be used to when the same patch code is to be used for multiple patches. A unique ''AnchorDesc'' needs to be declared and then called in the Patch field of every patch that uses it. Please see an example of its use in the formats below.
    Disable Mesh trimming:
|}
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_mesh ]
    Disable SSAO:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_ssao ]
    Disable Depth of Field:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_dof ]
    Performance (WCB):
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes: Enable this patch if you are using "Write Color Buffers" to restore performance.
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_speed ]
    Depth buffer viewport:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_dbv ]
    Depth border fix:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_dbf ]
    Depth buffer:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01670 (v1.10)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_110_db ]


PPU-02a88c3c6cd415b0bb81f1606bc743835881a4ba:
===Standard format===
   Patches:
<pre>
    Unlock FPS:
PPU-0000000000000000000000000000000000000000:
      Game Title: "Uncharted 3: Drake's Deception"
   "PatchName":
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
     Games:
      Author: superepic31
       "GameName":
      Notes: Haven't tested how this affects cutscenes.
         GameID: [ GameVersion ]
      Patch Version: 1.0
     Author:  
      Patch:
     Notes:  
        - [ load, *uc3_119_FPS ]
     Patch Version:  
    Disable in-built MLAA:
     Patch:
      Game Title: "Uncharted 3: Drake's Deception"
       - [ Patch ]
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
</pre>
      Author: Whatcookie
      Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as incorrect bloom effect. However, this issues can be addressed with the post-processing patch below.
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_mlaa ]
    Disable Motion Blur:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_mb ]
    Post-processing modes:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_post ]
     Disable Mesh trimming:
       Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
         - [ load, *uc3_119_mesh ]
    Disable SSAO:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_ssao ]
     Disable Depth of Field:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_dof ]
     Performance (WCB):
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes: Enable this patch if you are using "Write Color Buffers" to restore performance.
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_speed ]
     Depth buffer viewport:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_dbv ]
     Depth border fix:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
       Patch:
        - [ load, *uc3_119_dbf ]
    Depth buffer:
      Game Title: "Uncharted 3: Drake's Deception"
      Serials: BCES01175 (v1.19), BCES01670 (v1.19), BCUS98233 (v1.19)
      Author: ZEROx, illusion
      Notes:
      Patch Version: 1.0
      Patch:
        - [ load, *uc3_119_db ]
</syntaxhighlight>


==Unreal Tournament 3==
===Using anchor (for large patches)===
<syntaxhighlight lang="yaml">
<pre>
Anchors:
Anchors:
   UT3_FPS: &UT3_FPS
   AnchorDesc: &AnchorDesc
     - [ be32, 0x00010c70, 0x60000000 ]
     - [ Patch ]
    - [ be32, 0x00010cc8, 0x60000000 ]
    - [ be32, 0x003b79e8, 0x60000000 ]
    - [ be32, 0x003b7a4c, 0x60000000 ]
    - [ be32, 0x003b7a58, 0x60000000 ]


PPU-d4452078fad5d1d71a6ccb30d8349259749f38e7:
PPU-0000000000000000000000000000000000000000:
   Patches:
   "PatchName":
     Unlock FPS:
     Games:
       Game Title: "Unreal Tournament 3"
       "GameName":
      Serials: BLES00200 (v2.00)
        GAME00000: [ GameVersion ]
      Author: Whatcookie
    Author:  
      Notes: Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 57FPS.
    Notes:  
      Patch Version: 1.0
    Patch Version:  
      Patch:
    Patch:
        - [ load, *UT3_FPS ]
      - [ load, *AnchorDesc ]
</syntaxhighlight>
</pre>


==WipEout HD==
===Multiple GameIDs and Patches===
<syntaxhighlight lang="yaml">
<pre>
PPU-0e95b58ae209a37060f3388434b59bcce8a708ab:
PPU-0000000000000000000000000000000000000000:
   Patches:
   "PatchName1":
     21:9 Aspect Ratio:
     Games:
       Game Title: "WipEout HD"
       "GameName":
      Serials: NPEA00057 (v2.51)
        GAME00000: [ GameVersion ]
      Author: Esppiral
        GAME00001: [ GameVersion ]
      Notes:  
    Author:  
      Patch Version: 1.0
    Notes:  
       Patch:
    Group:
         - [ be32, 0x7E4190, 0x4017B9AA ] # 21:9 Aspect Ratio
    Patch Version:  
        - [ be32, 0x7EB4A4, 0x4017B9AA ] # Render Fix
    Patch:
</syntaxhighlight>
       - [ Patch ]
  "PatchName2":
    Games:
      "GameName":
         GAME00000: [ GameVersion ]
        GAME00001: [ GameVersion ]
    Author:  
    Notes:
    Group:
    Patch Version:
    Patch:
      - [ Patch ]
</pre>

Latest revision as of 01:42, 19 August 2023

This page aims to provide all information relating to RPCS3's patch system.

  • The Main subpage lists the current PPU patches available for RPCS3's game patching system.
  • The SPU subpage lists the general-use SPU patches available for RPCS3's game patching system.
  • The Canary subpage lists patches that are severely buggy, in-development, or circumvent emulation bugs. These patches are not shipped with RPCS3's patch download functionality.

Using game patches

The simplest way to enable patches in RPCS3 is as follows:

  1. Boot RPCS3
  2. Select Manage > Game Patches to access the Patch Manager.
  3. Click the Download latest patches button and the emulator will automatically fetch the latest version of available patches.
  4. Navigate to the patch you wish to enable and tick the checkbox corresponding to the patch. You may want to tick the check box Only show owned games to make navigation simpler.
  5. Click Save and boot the game.

Manually adding custom patches

There are many patches that aren't shipped with the automatic download facility due to them being canary patches, privately-shared patches, or otherwise missing from the Wiki. These patches can be added to RPCS3 in the following manner:

  1. Open your preferred text editor (e.g: VSCode, Sublime, Notepad++).
  2. Add the text Version: 1.2 as the first line. Do not paste anything else on this line. Hit Enter and move to the next line.
  3. Paste your custom patch from the Canary page or any other source. Ensure that the formatting for these patches are perfect, as the emulator will ignore the patch if it detects any formatting deficiencies.
  4. Click Save and name the file imported_patch.yml. Do NOT change the capitalization or use any other name, RPCS3 will not be able to apply the patches. On Windows, select All files (*.*) as the file type when saving.
  5. Save the file in relevant location:
    Windows:
    <RPCS3 folder>\patches\
    Linux:
    ~/.config/rpcs3/patches/
    MacOS:
    ~/Library/Application Support/rpcs3/patches/
    If you're unable to locate this directory then copy/paste the path shown here into Spotlight and hit Enter.
  6. Navigate to the Patch Manager as mentioned before and tick the checkbox corresponding to the patch you wish to apply.

How to identify the PPU/SPU executable hash

This section is meant for adept users who wish to apply a patch to a different game version. Do not try to edit any of the patches unless you know what you are doing. Please note that you will also have to edit the Title ID and game version information for the modified patch to be applied by the emulator.

To identify the executable hash, follow the instructions mentioned here:

  1. Boot the game for a minute and then close the emulator.
  2. Open RPCS3.log (or just RPCS3 with the Notepad icon).
  3. Search for the string PPU executable hash:.
  4. Copy the value that looks like PPU-b8c34f774adb367761706a7f685d4f8d9d355426. This is the PPU hash of your game.
  5. Open patch.yml with any text editor (e.g: VSCode, Sublime, Notepad++).
  6. Find the existing patch that you wish to modify and copy it to imported_patch.yml. Ensure that you also copy over any anchors that the patch relies on.
  7. Find the existing PPU hash in the patch and replace the same with the PPU hash you obtained in Step 4.

Please note that some games may have multiple PPU executable hashes, and it is up to you to figure out the correct hash to be copied. Also, the same method can be used to extract SPU executable hashes by searching for SPU executable hash: in Step 3.

Patch format

Below are the various types of patch structures that can be used in RPCS3. It starts with the basic format and then showcases various other complex structures that can be used. In case of any doubts, you can refer to over 100 patches present in our patch repository for guidance.

Template syntax

{{patch
|type    = <!-- PPU, SPU, Canary -->
|version = 1.2
|content =
<!-- Enter actual patch here (see below for format). Remember to delete this comment. -->
}}

Parameters

The following are the valid parameters of the Patch structure (required entries are in bold):

PPU/SPU executable hash This is the 40 character unique to help identify the game's executable file. It will have the prefix PPU- or SPU-. Please find the instructions to identify the hash here.
PatchName This field needs to be replaced with the name of the patch (e.g. 60 FPS patch, Disable MLAA, Infinite Ammo, etc.).
GameName This field needs to be replaced with the name of the game (e.g. Persona 5, The Last of Us, etc.). To the extent possible, ensure that this matches to the title of game page on the wiki. Deviation on account of special editions or demos are allowed and will be reviewed on a case-to-case basis. In case of a global patch that is to be applied to all games, mention All.
GameID This field needs to be replaced with the Serial of the game (e.g. BLUS23053, NPEB54673, etc.).
GameVersion This field needs to be replaced with the version number of the game as follows:
Actual version - If you are sure of the version number of your game, mention the same (for e.g. v1.01 is to be written as 01.01).
All - If you are unsure of the version and the game has only a single known version, mention All.
Author Fill in the name of the authors of the patch.
Notes Fill in any relevant information that needs to be communicated to the user of the patches. Any special settings or drawbacks to the patches needs to be mentioned here.
Group This field is used when there are multiple patches for a game that cannot be enabled at the same time. Using the same Group for these patches will ensure that only one can be enabled at a time (for e.g. mention FPS when both 60 FPS and 120 FPS patches are available for the same game). This only applies to patches present under the same PPU/SPU executable hash.
Patch Version Fill in the version number of the patch (for e.g. v1.1 is to be written as 1.1). This version number needs to be incremented every time a significant change has been made.
Patch This field will contain the actual patch code.
Anchors This field can be used to when the same patch code is to be used for multiple patches. A unique AnchorDesc needs to be declared and then called in the Patch field of every patch that uses it. Please see an example of its use in the formats below.

Standard format

PPU-0000000000000000000000000000000000000000:
  "PatchName":
    Games:
      "GameName":
        GameID: [ GameVersion ]
    Author: 
    Notes: 
    Patch Version: 
    Patch:
      - [ Patch ]

Using anchor (for large patches)

Anchors:
  AnchorDesc: &AnchorDesc
    - [ Patch ]

PPU-0000000000000000000000000000000000000000:
  "PatchName":
    Games:
      "GameName":
        GAME00000: [ GameVersion ]
    Author: 
    Notes: 
    Patch Version: 
    Patch:
      - [ load, *AnchorDesc ]

Multiple GameIDs and Patches

PPU-0000000000000000000000000000000000000000:
  "PatchName1":
    Games:
      "GameName":
        GAME00000: [ GameVersion ]
        GAME00001: [ GameVersion ]
    Author: 
    Notes: 
    Group: 
    Patch Version: 
    Patch:
      - [ Patch ]
  "PatchName2":
    Games:
      "GameName":
        GAME00000: [ GameVersion ]
        GAME00001: [ GameVersion ]
    Author: 
    Notes: 
    Group: 
    Patch Version: 
    Patch:
      - [ Patch ]