Help:Game Patches: Difference between revisions

Help page
(Removed link to test page since patches have been moved to specific game pages)
(Improved write-up for the patch page)
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 lists the current existing community patches for RPCS3's game patching system. Refer to the [[/Canary|Canary page]] for patches that are severely buggy, in-development, or circumvent emulation bugs.


Refer to the [[/Canary|Canary page]] for patches that are in-development, severely buggy or generally not recommended for use.
==How to use patches==
The simplest way to enables 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==
==How to manually add 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.2</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 line <code>Version: 1.2</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.
# 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 that 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.
# 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.
# Save the file in relevant location:
# Save the file in relevant location:
#: <u>Windows</u>: <code>\patches\</code>
#: <u>Windows</u>: <code>\patches\</code>
#: <u>Linux</u>: <code>~/.config/rpcs3/patches/</code>
#: <u>Linux</u>: <code>~/.config/rpcs3/patches/</code>
# 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''.
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''.
__TOC__
__TOC__
{{patch
{{patch

Revision as of 10:16, 20 September 2020

This page lists the current existing community patches for RPCS3's game patching system. Refer to the Canary page for patches that are severely buggy, in-development, or circumvent emulation bugs.

How to use patches

The simplest way to enables 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.

How to manually add 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 line Version: 1.2 to the top of the file. Do not paste anything else on this line. Hit Enter and move to the next line.
  3. Paste your custom patch that 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.
  5. Save the file in relevant location:
    Windows: \patches\
    Linux: ~/.config/rpcs3/patches/
  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.

Disable SPU MLAA

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'
  "Disable SPU MLAA - Prince of Persia series":
    Games:
      All:
        All: [ All ]
    Serials: All
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nPrince of Persia: The Sands of Time\nPrince of Persia: Warrior Within\nPrince of Persia: The Two Thrones" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_01 ]

SPU-9001b44fd7278b5a6fa5385939fe928a0e549394: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Disable SPU MLAA:
    Games:
      "Puppeteer":
        BCES00935: [ All ]
        BCUS98227: [ All ]
        BCJS30078: [ All ]
        BCAS20281: [ All ]
        NPEA00439: [ All ]
        NPUA80959: [ All ]
        NPJA00098: [ All ]
        NPHA80250: [ All ]
    Author: Whatcookie
    Notes: *SPU_MLAA_Notes
    Patch Version: 1.5
    Group: SPUMLAA
    Patch:
      - [ load, *SPU_MLAA_01 ]
  "Disable SPU MLAA - Multiple titles":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nBinary Domain\nJourney\nOddworld: Stranger's Wrath HD\nTokyo Jungle\nSoulCalibur Lost Swords\nSoulCalibur V\nYakuza Ishin\nYakuza 5\nFerrari Racing Legends\nPool Nation" ]
    Patch Version: 1.5
    Group: SPUMLAA
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-931132fd48a40bce0bec28e21f760b1fc6ca4364: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - Multiple titles":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nCaptain America: Super Soldier\nYakuza Dead Souls\nNeed for Speed Shift 2 Unleashed" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-7b5ea49122ec7f023d4a72452dc7a9208d9d6dbf: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  Disable SPU MLAA:
    Games:
      "Dragon Age 2 (Dragon Age II)":
        BLES01084: [ All ]
        BLUS30645: [ All ]
        NPEB00569: [ All ]
        NPUB30476: [ 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'
  "Disable SPU MLAA - Multiple titles":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nMedieval Moves: Deadmund's Quest\nShadow of the Colossus\nSports Champions 2\n\nExtra note for Shadow of the Colossus:\nThis patch can be used alongside PPU based patch which allows for resolution scaling." ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-9c270732b4276ec71df9a5255d5d8a63267de645: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA":
    Games:
      "WWE '12":
        BLES01439: [ All ]
        BLUS30841: [ All ]
        BLJM60436: [ All ]
    Author: Whatcookie, dio
    Notes: *SPU_MLAA_Notes
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-6932af7adf79f31116fc28d71aae3e5e165d7f63: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - WWE '13, WWE 2K14":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie, Satan
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nWWE '13\nWWE 2K14" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-ac189d7f87091160a94e69803ac0cff0a8bb7813: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - ICO":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nICO\nThis patch can be used alongside PPU based patch which allows for resolution scaling." ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_02 ]

SPU-794795c449beef176d076816284849d266f55f99: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - Macross 30":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nMacross 30" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_03 ]

SPU-e3780fe1dc8953f849ac844ec9688ff4da3ca3ae: # SPUNAME: 'u:\bin_ps3_SNC\edgepost_mlaa_ta'
  "Disable SPU MLAA - Metro Last Light":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nMetro Last Light" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_03 ]

SPU-530c255936b07b25467a58e24ceff5fd4e2960b7: # SPUNAME: 'mlaascanline.PS3_Release/mlaasca'
  Disable SPU MLAA:
    Games:
      "God of War 3 (God of War III)":
        BCES00510: [ 01.00 ]
        BCES00799: [ 01.00 ]
        BCUS98111: [ 01.00 ]
        BCJS37001: [ 01.00 ]
        BCAS25003: [ 01.00 ]
        BCKS15003: [ 01.00 ]
    Author: Whatcookie
    Notes: *SPU_MLAA_Notes
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_04 ]

SPU-2239af4827b17317522bd6323c646b45b34ebf14: # SPUNAME: 'mlaascanline.PS3_Release/mlaasca'
  Disable SPU MLAA:
    Games:
      "God of War 3 (God of War III)":
        BCES00510: [ 01.03 ]
        BCES00799: [ 01.03 ]
        BCUS98111: [ 01.03 ]
        BCJS37001: [ 01.03 ]
        BCAS25003: [ 01.03 ]
        BCKS15003: [ 01.03 ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nThis patch can be used alongside PPU based patch which allows for resolution scaling." ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_04 ]

SPU-7cd211ff1cbd33163eb0711440dccbb3c1dbcf6c: # SPUNAME: 'z:/export/jenkins/workspace/int6'
  "Disable SPU MLAA - God of War: Ascension":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nGod of War: Ascension" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_05 ]

SPU-1549476fe258150ff9f902229ffaed69a932a9c1: # SPUNAME: 'Z:/output/EURint6/SPUMLAATask/PS'
  "Disable SPU MLAA - God of War: Ascension":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nGod of War: Ascension" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_05 ]

SPU-77ce25dab2a5ca1d96038cc3dc57c50c705ce38c: # SPUNAME: 'Z:/output/USint6/SPUMLAATask/PS3'
  "Disable SPU MLAA - God of War: Ascension":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie, kd-11
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nGod of War: Ascension" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_05 ]

SPU-45f98378f0837fc6821f63576f65d47d10f9bbcb: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - Yakuza 0, Yakuza Kiwami":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nYakuza 0\nYakuza Kiwami" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_06 ]

SPU-82b3399c8e6533ba991eedb0e139bf20c7783bac: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - Twisted Metal":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nTwisted Metal" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_06 ]

SPU-969cf3e9db75f52a6b41074ccbff74106b709854: # SPUNAME: 'objs/release/edgepost-mlaa-task.' # NOTE: has asserts!
  "Disable SPU MLAA - Multiple titles":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nAce Combat: Assault Horizon\nDmC Devil May Cry\nMotorStorm: Apocalypse\nMotorStorm RC\nRed Faction: Armageddon\nSly Cooper: Thieves in Time\n\nExtra note for Sly Cooper: Thieves in Time:\nThis patch can be used alongside PPU based patch which allows for resolution scaling." ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_07 ]

SPU-976d2128f08c362731413b75c934101b76c3d73b: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - LittleBigPlanet 2":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nLittleBigPlanet 2 (early versions)" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_08 ]

SPU-a129a01a270246c85df18eee0e959ef4263b6510: # SPUNAME: 'C:\dev\CW_br2_move_final-output\'
  "Disable SPU MLAA - LittleBigPlanet 2":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nLittleBigPlanet 2 (other early versions)" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_09 ]

SPU-702d0205a89d445d15dc0f96548546c4e2e7a59f: # SPUNAME: 'PS3_Release/edgepost-mlaa-task.s'
  "Disable SPU MLAA - LittleBigPlanet 2, LittleBigPlanet 3":
    Games:
      All:
        All: [ All ]
    Author: Whatcookie
    Notes: [ *SPU_MLAA_Notes, "\n\nKnown to affect:\nLittleBigPlanet 2\nLittleBigPlanet 3" ]
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_10 ]

SPU-191fe1c92c8360992b3240348e70ea37d50812d4: # SPUNAME: 'E:\Alice2\Development\Intermedia'
  "Disable SPU MLAA":
    Games:
      "Alice: Madness Returns":
        BLES01265: [ All ]
        BLUS30607: [ All ]
        NPEB00625: [ All ]
        NPUB30545: [ All ]
    Author: Whatcookie
    Notes: *SPU_MLAA_Notes
    Patch Version: 1.5
    Patch:
      - [ load, *SPU_MLAA_11 ]

More...