Skip to content

ⅩⅠ | Prerequisites for RPCS3 users

Nagato edited this page May 13, 2022 · 32 revisions

This wiki page will detail users on every prerequisite/requirement before accessing Home online for the RPCS3 client.

ℹ️ In order to play PlayStation®Home on RPCS3, you will need to utilize our custom client as we have made critical changes that are not in the core RPCS3 build. Our custom client has implemented new functions in order for online to work as intended for the end-user.

Screenshot_1

RPCS3 QuickStart Page:

ℹ️ As referenced from the official RPCS3 QuickStart page in regards to recommended desktop PC requirements RPCS3 developers have mentioned the following disclaimer "The hardware requirements for running the emulator vary depending on your current configuration. We have listed the minimum and recommended hardware requirements below. For the best experience, users should be running within the recommended requirements. We cannot guarantee the performance of system specifications below the recommended requirements but you're always welcome to experiment.Screenshot_3Screenshot_4
ℹ️ RPCS3 users will need to be whitelisted before accessing our servers. To get whitelisted please join our official discord here for more information.
ℹ️ Users will need to create an RPCN account to access our Home servers as well.

How to install firmware on RPCS3:

ℹ️ This section will detail how to install the latest firmware on RPCS3. As of creating this page 5/13/2022 the latest PlayStation 3 System Software is version 4.89.
MD5 Hash for Version 4.89: 95307e1b51d3bcc33a274db91488d29f

1. 2~do.

How to create your own RPCN Account:

ℹ️ RPCN is an open-source server that emulates P2P match-matching done on the PS3. RPCN can also be used to communicate with private servers for games that require a dedicated server for multi-player features. In this regard, games that require a custom server will not work unless a fan-made private server is created. This information was sourced from the official RPCS3/RPCN wiki.

1. Ensure that you are utilizing our latest RPCS3 custom client for PlayStation®Home.

2. Next, you will need to navigate to the following setting Configuration > RPCN > Account. After being in the RPCN: Configuration window you want to ensure that your Host: value is set to the following address np.rpcs3.net

3. Now for the next process, you will want to create your unique NPID username. For instance, my name is Nagato in this field. Be sure to remember your username.

4. Once you have created your NPID username, you will need to set a unique password for your account. Be sure to remember your custom password because as I am writing this guide there is no method for resetting your password. I recommend documenting your username & password in a safe place.

  • Click Set Password and then type your custom password for your account.

5. After you created your custom password for your account, click Create Account and then you will be prompted to enter your email address. Once you have typed in your email address & press Ok. Next, you should check your email as you should receive your RPCN token.

⚠️ Please be sure to not give out your unique RPCN token as this information is private. From the last image where you see my email, RPCN token request is a fake token, along with a fictitious NPID. This sample is for tutorial/documentation purposes.

6. Lastly, you should copy & paste your RPCN Token in the Token field and then click Save to save your RPCN configuration.

Recommend Configuration Settings for PlayStation Home on RPCS3:

ℹ️ In the next segment, we will focus on how to set all of the necessary/recommend settings to run Home in a stable environment. If you want to know RPCS3's recommended PC specifications to run RPCS3 please refer back to their quick-start guide.

1. The first thing we need to do is open up the Configuration tab and navigate to the following option: Configuration > CPU

2. After the CPU settings are open you will need to set your CPU Configuration as such:

  • PPU Decoder: Recompiler (LLVM)
  • SPU Decoder: Recompiler (LLVM)
  • SPU XFloat Accuracy: Approximate XFloat
  • Additional Settings: Leave unchecked.
  • TSX Instructions: Leave blank.
  • SPU Block Size: Safe
  • Preferred SPU Threads: Auto

After setting your settings as showcased in the image above, be sure to click Apply to save your configuration.

2. After the GPU settings are open you will need to set your CPU Configuration as such:

📢 Note the following GPU settings are just the minimum requirements. If your hardware is more than capable of running above the recommended RPCS3 quick-start settings, you are free to upscale PlayStation®Home, which I highly recommend.
  • Renderer: Vulkan
  • Graphics Device: Select your dedicated GPU | In my case, I will be selecting my Graphic Device as NVIDIA GeForce RTX 3050 Ti Laptop GPU
  • Aspect Ratio: 16:9
  • Framelimit: Auto
  • Anisotropic Filter: Auto
  • Framelimit: Auto
  • Anti-Aliasing: Auto
  • ZCULL Accuracy: Approximate (Fast)
  • Default Resolution: 1280x720 (Recommended)
  • Resolution Scale (Disable Strict Mode): 100% Default
  • Resolution Scale Threshold: 24x24
  • Upscaling: Enable FRS Upscaling
  • RCAS Sharpening Strength: 50% (Default)
  • Shader Mode: Async (multi threaded)
  • Number of Shader Compiler Threads: Auto
  • Additional Settings: Asynchronous Texture Streaming

After setting your settings as showcased in the image above, be sure to click Apply to save your configuration.

3. Next switch to the Audio tab, and set your settings as follows:

  • Audio Out: Cubeb
  • Audio Channels: Downmix to Stereo
  • Audio Settings: Leave the following option unchecked Convert to 16-bit
  • Music Handler: Qt
  • Microphone Type: Disabled
  • Audi Provider: CellAudio
  • Master: 100%
  • Buffering: Enable Buffering| Make sure this option is checked.
  • Audio Buffer Duration: 100 ms
  • Enable Time Stretching: Leave the following option unchecked Enable Time Stretching

4. Next switch to the I/O tab, and set your settings as follows:

After setting your settings as showcased in the image above, be sure to click Apply to save your configuration.
  • Keyboard Handler: Basic
  • Mouse Handler: Basic
  • Move Handler: Null
  • Pad Handler Mode: Single-threaded
  • Camera Input: Unknown
  • Camera Handler: Null
  • Camera: Default
  • Camera Flip: No
  • Buzz! emulated controller: Null (use real Buzzers)
  • DJ Hero emulated turntable: Null
  • Guitar Hero Live emulated guitar: Null

5. Next switch to the System tab, and set your settings as follows:

📢 Note for this setting window, this should be depending on your own preferences. For instance, if you speak another language please choose your native language.
  • Keyboard Handler: English (US)
  • Keyboard Handler: America
  • Keyboard Handler: Enter with cross
  • Disc cache: Leave the following option unchecked Clear cache automatically
  • Keyboard Handler: English keyboard (US standard)
  • Console Time: Set to Now | This will choose the current time & date, which is important since some minigames use the internal timeclock from the PS3.
  • Homebrew: Leave the following option unchecked Enable /host_root/

6. Next switch to the Network tab, and set your settings as follows:

⚠️ The following Network Configuration settings are imperative to set correctly as this is the main method to access the Destination Home Online servers. Additionally, you will need to contact one of the developers to whitelist your RPCN ID before accessing our servers, to get whitelisted please join our Discord here.
  • Network Status: Connected
  • DNS: To be announced.
  • PSN Status: RPCN
  • IP/Hosts switches: Leave this option blank.

7. Next switch to the Advanced tab, and set your settings as follows:

  • Firmware Libraries: Enable | libvdec.sprx (This fixes videos that use to display distorted visuals).

libvdec sprx-video-fixed

PlayStation Home 1.87 Patch for MLAA:

🔃 This section will detail how to patch the retail online client to fix broken textures on RPCS3. You can download the patch here.
Version: 1.2

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-8aaf3d8c1d18650967013d128f848327a91b5fe0:
  Disable MLAA:
    Games:
      "PlayStation: Home":
        NPIA00005: [ 01.87 ]
    Author: "Knight"
    Patch Version: 1.0
    Group: ""
    Notes: ""
    Patch:
      - [ be32, 0x0003bcb0, 0x38000000 ]

PPU-83681f6110d33442329073b72b8dc88a2f677172:
  Unlock FPS:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: Whatcookie, Gibbed
    Notes: *DeS_FPS_Notes
    Patch Version: 2.1
    Patch:
      - [ load, *BLUS30443_FpsUnlock ]
  Disable Dynamic Exposure:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_DDE_Notes
    Patch Version: 1.0.1
    Patch:
      - [ be16, 0x00025edc, 0x981f ]
  Skip Intro Videos:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: GalCiv
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008eef78, 0x38000003 ] # Intro logos skip
      - [ be32, 0x008eef7c, 0x901c0100 ]
  21:9 Aspect Ratio:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_AR_Notes
    Patch Version: 1.0
    Group: AR
    Patch:
      - [ be32, 0x018cefbc, 0x4017b9aa ] # 21:9 aspect ratio
      - [ be32, 0x0190433c, 0x4017b9aa ]
  32:9 Aspect Ratio:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_AR_Notes
    Patch Version: 1.0
    Group: AR
    Patch:
      - [ bef32, 0x018cefbc, 3.5555556 ] # 32:9 aspect ratio
      - [ bef32, 0x0190433c, 3.5555556 ]
  Disable Motion Blur:
    Games:
      "Demon's Souls":
        BLUS30443: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ byte, 0x00217e7c, 0x41 ]

PPU-5446a2645880eefa75f7e374abd6b7818511e2ef:
  Unlock FPS:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: Whatcookie, Gibbed
    Notes: *DeS_FPS_Notes
    Patch Version: 2.1
    Patch:
      - [ load, *BLES00932_FpsUnlock ]
  Disable Dynamic Exposure:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_DDE_Notes
    Patch Version: 1.0.1
    Patch:
      - [ be16, 0x00026ac4, 0x981f ]
  Skip Intro Videos:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: GalCiv
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008f0928, 0x38000003 ] # Intro logos skip
      - [ be32, 0x008f092c, 0x901c0100 ]
  21:9 Aspect Ratio:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_AR_Notes
    Patch Version: 1.0
    Group: AR
    Patch:
      - [ be32, 0x018cf13c, 0x4017b9aa ] # 21:9 aspect ratio
      - [ be32, 0x01904494, 0x4017b9aa ]
  32:9 Aspect Ratio:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: Whatcookie
    Notes: *DeS_AR_Notes
    Patch Version: 1.0
    Group: AR
    Patch:
      - [ bef32, 0x018cf13c, 3.5555556 ] # 32:9 aspect ratio
      - [ bef32, 0x01904494, 3.5555556 ]
  Disable Motion Blur:
    Games:
      "Demon's Souls":
        BLES00932: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ byte, 0x00218d04, 0x41 ]

Anchors:
  kh15_ar_219: &kh15_ar_219
    - [ be32, 0xEB170, 0x3FAAAAAB ] # VERT+ (21.9)
    - [ be32, 0xEB16C, 0x3FC00000 ] # ZOOM+ (21.9)
  
  kh15_60fps: &kh15_60fps
    - [ be32, 0x00036870, 0x38600000 ] # li r3, 0x0
  
  kh15recom_60fps: &kh15recom_60fps
    - [ be32, 0x00012484, 0x38800000 ] # li r4, 0x0

PPU-d626d9832ed48d1ff0d8d97e53a4e23df50cfae6: # kingdom.self
  21:9 Aspect Ratio:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX":
        BLUS31212: [ All ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *kh15_ar_219 ]
  60 FPS:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX":
        BLUS31212: [ All ]
    Author: Esppiral, Michael Pama, illusion
    Notes: May work with JP version with adjustments. May cause double cutscenes audio and/or video.
    Patch Version: 1.0
    Patch:
      - [ load, *kh15_60fps ]

PPU-f259a89a80e02a664ab97c3a175330c2e53810ab: # kingdom.self
  21:9 Aspect Ratio:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX":
        BLES01897: [ All ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *kh15_ar_219 ]
  60 FPS:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX":
        BLES01897: [ All ]
    Author: Esppiral, Michael Pama, illusion
    Notes: May work with JP version with adjustments. May cause double cutscenes audio and/or video.
    Patch Version: 1.0
    Patch:
      - [ load, *kh15_60fps ]

PPU-c994c802bc88352df8d73bc92f8f9a862814e50d: # recom.self
  60 FPS:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX Chain of Memories":
        BLUS31212: [ All ]
    Author: BlaGe, illusion
    Notes: May work with JP version with adjustments.
    Patch Version: 1.0
    Patch:
      - [ load, *kh15recom_60fps ]

PPU-4b0a5d3faf18ac22a12c3dca921f82e0c5170bb6: # recom.self
  60 FPS:
    Games:
      "Kingdom Hearts HD 1.5 ReMIX Chain of Memories":
        BLES01897: [ All ]
    Author: BlaGe, illusion
    Notes: May work with JP version with adjustments.
    Patch Version: 1.0
    Patch:
      - [ load, *kh15recom_60fps ]

PPU-f18bcdcc6d74a25383d72074e1646352ab53e9d2: # kingdom2.self
  60 FPS:
    Games:
      "Kingdom Hearts HD 2.5 ReMIX":
        BLES02070: [ All ]
        BLUS31460: [ All ]
    Author: illusion, BlaGe
    # https://forums.rpcs3.net/user-1272.html
    Notes:  Some stuff moves at 2x and doubles gravity.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00076850, 0x38600000 ] # li r3, 0x0

PPU-6da0d4551c59eb596a1e04a5355e98163badf246: # BBS.self
  60 FPS:
    Games:
      "Kingdom Hearts HD 2.5 ReMIX (Birth By Sleep)":
        BLES02070: [ All ]
        BLUS31460: [ All ]
    Author: illusion, BlaGe
    # https://forums.rpcs3.net/user-1272.html
    Notes:  Some stuff moves at 2x and doubles gravity.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00015aa4, 0x38600000 ] # li r3, 0x0

Anchors:
  DOD3_FPS_Notes: &DOD3_FPS_Notes "Need to also change Vblank frequency to 120Hz for 60FPS or 240Hz 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

  DOD3_Camera_H_Sens_Notes: &DOD3_Camera_H_Sens_Notes "When using the FPS unlock patch the horizontal camera sensitivity gets very low. This patch changes a multiplier so that the horizontal camera sensitivity slider in the game's settings does something meaningful again. The multiplier can be altered in the patch file."
  # Sensitivity formula is "SliderValue * (Multiplier + 1)"
  # Where SliderValue is the setting (0-15) from the game settings and 
  # default Multiplier is 0.125, giving a default range of 0.125 - 2.
  # 0.35 seems good from my testing, feel free to change as you see fit.
  DOD3_Camera_H_Sens_Multiplier: &DOD3_Camera_H_Sens_Multiplier 0.35000000

PPU-2b393f064786e5895d5a576621deb4c9107a8f0b:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLUS31197: [ 01.00 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008edc5c, 0.12500000 ] # 240 max FPS

PPU-f2f7f7ea0444353884bb715152147c3a29f4e790:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLUS31197: [ 01.01 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008edbcc, 0.12500000 ] # 240 max FPS
  Increase Horizontal Camera Sensitivity:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLUS31197: [ 01.01 ]
    Author: RagingCactus
    Notes: *DOD3_Camera_H_Sens_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x0091b69c, *DOD3_Camera_H_Sens_Multiplier]
  Disable low-res Depth-of-Field:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLUS31197: [ 01.01 ]
    Author: emoose
    Patch Version: 1.0
    Patch:
      - [ be32, 0xa5455c, 0x38800000 ] # patch ASqex03GameRender::EnableDOF to override r4 param with 0
  Unprotect game files:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLUS31197: [ 01.01 ]
    Author: emoose
    Notes: "Disables SHA-1 hash checking of the following files: coalesced_int.bin, coalesced_fra.bin, core.xxx, engine.xxx, gfxui.xxx, ipdrv.xxx, gameframework.xxx, onlinesubsystempc.xxx, cdevsounddriver_loc_int.xxx, cdevsounddriver.xxx, sqexsead.xxx, sqex03game.xxx, startup.xxx, cdevsounddriver_loc_fra.xxx"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x8c50b8, 0x30840000 ]

PPU-b18834a8f21cd29a091b287a66656a279ccba507:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPUB31251: [ 01.00 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008ecf2c, 0.12500000 ] # 240 max FPS

PPU-9c04f427625a0064282432e4edfefe9e0956c303:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPUB31251: [ 01.01 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008ececc, 0.12500000 ] # 240 max FPS
  Increase Horizontal Camera Sensitivity:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPUB31251: [ 01.01 ]
    Author: RagingCactus
    Notes: *DOD3_Camera_H_Sens_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x0091a99c, *DOD3_Camera_H_Sens_Multiplier]
  Disable low-res Depth-of-Field:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPUB31251: [ 01.01 ]
    Author: emoose
    Patch Version: 1.0
    Patch:
      - [ be32, 0xa5385c, 0x38800000 ] # patch ASqex03GameRender::EnableDOF to override r4 param with 0
  Unprotect game files:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPUB31251: [ 01.01 ]
    Author: emoose
    Notes: "Disables SHA-1 hash checking of the following files: coalesced_int.bin, coalesced_fra.bin, core.xxx, engine.xxx, gfxui.xxx, ipdrv.xxx, gameframework.xxx, onlinesubsystempc.xxx, cdevsounddriver_loc_int.xxx, cdevsounddriver.xxx, sqexsead.xxx, sqex03game.xxx, startup.xxx, cdevsounddriver_loc_fra.xxx"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x8c4398, 0x30840000 ]

PPU-e1a44e5d3fb03a37f0445e92ed13abce8d6efdd4:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPEB01407: [ All ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008eceec, 0.12500000 ] # 240 max FPS

PPU-60d4a7e2b5efa835e16f51de649c3e3b202e072e:
  Unlock FPS (For Delisted Ver):
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        NPEB01407: [ All ]
    Author: Whatcookie, Asinine
    Notes: Required for old delisted versions of this gameID. There was a silent update to fix DLC issues. Both versions are listed as "01.00", so the patch can't be separated. Need to also change Vblank frequency to 120Hz for 60FPS or 240Hz 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.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x8ECF1C, 0.12500000 ] # 240 max FPS

PPU-a017576369165f3746730724c8ae762ed9bc64d8:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLJM61043: [ 01.00 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00939a14, 0.12500000 ] # 240 max FPS

PPU-c09c496514f6dc591434575b04eb7c003826c11d:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLJM61043: [ 01.04 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008ed62c, 0.12500000 ] # 240 max FPS
  Increase Horizontal Camera Sensitivity:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLJM61043: [ 01.04 ]
    Author: RagingCactus
    Notes: *DOD3_Camera_H_Sens_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x91988c, *DOD3_Camera_H_Sens_Multiplier]
  Disable low-res Depth-of-Field:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLJM61043: [ 01.04 ]
    Author: emoose
    Patch Version: 1.0
    Patch:
      - [ be32, 0xa4e854, 0x38800000 ] # patch ASqex03GameRender::EnableDOF to override r4 param with 0
  Unprotect game files:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BLJM61043: [ 01.04 ]
    Author: emoose
    Notes: "Disables SHA-1 hash checking of the following files: coalesced_int.bin, coalesced_jpn.bin, core.xxx, engine.xxx, gfxui.xxx, ipdrv.xxx, gameframework.xxx, onlinesubsystempc.xxx, cdevsounddriver_loc_int.xxx, cdevsounddriver.xxx, sqexsead.xxx, sqex03game.xxx, startup.xxx, cdevsounddriver_loc_jpn.xxx"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x8c5310, 0x30840000 ]

PPU-5eb979631fbbe531db5d20f0622dca5a8b64090e:
  Unlock FPS:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BCAS20311: [ 01.02 ]
    Author: Whatcookie
    Notes: *DOD3_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008edc5c, 0.12500000 ] # 240 max FPS
  Increase Horizontal Camera Sensitivity:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BCAS20311: [ 01.02 ]
    Author: RagingCactus
    Notes: *DOD3_Camera_H_Sens_Notes
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x91ad64, *DOD3_Camera_H_Sens_Multiplier]
  Disable low-res Depth-of-Field:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BCAS20311: [ 01.02 ]
    Author: emoose
    Patch Version: 1.0
    Patch:
      - [ be32, 0xa5245c, 0x38800000 ] # patch ASqex03GameRender::EnableDOF to override r4 param with 0
  Unprotect game files:
    Games:
      "Drakengard 3 (Drag-On Dragoon 3)":
        BCAS20311: [ 01.02 ]
    Author: emoose
    Notes: "Disables SHA-1 hash checking of the following files: coalesced_int.bin, coalesced_chn.bin, coalesced_cze.bin, coalesced_deu.bin, coalesced_esm.bin, coalesced_esn.bin, coalesced_fra.bin, coalesced_hun.bin, coalesced_ita.bin, coalesced_jpn.bin, coalesced_kor.bin, coalesced_pol.bin, coalesced_ptb.bin, coalesced_rus.bin, coalesced_slo.bin, core.xxx, engine.xxx, gfxui.xxx, ipdrv.xxx, gameframework.xxx, onlinesubsystempc.xxx, cdevsounddriver.xxx, sqexsead.xxx, sqex03game.xxx, startup.xxx"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x8c5178, 0x30840000 ]

PPU-a74423ca913fc18e46cfe926db1d48e41f9858a9:
  21:9 Aspect Ratio:
    Games:
      "LittleBigPlanet 2":
        NPUA80662: [ 01.33 ]
        BCES00850: [ 01.33 ]
    Author: slashiee
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00D9C8EC, 2.37037037 ]

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:
  Unlock FPS:
    Games:
      "Folklore":
        BCUS98147: [ 01.00 ]
    Author: Whatcookie
    Notes: *Folklore_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0181354, 0x60000000 ]

PPU-9b16663fa1aa1dd62c2c6bfee4f333242dde4171:
  Unlock FPS:
    Games:
      "Folklore":
        BCUS98147: [ 01.10 ]
    Author: Whatcookie
    Notes: *Folklore_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x01823c0, 0x60000000 ]

PPU-66404421d1f8ed7dd0b2898e1d015a44bf273bf8:
  Unlock FPS:
    Games:
      "Folklore":
        BCES00050: [ All ]
    Author: Whatcookie
    Notes: *Folklore_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0181118, 0x60000000 ]

Anchors:
  ASURA_FPSnotes: &ASURA_FPSnotes "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."

  ASURA_FPS: &ASURA_FPS
    - [ be32, 0x008bbd04, 0x60000000 ] # nop
    - [ be32, 0x008bbd64, 0x60000000 ] # nop
    - [ be32, 0x008bbd68, 0x60000000 ] # nop

  ASURA_DEV: &ASURA_DEV
    - [ be32, 0x014D69EC, 0x38600000 ] # li r3, 0
    - [ be32, 0x01166744, 0x38600001 ] # li r3, 1
    - [ be32, 0x0167E460, 0x00500053 ] # ren string "BCGTOC.ini" to "PS3TOC.txt"
    - [ be32, 0x0167E464, 0x00330054 ]
    - [ be32, 0x0167E468, 0x004F0043 ]
    - [ be32, 0x0167E46C, 0x002E0054 ]
    - [ be32, 0x0167E470, 0x00580054 ]

  ASURA_AO: &ASURA_AO
    - [ be32, 0x00686DCC, 0x38600000 ] # li r3, 0

  ASURA_BLOOM: &ASURA_BLOOM
    - [ be32, 0x0011AE5C, 0x38C00000 ] # li r6, 0
    - [ be32, 0x003BA264, 0x38C00000 ] # li r6, 0

  ASURA_MB: &ASURA_MB
    - [ be32, 0x0067a908, 0x60000000 ] # nop - disables radial blur
    - [ be32, 0x0067a940, 0x38600000 ] # li r3, 0 - disables camera-based blur

  ASURA_DoF: &ASURA_DoF
    - [ be32, 0x0031CB10, 0x38A00000 ] # li r5, 0
    - [ be32, 0x0011AE68, 0x38A00000 ] # li r5, 0
    - [ be32, 0x003BA270, 0x38A00000 ] # li r5, 0

PPU-83096111daff850cc92b637aec1780c4079e1c58:
  Unlock FPS:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: Whatcookie
    Notes: *ASURA_FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_FPS ]
  Developer Menu:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: dron_3
    Notes: Press D-pad Left at any time to access the Developer Menu
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_DEV ]
  Disable Ambient Occlusion:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_AO ]
  Disable Bloom:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_BLOOM ]
  Disable Depth of Field:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_DoF ]
  Disable Motion Blur:
    Games:
      "Asura's Wrath":
        BLUS30721: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_MB ]

PPU-69f53b470d81ea961c1c2ff264ade6ab8077d2a1:
  Unlock FPS:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: Whatcookie, Mew21
    Notes: *ASURA_FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_FPS ]
  Developer Menu:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: dron_3
    Notes: Press D-pad Left at any time to access the Developer Menu
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_DEV ]
  Disable Ambient Occlusion:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_AO ]
  Disable Bloom:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_BLOOM ]
  Disable Depth of Field:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_DoF ]
  Disable Motion Blur:
    Games:
      "Asura's Wrath":
        BLES01227: [ All ]
    Author: boma
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ASURA_MB ]

Anchors:
  JoJoEoH_FPS: &JoJoEoH_FPS
    - [ bef32, 0x0236FEF0, 0.5 ] # Match timer rate
    - [ bef32, 0x02370360, 0.5 ]
    - [ bef32, 0x023AED1C, 0.5 ]

PPU-18cf9a4e8196684ed9ee816f82649561fd1bf182:
  60 FPS:
    Games:
      "JoJo's Bizarre Adventure: Eyes of Heaven":
        BLJS10318: [ 01.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 120Hz 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 ]

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:
  60 FPS:
    Games:
      "JoJo's Bizarre Adventure: All Star Battle":
        BLUS31405: [ All ]
        NPUB31391: [ All ]
    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 120Hz 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 ]

Anchors:
  LC_FPS: &LC_FPS
    - [ be32, 0x00932f2c, 0x60000000 ]
    - [ be32, 0x00932f8c, 0x60000000 ]
    - [ be32, 0x00932f90, 0x60000000 ]

  LC_PPX: &LC_PPX
    - [ be32, 0x006F6E2C, 0x38800000 ]
    - [ be32, 0x006F9244, 0x60000000 ]
    - [ be32, 0x006FBBDC, 0x38A00000 ]
    - [ be32, 0x006F9784, 0x38A00000 ]

PPU-df6f6701742921b9cbb2554983bb4568aae8d659:
  Unlock FPS:
    Games:
      "Lollipop Chainsaw":
        BLUS30917: [ All ]
    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 ]
  Disable Image Grain:
    Games:
      "Lollipop Chainsaw":
        BLUS30917: [ All ]
    Author: boma
    Notes: Prevents post-processing render pass from loading EnginePostProcessVolume class properties. This cleans up the image, reducing overall noise by disabling film grain, DoF, and vignette. Other post-processing is unaffected.
    Patch Version: 1.0
    Patch:
      - [ load, *LC_PPX ]

PPU-6f69ee207208d55faacb75a3aac6a9ce2aa290b7:
  Unlock FPS:
    Games:
      "Lollipop Chainsaw":
        BLES01525: [ All ]
    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 ]
  Disable Image Grain:
    Games:
      "Lollipop Chainsaw":
        BLES01525: [ All ]
    Author: boma
    Notes: Prevents post-processing render pass from loading EnginePostProcessVolume class properties. This cleans up the image, reducing overall noise by disabling film grain, DoF, and vignette. Other post-processing is unaffected.
    Patch Version: 1.0
    Patch:
      - [ load, *LC_PPX ]

PPU-5295c6de0b3fd1b48517255ce710002c174b18f5:
  "Disable Color Correction":
    Games:
      "Need for Speed: Carbon":
        BLUS30016: [ 01.00 ]
  # Author: Unknown
    Patch Version: 1.0
    Patch:
      - [ byte, 0x004E8B9B, 0 ]
  "Enable Car Debug":
    Games:
      "Need for Speed: Carbon":
        BLUS30016: [ 01.00 ]
  # Author: Unknown
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00663680, 0x60000000 ]

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:
  Unlock FPS:
    Games:
      "NieR (Nier Replicant)":
        BLUS30481: [ All ]
        BLES00826: [ All ]
    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:
    Games:
      "NieR (Nier Replicant)":
        BLUS30481: [ All ]
        BLES00826: [ All ]
    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:
  Unlock FPS:
    Games:
      "NieR (Nier Replicant)":
        BLJM60223: [ All ]
    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 ]

Anchors:
  DS2_USEU_Net: &DS2_USEU_Net
    - [be32, 0x019A8C00, 0x01A43068]
    - [be32, 0x019A8C04, 0x01A43060]
    - [be32, 0x019A8C08, 0x01A42F18]
    - [be32, 0x019A8C0C, 0x01A42F10]
    - [be32, 0x019A8C10, 0x01A42FB8]
    - [be32, 0x019A8C14, 0x01A42B60]
    - [be32, 0x019A8C18, 0x01A42EC0]
  
  DS2_JP_Net: &DS2_JP_Net
    - [be32, 0x01998B00, 0x01A32EC8]
    - [be32, 0x01998B04, 0x01A32EC0]
    - [be32, 0x01998B08, 0x01A32D78]
    - [be32, 0x01998B0C, 0x01A32D70]
    - [be32, 0x01998B10, 0x01A32E18]
    - [be32, 0x01998B14, 0x01A329C8]
    - [be32, 0x01998B18, 0x01A32D20]

PPU-4909c02cae0f37fab78a5642a3e9ba9aff45b5b0:
  Bypass Network Requirement:
    Games:
      "Dark Souls II":
        BLET50006: [ All ]
    Author: DriftItem
    Notes: "Fully restores the functionality of network test client."
    Patch Version: 1.0
    Patch:
      - [ load, *DS2_USEU_Net ]

PPU-377ee65d27e19d824b8d4700b86b3f18fb787fb3:
  Bypass Network Requirement:
    Games:
      "Dark Souls II":
        NPUB90979: [ All ]
    Author: DriftItem
    Notes: "Fully restores the functionality of network test client."
    Patch Version: 1.0
    Patch:
      - [ load, *DS2_USEU_Net ]

PPU-c0a65507d3e05da170b8dbde0729ce7ee40ef906:
  Bypass Network Requirement:
    Games:
      "Dark Souls II":
        NPJB90625: [ All ]
    Author: DriftItem
    Notes: "Fully restores the functionality of network test client."
    Patch Version: 1.0
    Patch:
      - [ load, *DS2_JP_Net ]

PPU-97355e97c701cea87a0ed08bce085cac4949dade:
  Unlock FPS:
    Games:
      "Army of TWO: The 40th Day":
        BLUS30408: [ 01.00 ]
        BLES00659: [ 01.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:
  Unlock FPS:
    Games:
      "Army of TWO: The 40th Day":
        BLUS30408: [ 01.03 ]
        BLES00659: [ 01.02 ]
    Author: Whatcookie
    Notes: Maximum framerate with the patch is half the Vblank frequency.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x003cc00c, 0x60000000 ]
      - [ be32, 0x003cc070, 0x60000000 ]
      - [ be32, 0x003cc080, 0x60000000 ]

PPU-93aed31e80e0a91e11fdcff1b83d42c235bc3548:
  60 FPS Patch:
    Games:
      "Dragon Ball Z: Burst Limit":
        BLUS30117: [ All ]
    Author: illusion, ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ byte, 0x004c4383, 1 ]          #60 fps
      - [ be32, 0x00162228, 0x60000000 ] #No reset
      - [ be32, 0x001633e8, 0x60000000 ] #Pause fix

PPU-49aef7eecc248bf85af210bdca336bce8c9272e4:
  60 FPS Patch:
    Games:
      "Dragon Ball Z: Burst Limit":
        BLES00231: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ byte, 0x004c4383, 1 ]          #60 fps
      - [ be32, 0x001622dc, 0x60000000 ] #No reset
      - [ be32, 0x0016349c, 0x60000000 ] #Pause fix

PPU-376469bd27d45a617b6d086894c07e4a00f86fde:
  21:9 Aspect Ratio:
    Games:
      "Skate 3":
        BLUS30464: [ 01.05 ]
        BLES00760: [ 01.05 ]
    Author: tuukkas
    Notes: Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work. HUD will be stretched.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x01840636, 0xC4504003 ]
  60 FPS:
    Games:
      "Skate 3":
        BLUS30464: [ 01.05 ]
        BLES00760: [ 01.05 ]
    Author: illusion
    Notes: Force 60 FPS in all modes.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00947138, 0x38A00000 ]
  Moon Gravity:
    Games:
      "Skate 3":
        BLUS30464: [ 01.05 ]
        BLES00760: [ 01.05 ]
    Author: Aphelion
    Notes: Being airborne for too long will cause you to respawn.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x0184FFB4, -60 ]
      - [ bef32, 0x0194FE64, -60 ]
      - [ bef32, 0x01857678, 120 ]
      - [ bef32, 0x01858198, 120 ]
  No Fall Damage:
    Games:
      "Skate 3":
        BLUS30464: [ 01.05 ]
        BLES00760: [ 01.05 ]
    Author: Aphelion
    Notes: Only works while you're on your board. Jumping from the most extreme heights may still trigger bails because your character folds up and hits their limbs on the ground, so the game thinks you skated into something at high speed.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00D69588, 0xC80B13FC ]

Anchors:
  gow3resnotes: &gow3resnotes "Allows for the use of Resolution Scaling in the title.\nSet Resolution Scale Threshold to 1x1 or some effects will break.\n2.0 Slightly improves performance when using resolution scaling in some cases."

  gow3speedhack: &gow3speedhack "Significantly improves performance, changes visuals for Army of Sparta special attack and some lighting changes, generally only on magic sources."

  gow3bloom: &gow3bloom "Disables some (not all) bloom effects."

  gow3fog: &gow3fog "Significantly improves performance in some cases, some distant places may look too clear cause of removing Layered fog effect. The patch is good as an alternative for Color Grading patch"

  gow3camerasway: &gow3camerasway "Stops the ingame camera from swaying and shaking"

  gow3skipintro: &gow3skipintro "Skips SCE intros up to the first video.\n2.0 Skips now first two intro videos"

  gow3-100-title: &gow3-100-title
      "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 ]

  gow3-103-title: &gow3-103-title
      "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 ]

PPU-19724fde16a5b111b7b4d2a065f5dccaf8e01962: #God of War 3 1.03
  "Unlock FPS":
    Games: *gow3-103-title
    Author: ZEROx, illusion
    Notes: "Unlocks internal timestep calculation, Increase vblank to match your desired framerate.\nThis patch also fixes IGC timing issues at 60FPS and above."
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00528560, 1000 ]
      - [ bef32, 0x005284b8, 50000 ] # min fps of 2
      - [ be16, 0x000c7b0a, 0xccc8 ] # chainswing fix
      - [ be16, 0x000ea0fe, 0xccc8 ] # water freeze fix
  "Skip any videos with X button":
    Games: *gow3-103-title
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0026fe14, 0x901f ]
  Disable MLAA:
    Games: *gow3-103-title
    Author: illusion, ZEROx
    Notes: *gow3resnotes
    Patch Version: 3.0
    Patch:
      - [ be32, 0x0052bf2c, 0x00000000 ]
      - [ be32, 0x0023137c, 0x60000000 ]
  Disable Depth of Field:
    Games: *gow3-103-title
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001c14ac, 0x38000000 ]
  Disable Motion Blur:
    Games: *gow3-103-title
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001c57e4, 0x38000000 ]
  Disable Color Grading (Speedboost):
    Games: *gow3-103-title
    Author: illusion
    Notes: *gow3speedhack
    Patch Version: 1.0
    Patch:
      - [ byte, 0x52BDA3, 0 ]
  Disable Layered Fog(Speedboost):
    Games: *gow3-103-title
    Author: ZEROx
    Notes: *gow3fog
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00296a90, 0x38000000 ] #Disable Layered fog
      - [ be32, 0x00296bd4, 0x38000000 ] #On pause
  Disable Bloom:
    Games: *gow3-103-title
    Author: illusion
    Notes: *gow3bloom
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00231288, 0x60000000 ]
  Disable Camera Sway:
    Games: *gow3-103-title
    Author: ZEROx
    Notes: *gow3camerasway
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0015d29c, 0x38000000 ]
  Skip intro:
    Games: *gow3-103-title
    Author: illusion, ZEROx
    Notes: *gow3skipintro
    Patch Version: 2.0
    Patch:
      - [ byte, 0x00588e50, 0x1 ]        # Skip SCEA logos
      - [ be32, 0x002712b4, 0x4816ce9d ] # bl 0x003de150
      - [ be32, 0x003de150, 0x7d4802a6 ] # mfspr r10,LR
      - [ be32, 0x003de154, 0x3d200055 ] # lis r9,0x55
      - [ be32, 0x003de158, 0x8009fcc5 ] # lwz r0,-0x33b(r9)
      - [ be32, 0x003de15c, 0x3d206f00 ] # lis r9,0x6f00
      - [ be32, 0x003de160, 0x7f804800 ] # cmpw cr7,r0,r9
      - [ be32, 0x003de164, 0x419e001c ] # beq cr7,0x003de180
      - [ be32, 0x003de168, 0x3d206e67 ] # lis r9,0x6e67
      - [ be32, 0x003de16c, 0x39294372 ] # addi r9,r9,0x4372
      - [ be32, 0x003de170, 0x7f804800 ] # cmpw cr7,r0,r9
      - [ be32, 0x003de174, 0x419e000c ] # beq cr7,0x003de180
      - [ be32, 0x003de178, 0x801b0f5c ] # lwz r0,0xf5c(r27) // original
      - [ be32, 0x003de17c, 0x4800000c ] # b 0x003de188
      - [ be32, 0x003de180, 0x394a0020 ] # addi r10,r10,0x20 // branch to skip video function
      - [ be32, 0x003de184, 0x7d4803a6 ] # mtspr LR,r10
      - [ be32, 0x003de188, 0x4e800020 ] # blr

PPU-4d5c51503a81a327c2a99427390a395b8dcb3767: #God of War 3 1.00
  "Unlock FPS":
    Games: *gow3-100-title
    Author: ZEROx, illusion
    Notes: "Unlocks internal timestep calculation, Increase vblank to match your desired framerate.\nThis patch also fixes IGC timing issues at 60FPS and above."
    Patch Version: 2.0
    Patch:
      - [ bef32, 0x00528560, 1000 ]
      - [ bef32, 0x005284b8, 100000 ]
      - [ be32, 0x0026b528, 0x60000000 ] #don't write to target fps
      - [ bef32, 0x0052bee4, 60.0 ] #target fps # read max of 60 for physics stuff
      - [ be16, 0x0026b6e6, 0xe7a8 ] #1000.0f sync stuff
      - [ be16, 0x0026b74a, 0xe7a8 ] #1000.0f sync stuff
      - [ be16, 0x0026b75e, 0xe7a8 ] #1000.0f sync stuff
      - [ be16, 0x001e51b6, 0xe7a8 ] #1000.0f gameplay speed scaling
      - [ be16, 0x002710f6, 0xe7a8 ] #1000.0f video player speed scaling
  "Skip any videos with X button":
    Games: *gow3-100-title
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0026fd18, 0x901f ]
  Disable MLAA:
    Games: *gow3-100-title
    Author: illusion, ZEROx
    Notes: *gow3resnotes
    Patch Version: 3.0
    Patch:
      - [ byte, 0x52BF2F, 0 ]
      - [ be32, 0x00231248, 0x60000000 ]
  Disable Depth of Field:
    Games: *gow3-100-title
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001c13c8, 0x38000000 ]
  Disable Motion Blur:
    Games: *gow3-100-title
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001c5700, 0x38000000 ]
  Disable Color Grading (Speedboost):
    Games: *gow3-100-title
    Author: illusion
    Notes: *gow3speedhack
    Patch Version: 1.0
    Patch:
      - [ byte, 0x52BDA3, 0 ]
  Disable Layered Fog(Speedboost):
    Games: *gow3-100-title
    Author: ZEROx
    Notes: *gow3fog
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00296994, 0x38000000 ] #Disable Layered fog
      - [ be32, 0x00296ad8, 0x38000000 ] #On pause
  Disable Bloom:
    Games: *gow3-100-title
    Author: illusion
    Notes: *gow3bloom
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00231288, 0x60000000 ]
  Disable Camera sway:
    Games: *gow3-100-title
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0015d1b8, 0x38000000 ] #Camera sway
  Skip intro:
    Games: *gow3-100-title
    Author: illusion
    Notes: *gow3skipintro
    Patch Version: 1.0
    Patch:
      - [ be16, 0x001e5468, 0x4800 ]

Anchors:
  Y1HD_ModSupport: &Y1HD_ModSupport
    - [ byte, 0x0031BF33, 0x58 ]
    - [ be16, 0x0031BF42, 0x3290 ] # off_583290
    - [ byte, 0x0031BFE3, 0x03 ]

    - [ byte, 0x0031C10F, 0x58 ]
    - [ be16, 0x0031C11E, 0x3290 ] # off_583290
    - [ byte, 0x0031C1BF, 0x03 ]

    - [ be32, 0x00583264, 0x315F4D6F ] # "Ogre1_Mod.cpk"
    - [ be32, 0x00583268, 0x642E6370 ]
    - [ be32, 0x0058326C, 0x6B000000 ]

    - [ be32, 0x00583274, 0x315F4469 ] # "Ogre1_Disc.cpk"
    - [ be32, 0x00583278, 0x73632E63 ]

    - [ be32, 0x00583280, 0x4F677265 ] # "Ogre1_Inst.cpk"
    - [ be32, 0x00583284, 0x315F496E ]
    - [ be32, 0x00583288, 0x73742E63 ]
    - [ be32, 0x0058328C, 0x706B0000 ]

    - [ be32, 0x00583290, 0x00583260 ] # aOgre1ModCpk
    - [ be32, 0x00583294, 0x00583270 ] # aOgre1DiscCpk
    - [ be32, 0x00583298, 0x00583280 ] # aOgre1InstCpk
  Y2HD_ModSupport: &Y2HD_ModSupport
    - [ byte, 0x003CFE63, 0x61 ]
    - [ be16, 0x003CFE72, 0x78A0 ] # off_6178A0
    - [ byte, 0x003CFF13, 0x03 ]

    - [ byte, 0x003D003F, 0x61 ]
    - [ be16, 0x003D004E, 0x78A0 ] # off_6178A0
    - [ byte, 0x003D00EF, 0x03 ]

    - [ be32, 0x00617874, 0x325F4D6F ] # "Ogre2_Mod.cpk"
    - [ be32, 0x00617878, 0x642E6370 ]
    - [ be32, 0x0061787C, 0x6B000000 ]

    - [ be32, 0x00617884, 0x325F4469 ] # "Ogre2_Disc.cpk"
    - [ be32, 0x00617888, 0x73632E63 ]

    - [ be32, 0x00617890, 0x4F677265 ] # "Ogre2_Inst.cpk"
    - [ be32, 0x00617894, 0x325F496E ]
    - [ be32, 0x00617898, 0x73742E63 ]
    - [ be32, 0x0061789C, 0x706B0000 ]

    - [ be32, 0x006178A0, 0x00617870 ] # aOgre2ModCpk
    - [ be32, 0x006178A4, 0x00617880 ] # aOgre2DiscCpk
    - [ be32, 0x006178A8, 0x00617890 ] # aOgre2InstCpk

PPU-ad0efb73ebfdb68d6abf04a20a9a225f5d9fa0c7: # OGRE1.self
  Mod Support:
    Games:
      "Yakuza HD":
        NPJB00280: [ 01.01 ]
    Author: lipsum
    Notes: File replacement via Ogre1_Mod.cpk file
    Patch Version: 1.0
    Patch:
      - [ load, *Y1HD_ModSupport ]

PPU-0604e637a841bdd85ac770d76281bdca18ac61f4: # OGRE2.self
  Mod Support:
    Games:
      "Yakuza 2 HD":
        NPJB00280: [ 01.01 ]
    Author: lipsum
    Notes: File replacement via Ogre2_Mod.cpk file
    Patch Version: 1.0
    Patch:
      - [ load, *Y2HD_ModSupport ]

PPU-227161a77f7e40eed0ad08ecfd1133a10eca2854:
  Enable Deltatime:
    Games:
      "Midnight Club: Los Angeles":
        NPEB00546: [ 01.00 ]
        NPUB30471: [ 01.00 ]
    Author: illusion
    Notes: "Runs at any FPS with proper game speed. Increase VBlank for 30+ FPS."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004c5220, 0x60000000 ]
      - [ be32, 0x004c5240, 0x48000084 ]
      - [ be32, 0x004c3f0c, 0x386003e8 ]
  Disable Motion Blur:
    Games:
      "Midnight Club: Los Angeles":
        NPEB00546: [ 01.00 ]
        NPUB30471: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0050f9d8, 0x38600000 ]
  Skip Intro:
    Games:
      "Midnight Club: Los Angeles":
        NPEB00546: [ 01.00 ]
        NPUB30471: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x002b2410, 0x48000038 ]

PPU-d5041972c3464b734ed27f0b94b505a2a14471c8:
  Unlock FPS:
    Games:
      "Grand Theft Auto IV (Grand Theft Auto 4)":
        BLUS30127: [ 01.08 ]
        NPUB30702: [ 01.08 ]
    Author: Zolika1351
    Notes: Set Framelimit to 60FPS otherwise loading screen layers will go too fast.
    Patch Version: 1.0
    Patch:
      - [ be32, 0xF18830, 0x00000000 ]

PPU-a2c90aafce24744d5ac6da8ad009ce301458c8a7:
  Unlock FPS:
    Games:
      "Grand Theft Auto IV (Grand Theft Auto 4)":
        BLES00229: [ 01.08 ]
        NPEB00882: [ 01.09 ]
    Author: Zolika1351, illusion
    Notes: Set Framelimit to 60FPS otherwise loading screen layers will go too fast.
    Patch Version: 1.0
    Patch:
      - [ be32, 0xF18840, 0x00000000 ]

PPU-8a18a0314cade28526874128b253acd98863b83d:
  21:9 Aspect Ratio:
    Games:
      "Red Dead Redemption":
        NPUB30638: [ 01.00 ]
        NPEB00833: [ 01.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
  32:9 Aspect Ratio:
    Games:
      "Red Dead Redemption":
        NPUB30638: [ 01.00 ]
        NPEB00833: [ 01.00 ]
    Author: Victoria
    Notes: Users need to enable the "Stretch to Display Area" option in GPU settings.
    Patch Version: 1.2
    Patch:
      - [ be32, 0x474F24, 0x40638E22 ] # 32.9 Aspect Ratio
      - [ be32, 0x954B8, 0x40638E22 ] # 32.9 HUD fix for 32.9 AR
  Disable Motion Blur:
    Games:
      "Red Dead Redemption":
        NPUB30638: [ 01.00 ]
        NPEB00833: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ byte, 0x004CBB1B, 0 ]
  Unlock FPS:
    Games:
      "Red Dead Redemption":
        NPUB30638: [ 01.00 ]
        NPEB00833: [ 01.00 ]
    Author: Whatcookie
    Notes: Allows the framerate to exceed 65 (still need to set vblank to unlock framerate)
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0025ed14, 0x386003e8 ] # li  r3, 3e8
  Intro Skip:
    Games:
      "Red Dead Redemption":
        NPUB30638: [ 01.00 ]
        NPEB00833: [ 01.00 ]
    Author: "illusion, ZEROx"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00457ff0, 0x480001a0 ]

PPU-cb1117efb6af95a8ea5bdcc64b9704ea28c07399:
  "Unlock FPS":
    Games:
      "Red Dead Redemption":
        BLES01294: [ 01.00 ]
    Author: "Whatcookie, illusion"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0025f98c, 0x386003e8 ]
  "Skip Intro":
    Games:
      "Red Dead Redemption":
        BLES01294: [ 01.00 ]
    Author: "illusion"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00458300, 0x480001a0 ] # b 0x004584a0 // intro
  "Disable Motion Blur":
    Games:
      "Red Dead Redemption":
        BLES01294: [ 01.00 ]
    Author: "illusion"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004cc078, 0x38600000 ] # li r3,0x0 // mb

PPU-90a087f8c40920044c59fa402edf9e416cdd9187:
  Infinite Ammo:
    Games:
      "Red Dead Redemption":
        BLUS30418: [ 01.00 ]
        BLES00680: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001DBB98, 0x60000000 ]
  Infinite Horse Energy:
    Games:
      "Red Dead Redemption":
        BLUS30418: [ 01.00 ]
        BLES00680: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00930E48, 0x60000000 ]
  Skip Intro:
    Games:
      "Red Dead Redemption":
        BLUS30418: [ 01.00 ]
        BLES00680: [ 01.00 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00444de0, 0x480001a0 ]

Anchors:
  62fpsnotes: &62fpsnotes "Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 62FPS."

  MirrorsEdgeUnlockFPSDisc: &MirrorsEdgeUnlockFPSDisc
    - [ be32, 0x00EAA348, 0x60000000 ]
  MirrorsEdgeUnlockFPSPSN: &MirrorsEdgeUnlockFPSPSN
    - [ be32, 0x00EAA6D0, 0x60000000 ]

PPU-11db6db9c4edc67887b09aa7ec83b18f27adf9a3:
  Unlock FPS:
    Games:
      "Mirror's Edge":
        BLES00322: [ 01.01 ]
    Author: illusion
    Notes: [ "Last modified: 27 September 2020\n\n", *62fpsnotes ]
    Patch Version: 1.0
    Patch:
      - [ load, *MirrorsEdgeUnlockFPSDisc ]
PPU-95323989be16af11f04a017518802d090bc3eb47:
  Unlock FPS:
    Games:
      "Mirror's Edge":
        BLUS30179: [ 01.01 ]
    Author: illusion
    Notes: [ "Last modified: 27 September 2020\n\n", *62fpsnotes ]
    Patch Version: 1.0
    Patch:
      - [ load, *MirrorsEdgeUnlockFPSDisc ]

PPU-e8a0506d192495504c7f954ce9430e8ba1416c64:
  Unlock FPS:
    Games:
      "Mirror's Edge":
        NPUB30838: [ 01.01 ]
    Author: illusion
    Notes: [ "Last modified: 30 November 2020\n\n", *62fpsnotes ]
    Patch Version: 1.0
    Patch:
      - [ load, *MirrorsEdgeUnlockFPSPSN ]
PPU-19449ce904fff4a8b8f610b60461481f8a8bbd7b:
  Unlock FPS:
    Games:
      "Mirror's Edge":
        NPEB00052: [ 01.01 ]
    Author: illusion
    Notes: [ "Last modified: 30 November 2020\n\n", *62fpsnotes ]
    Patch Version: 1.0
    Patch:
      - [ load, *MirrorsEdgeUnlockFPSPSN ]

PPU-51eaefa466f3e26a4108f825e9b0856ee079aa2b:
  "60 FPS":
    Games:
      "Grand Theft Auto V":
        NPUB31154: [ 01.00 ]
        BLUS31156: [ 01.00 ]
    Author: "illusion"
    Patch Version: 1.0
    Notes: "Max FPS is half vblank rate"
    Patch:
      - [ be16, 0x0043b7dc, 0x4800 ]
  "Skip Intro Video":
    Games:
      "Grand Theft Auto V":
        NPUB31154: [ 01.00 ]
        BLUS31156: [ 01.00 ]
    Author: "illusion"
    Patch Version: 1.0
    Patch:
      - [ byte, 0x01698260, 0x0 ]

PPU-c14042df6304d3e420a9917e6f8e5fc05cc38b4c:
  Infinite Ammo:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: Bungholio
    Notes:
    Patch Version: 1.2
    Patch:
      - [ be32, 0x00465E5C, 0xD03D0008 ]
  Infinite Health:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x002470E4, 0x9FC30004 ]
  Infinite Bolts:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: Bungholio
    Notes: 
    Patch Version: 1.2
    Patch:  
      - [ be32, 0x0023D834, 0x90CB041C ]
  Infinite Raritanium:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: Bungholio
    Notes:
    Patch Version: 1.2
    Patch:  
      - [ be32, 0x0023D864, 0x90CB0420 ]
  Instagib Mode:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: Aphelion
    Notes: "Everything dies in one hit"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000BDD44, 0xD27C0004 ]
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCUS98127: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x8AA558, 0.001 ] # max fps

PPU-c4e26433d1eed9166eb0c67b6f66b2268f3704e2:
  Infinite Ammo:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: Bungholio
    Notes:
    Patch Version: 1.2
    Patch:
      - [ be32, 0x00465C04, 0xD03D0008 ]
  Infinite Health:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x002470B4, 0x9FC30004 ]
  Infinite Bolts:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: Bungholio
    Notes: 
    Patch Version: 1.2
    Patch:  
      - [ be32, 0x0023D804, 0x90CB041C ]
  Infinite Raritanium:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: Bungholio
    Notes:
    Patch Version: 1.2
    Patch:  
      - [ be32, 0x0023D834, 0x90CB0420 ]
  Instagib Mode:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: Aphelion
    Notes: "Everything dies in one hit"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000BDD14, 0xD27C0004 ]
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        BCES00052: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x8AA558, 0.001 ]

PPU-16506d9d5bf692d615645accd24bca1ee1f8f9a6:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Tools of Destruction":
        NPUA80965: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x008c68e0, 0.001 ]

PPU-f07f7086588a4ea86a28bd768f0cbe710f5b813b:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Quest for Booty":
        BCES00301: [ All ]
        NPEA00088: [ All ]
        NPEA00106: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x855048, 0.001 ]
  Infinite Ammo:
    Games:
      "Ratchet & Clank Future: Quest for Booty":
        BCES00301: [ All ]
        NPEA00088: [ All ]
        NPEA00106: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0034E658, 0xD03D0008 ]

PPU-1d9e99e1f091cfbdf1714d04e690d9cd816e2971:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Quest for Booty":
        NPUA80145: [ All ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00855040, 0.001 ]

PPU-0997e35d2b6738f5cecfda1d76380acca0828365:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: A Crack In Time":
        BCUS98124: [ 01.00 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00CA2448, 0.001 ] # max fps
      - [ bef32, 0x00CA40B8, 0.001 ] # min gamespeed
      - [ bef32, 0x00C942FC, 0.001 ] # min gamespeed
  Infinite Ammo:
    Games:
      "Ratchet & Clank Future: A Crack In Time":
        BCUS98124: [ 01.00 ]
    Author: bungholio
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00467A48 , 0xD03D0008 ]

PPU-2811d9292fb4a664f9cf9050dabbe0cae6fd6a44:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: A Crack In Time":
        BCUS98124: [ 01.20 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00CA2398, 0.001 ] # max fps
      - [ bef32, 0x00CA4008, 0.001 ] # min gamespeed
      - [ bef32, 0x00C941FC, 0.001 ] # min gamespeed
  Infinite Ammo:
    Games:
      "Ratchet & Clank Future: A Crack In Time":
        BCUS98124: [ 01.20 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00467D90 , 0xD03D0008 ]

PPU-139ccf98a8417bd91a222f3d61d6de0860b8c436:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: A Crack In Time":
        NPUA80966: [ 01.20 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00ca2370, 0.001 ] # max fps
      - [ bef32, 0x00ca3fe0, 0.001 ] # min gamespeed
      - [ bef32, 0x00c9420c, 0.001 ] # min gamespeed

PPU-1155df736bedc95424c866d84a20766a4115774d:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Into the Nexus":
        NPUA80908: [ 01.00 ]
    Author: illusion
    Notes: Maximum framerate with the patch is half the Vblank frequency.
    Patch Version: 1.0
    Patch:
      - [ be16,  0x0032efc2, 0x3A83 ] # level load (low bits)
      - [ be16,  0x0032efce, 0x126F ] # level load (high bits)
      - [ bef64, 0x0069fdb8, 0.001  ] # init/level load

PPU-ed460e668a491f5e39f6547f3a24c2f20e2cb39b:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Into the Nexus":
        BCES01908: [ 01.00 ]
        BCES01949: [ 01.00 ]
    Author: illusion
    Notes: Maximum framerate with the patch is half the Vblank frequency.
    Patch Version: 1.0
    Patch:
      - [ be16,  0x0032F002, 0x3A83 ] # level load (low bits)
      - [ be16,  0x0032F00E, 0x126F ] # level load (high bits)
      - [ bef64, 0x0069FDB8, 0.001  ] # init/level load

PPU-ba38ef01095996cc1c1ce19b7e8ad0ac31576931:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: All 4 One":
        NPUA80695: [ 01.00 ]
    Author: illusion
    Notes: Maximum framerate with the patch is half the Vblank frequency.
    Patch Version: 1.0
    Patch:
      - [ be16,  0x0031105a, 0x3A83 ] # level load (low bits)
      - [ be16,  0x00311066, 0x126F ] # level load (high bits)
      - [ bef64, 0x0072c140, 0.001  ] # init/level load

Anchors:
  gowamlaanotes: &gowamlaanotes "Allows for the use of Resolution Scaling in the title.\n\nSet Resolution Scale Threshold to 1x1 for proper scaling of effects."

PPU-3a63ecc6e9b81a984d2fe0a481febc3e26b57810: # GOWA.SELF 1.04
  Disable MLAA:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.04 ]
        BCES01742: [ 01.04 ]
        BCUS98232: [ 01.04 ]
        NPEA00445: [ 01.04 ]
        NPUA80918: [ 01.04 ]
    Author: illusion, ZEROx
    Notes: *gowamlaanotes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x83CE77, 0 ]
      - [ be32, 0x00390724, 0x60000000 ]
      - [ be32, 0x00390754, 0x60000000 ]
  Disable Depth of Field:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.04 ]
        BCES01742: [ 01.04 ]
        BCUS98232: [ 01.04 ]
        NPEA00445: [ 01.04 ]
        NPUA80918: [ 01.04 ]
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004342bc, 0x38a00000 ]
  Disable Motion Blur:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.04 ]
        BCES01742: [ 01.04 ]
        BCUS98232: [ 01.04 ]
        NPEA00445: [ 01.04 ]
        NPUA80918: [ 01.04 ]
    Author: ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00437810, 0x38a00000 ]
  Skip intro:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.04 ]
        BCUS98232: [ 01.04 ]
        NPEA00445: [ 01.04 ]
        NPUA80918: [ 01.04 ]
    Author: Illusion, ZEROx
    Notes: "Skips SCE intros up to first video\n2.0 Skips intro video"
    Patch Version: 2.0
    Patch:
      - [ byte, 0x00204d5b, 1 ] #Skip intro vid on first run
      - [ be16, 0x00411ff4, 0x4800 ] #Skip intro logo
      - [ be32, 0x003efa04, 0x480225f5 ] #func call
      - [ be32, 0x00411ff8, 0x3c60009e ] #lis r3,0x9e
      - [ be32, 0x00411ffc, 0xa063c1d0 ] #Current video 2 bytes
      - [ be32, 0x00412000, 0x2f836f70 ] #cmpwi cr7,r3,0x6f70
      - [ be32, 0x00412004, 0x419e0010 ] #beq
      - [ be32, 0x00412008, 0x3c600094 ] #lis r3,0x94
      - [ be32, 0x0041200c, 0x80630e94 ] #r3 = Button data
      - [ be32, 0x00412010, 0x48000008 ] #b
      - [ be32, 0x00412014, 0x38600040 ] #X button
      - [ be32, 0x00412018, 0x4e800020 ] #Return
  Unlock FPS:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.04 ]
        BCES01742: [ 01.04 ]
        BCUS98232: [ 01.04 ]
        NPEA00445: [ 01.04 ]
        NPUA80918: [ 01.04 ]
    Author: "ZEROx, illusion"
    Notes: "Unlocks internal timestep calculation, Increase vblank to match your desired framerate."
    Patch Version: 2.0
    Patch:
      - [ bef32, 0x0039e284, 1000 ]
      - [ bef32, 0x002cae2c, 10000 ] #timestamp
      - [ bef32, 0x0083b2cc, 60 ] #target fps, main float
      - [ be32, 0x002cadd8, 0x60000000 ]
      - [ be16, 0x002c537e, 0x93cc ] #1000.0f gameplay speed scaling
      - [ be16, 0x002caec6, 0x93cc ] #1000.0f sync
      - [ be16, 0x002caf6e, 0x93cc ] #1000.0f sync
      - [ be16, 0x003ef71a, 0x93cc ] #1000.0f video playback speed scaling

PPU-3a0b43e4a5f4bfea64f53612ee7c5d990f88129c: #GOWA.SELF 1.12
  Disable MLAA:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.12 ]
        BCES01742: [ 01.12 ]
        BCUS98232: [ 01.12 ]
        NPEA00445: [ 01.12 ]
        NPUA80918: [ 01.12 ]
    Author: illusion, ZEROx
    Notes: *gowamlaanotes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x83D007, 0 ]
      - [ be32, 0x00397754, 0x60000000 ]
      - [ be32, 0x00397784, 0x60000000 ]
  Disable Depth of Field:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.12 ]
        BCES01742: [ 01.12 ]
        BCUS98232: [ 01.12 ]
        NPEA00445: [ 01.12 ]
        NPUA80918: [ 01.12 ]
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0043bcbc, 0x38a00000 ]
  Disable Motion Blur:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.12 ]
        BCES01742: [ 01.12 ]
        BCUS98232: [ 01.12 ]
        NPEA00445: [ 01.12 ]
        NPUA80918: [ 01.12 ]
    Author: ZEROx
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0043f210, 0x38a00000 ]
  Unlock FPS:
    Games:
      "God of War: Ascension":
        BCES01741: [ 01.12 ]
        BCES01742: [ 01.12 ]
        BCUS98232: [ 01.12 ]
        NPEA00445: [ 01.12 ]
        NPUA80918: [ 01.12 ]
    Author: "ZEROx, illusion"
    Notes: "Unlocks internal timestep calculation, Increase vblank to match your desired framerate."
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x003a52b4, 1000 ]
      - [ bef32, 0x002d024c, 6667 ]

PPU-93623f42f6f50bed58ca60927ed43beab749a2cd:
  Disable MLAA:
    Games:
      "God of War: Ascension Demo":
        NPEA90123: [ 01.00 ]
    Author: illusion
    Notes: *gowamlaanotes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x7DC0B7, 0 ]

Anchors:
  # Since we only change store reg and branch, we don't need to patch last 2 bytes again.
  tlou100_mlaa: &tlou100_mlaa
    - [ be16, 0x00a7a514, 0x9b83 ]     # store 0
  #  - [ be16, 0x00a51a8c, 0x4800 ]     # unconditonally branch to disable MLAA
    - [ be16, 0x0092ddac, 0x4800 ]     # Skip memory check function
    - [ be32, 0x00ae5d4c, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4f0, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4fc, 0x38000000 ] # Green rain
    - [ be32, 0x00a58da8, 0x60000000 ] # skip assert: x + w <= width && y + h <= height
    - [ be32, 0x0093e30c, 0xc1890990 ] # Cargo fix
    - [ be32, 0x0093e394, 0xc0090990 ] # Reticle bloom
  # Dof patch
    - [ be32, 0x0093dd64, 0x48113d2d ] #Call1
    - [ be32, 0x0093dd88, 0x48113d19 ] #Call2
    - [ be32, 0x00a0ae2c, 0x48046c85 ] #Call3
  # Func 1 Overall DoF 1
    - [ be32, 0x00a51a90, 0xc09c0aa4 ] #Load f4
    - [ be32, 0x00a51a94, 0xc27e04d4 ] #f19 = 0.3
    - [ be32, 0x00a51a98, 0xec8404f2 ] #f4*f19
    - [ be32, 0x00a51a9c, 0x4e800020 ] #Return
  # Func 2 Cutscene Dof
    - [ be32, 0x00a51aa0, 0xc01c0aac ] #Load f0
    - [ be32, 0x00a51aa4, 0xc17e1d34 ] #f11 = 0.75
    - [ be32, 0x00a51aa8, 0xec0002f2 ] #f0*f11
    - [ be32, 0x00a51aac, 0x4e800020 ] #Return
  # Func 3 Overall Dof 2
    - [ be32, 0x00a51ab0, 0x3d200146 ] #r9 = 1460000
    - [ be32, 0x00a51ab4, 0x3929481c ] #r9 = 146481c
    - [ be32, 0x00a51ab8, 0x80080014 ] #Load pattern to r0
    - [ be32, 0x00a51abc, 0x7f804800 ] #Compare r0 to r9
    - [ be32, 0x00a51ac0, 0x409e0010 ]
    - [ be32, 0x00a51ac4, 0xc01e10a0 ] #f0 = 0.3
    - [ be32, 0x00a51ac8, 0xd008000c ] #Store f0
    - [ be32, 0x00a51acc, 0x48000008 ]
    - [ be32, 0x00a51ad0, 0xd3e8000c ] #Default store
    - [ be32, 0x00a51ad4, 0x4e800020 ] #Return
  # Bloom correction patch v2.2
    - [ be32, 0x0093e308, 0x481137d1 ] #Call
    - [ be32, 0x00a51ad8, 0xc1a909a4 ] #Load f13
    - [ be32, 0x00a51adc, 0xc19e064c ] #f12 = 0.69
    - [ be32, 0x00a51ae0, 0x808909a8 ] #r4 unique value e198
    - [ be32, 0x00a51ae4, 0x2f840000 ] #if r4 <= 0
    - [ be32, 0x00a51ae8, 0x409d0058 ] #Skip to Main menu
  # Bills town Bloater and escape (2)
    - [ be32, 0x00a51aec, 0x3ca03ba4 ] #r5 = 3ba40000
    - [ be32, 0x00a51af0, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51af4, 0x419c0074 ] #go to Patch if less
  # Bills town Cemetery (1)
    - [ be32, 0x00a51af8, 0x808909a4 ] #r4 unique value e194
    - [ be32, 0x00a51afc, 0x3ca03e80 ] #r5 = 3e800000
    - [ be32, 0x00a51b00, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b04, 0x419c0068 ] #go to Patch if less
  # Bills town main street (2)
    - [ be32, 0x00a51b08, 0x3ca04026 ] #r5 = 40260000
    - [ be32, 0x00a51b0c, 0x38a56666 ] #r5 = 40266666
    - [ be32, 0x00a51b10, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b14, 0x419e0054 ] #go to Patch if ==
  # Bills town Trap (2)
    - [ be32, 0x00a51b18, 0x3ca0403d ] #r5 = 403d0000
    - [ be32, 0x00a51b1c, 0x38a5e4e2 ] #r5 = 403ce4e2
    - [ be32, 0x00a51b20, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b24, 0x419e0044 ] #go to Patch if ==
  # Bills Town intro check (2)
    - [ be32, 0x00a51b28, 0x808909bc ] #r4 unique value e1ac
    - [ be32, 0x00a51b2c, 0x3ca04007 ] #r5 = 40070000
    - [ be32, 0x00a51b30, 0x38a50a3d ] #r5 = 40070a3d
    - [ be32, 0x00a51b34, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b38, 0x419e0030 ] #go to Patch if ==
    - [ be32, 0x00a51b3c, 0x4e800020 ] #Return
  # Patch Menu/Ending level
    - [ be32, 0x00a51b40, 0x808909a0 ] #r4 unique value e190
    - [ be32, 0x00a51b44, 0x3ca03f8d ] #r5 = 3f8d0000
    - [ be32, 0x00a51b48, 0x38a52f6f ] #r5 = 3f8d2f6f
    - [ be32, 0x00a51b4c, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b50, 0x419e0010 ] #Patch menu
    - [ be32, 0x00a51b54, 0x80a909a4 ] #r5 unique value e194
    - [ be32, 0x00a51b58, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a51b5c, 0x4c9e0020 ] #Return (bnelr)
    - [ be32, 0x00a51b60, 0xc19e03fc ] #f12 = 0.5
    - [ be32, 0x00a51b64, 0x48000008 ] #go to Patch
  # Patch function
    - [ be32, 0x00a51b68, 0xedad0332 ] #f13=f13*f12
    - [ be32, 0x00a51b6c, 0xec000332 ] #f0=f0*f12
    - [ be32, 0x00a51b70, 0x4e800020 ] #Return

  # 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 // reversed from orbis version confirmed this exists
  #    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)
    - [ be32, 0x0093e300, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
    - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  
  tlou100_mesh: &tlou100_mesh
    - [ be16, 0x00923a94, 0x9809 ]     # Disable Mesh trimming       (r3  => r0 ) (mem address: 0x142C584)
  
  # Many settings below are enabled/disabled in sub_A7A340. 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
    - [ be16, 0x00a7a470, 0x9b83 ]     # Disable SSAO                (r27 => r28) (mem address: 0x14C7C0F)
  
  tlou100_mb: &tlou100_mb
    - [ be16, 0x00a7a4d4, 0x9b83 ]     # Disable motion blur         (r27 => r28) (mem address: 0x14C7C2E)
  
  tlou100_dof: &tlou100_dof
    - [ be16, 0x00a7a4e0, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x14C7C31)
  
  tlou100_dbv: &tlou100_dbv
    - [ be16, 0x00a7a760, 0x9b63 ]     # Depth buffer viewport       (r28 => r27) (mem address: 0x14C7E9D)
  
  tlou100_dbf: &tlou100_dbf
    - [ be16, 0x00a7a7ac, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x14C7EC1)
  
  tlou100_db: &tlou100_db
    - [ be16, 0x00a7a7b8, 0x90e3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x14C7F93)
    - [ be16, 0x00a516ec, 0x4800 ]     # Cabin resort crash fix
  
  tlou100_speed: &tlou100_speed
    - [ be16, 0x00a7a6b8, 0x9383 ]     # Speedboost                               (mem address: 0x14c7e5f)

  tlou111_mlaa: &tlou111_mlaa
  #  - [ be16, 0x00aaa040, 0x9b83 ]     # store 0
    - [ be16, 0x00a80350, 0x4800 ]     # unconditonally branch to disable MLAA
    - [ be16, 0x0095b8f8, 0x4800 ]     # Skip memory check function
    - [ be32, 0x00b0e140, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc38, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc44, 0x38000000 ] # Green rain
    - [ be32, 0x00a877e0, 0x60000000 ] # skip assert: x + w <= width && y + h <= height
    - [ be32, 0x0096be58, 0xc1890990 ] # Cargo fix
  # Dof correction patch
    - [ be32, 0x0096b8b0, 0x48114aa5 ] #Call1
    - [ be32, 0x0096b8d4, 0x48114a91 ] #Call2
    - [ be32, 0x00a3a584, 0x48045df1 ] #Call3
  # Func 1 Overall DoF 1
    - [ be32, 0x00a80354, 0xc09c0aa4 ] #Load f4 e294
    - [ be32, 0x00a80358, 0xc27e0424 ] #f19 = 0.3
    - [ be32, 0x00a8035c, 0xec8404f2 ] #f4*f19
    - [ be32, 0x00a80360, 0x4e800020 ] #Return
  # Func 2 Cutscene Dof
    - [ be32, 0x00a80364, 0xc01c0aac ] #Load f0 e29c
    - [ be32, 0x00a80368, 0xc17e1b64 ] #f11 = 0.75
    - [ be32, 0x00a8036c, 0xec0002f2 ] #f0*f11
    - [ be32, 0x00a80370, 0x4e800020 ] #Return
  # Func 3 Overall Dof 2
    - [ be32, 0x00a80374, 0x3d200151 ] #r9 = 1510000
    - [ be32, 0x00a80378, 0x3929e29c ] #r9 = 150e29c
    - [ be32, 0x00a8037c, 0x80080014 ] #Load pattern to r0
    - [ be32, 0x00a80380, 0x7f804800 ] #Compare r0 to r9
    - [ be32, 0x00a80384, 0x409e0010 ]
    - [ be32, 0x00a80388, 0xc01e137c ] #f0 = 0.3
    - [ be32, 0x00a8038c, 0xd008000c ] #Store f0
    - [ be32, 0x00a80390, 0x48000008 ]
    - [ be32, 0x00a80394, 0xd3e8000c ] #Default store
    - [ be32, 0x00a80398, 0x4e800020 ] #Return
  # Bloom correction patch
    - [ be32, 0x0096be54, 0x48114549 ] #Call
    - [ be32, 0x00a8039c, 0xc1a909a4 ] #Load f13
    - [ be32, 0x00a803a0, 0xc19e059c ] #f12 = 0.69
    - [ be32, 0x00a803a4, 0x808909a8 ] #r4 unique value e198
    - [ be32, 0x00a803a8, 0x2f840000 ] #if r4 <= 0
    - [ be32, 0x00a803ac, 0x409d0058 ] #Skip to Main menu
  # Bills town Bloater and escape(2)
    - [ be32, 0x00a803b0, 0x3ca03ba4 ] #r5 = 3ba40000
    - [ be32, 0x00a803b4, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a803b8, 0x419c0074 ] #go to Patch if less
  # Bills town Cemetery(1)
    - [ be32, 0x00a803bc, 0x808909a4 ] #r4 unique value e194
    - [ be32, 0x00a803c0, 0x3ca03e80 ] #r5 = 3e800000
    - [ be32, 0x00a803c4, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a803c8, 0x419c0068 ] #go to Patch if less
  # Bills town main street(2)
    - [ be32, 0x00a803cc, 0x3ca04026 ] #r5 = 40260000
    - [ be32, 0x00a803d0, 0x38a56666 ] #r5 = 40266666
    - [ be32, 0x00a803d4, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a803d8, 0x419e0054 ] #go to Patch if ==
  # Bills town Trap(2)
    - [ be32, 0x00a803dc, 0x3ca0403d ] #r5 = 403d0000
    - [ be32, 0x00a803e0, 0x38a5e4e2 ] #r5 = 403ce4e2
    - [ be32, 0x00a803e4, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a803e8, 0x419e0044 ] #go to Patch if ==
  # Bills Town intro check(2)
    - [ be32, 0x00a803ec, 0x808909bc ] #r4 unique value e1ac
    - [ be32, 0x00a803f0, 0x3ca04007 ] #r5 = 40070000
    - [ be32, 0x00a803f4, 0x38a50a3d ] #r5 = 40070a3d
    - [ be32, 0x00a803f8, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a803fc, 0x419e0030 ] #go to Patch if ==
    - [ be32, 0x00a80400, 0x4e800020 ] #Return
  # Patch Menu/Ending level
    - [ be32, 0x00a80404, 0x808909a0 ] #r4 unique value e190
    - [ be32, 0x00a80408, 0x3ca03f8d ] #r5 = 3f8d0000
    - [ be32, 0x00a8040c, 0x38a52f6f ] #r5 = 3f8d2f6f
    - [ be32, 0x00a80410, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a80414, 0x419e0010 ] #Patch menu
    - [ be32, 0x00a80418, 0x80a909a4 ] #r5 unique value e194
    - [ be32, 0x00a8041c, 0x7f842800 ] #compare r4 to r5
    - [ be32, 0x00a80420, 0x4c9e0020 ] #Return (bnelr)
    - [ be32, 0x00a80424, 0xc19e034c ] #f12 = 0.5
    - [ be32, 0x00a80428, 0x48000008 ] #go to Patch
  # Patch function
    - [ be32, 0x00a8042c, 0xedad0332 ] #f13=f13*f12
    - [ be32, 0x00a80430, 0xec000332 ] #f0=f0*f12
    - [ be32, 0x00a80434, 0x4e800020 ] #Return
  
  # 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 // reversed from orbis version confirmed this exists
  #    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)
    - [ be32, 0x0096be4c, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0
    - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0
  
  tlou111_mesh: &tlou111_mesh
    - [ be16, 0x009515d8, 0x9809 ]     # 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
    - [ be16, 0x00aa9f9c, 0x9b83 ] #Disable SSAO

  tlou111_mb: &tlou111_mb
    - [ be32, 0x0096aa94, 0x480000e0 ] # Disable motion blur
  
  tlou111_dof: &tlou111_dof
    - [ be16, 0x00aaa00c, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x1571AD1)
  
  tlou111_dbv: &tlou111_dbv
    - [ be16, 0x00aaa290, 0x9b63 ]     # Depth buffer viewport       (r28 => r27) (mem address: 0x1571D41)
  
  tlou111_dbf: &tlou111_dbf
    - [ be16, 0x00aaa2d8, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x1571D65)
  
  tlou111_db: &tlou111_db
    - [ be16, 0x00aaa2e4, 0x90c3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x1571E37)
    - [ be16, 0x00a7ffac, 0x4800 ]     # Cabin resort crash fix
  
  tlou111_speed: &tlou111_speed
    - [ be16, 0x00aaa1e8, 0x9383 ]     # Speedboost                               (mem address: 0x1571d03)

  tlou111_devplus: &tlou111_devplus
    - [ be32, 0x012850e8, 0x00e8c3e7 ] # str ptr
    - [ be32, 0x0128515c, 0x00e8c57f ] # str ptr
    - [ be16, 0x00e8c318, 0x202b ] # _+
    - [ byte, 0x00e8c3e7, 42 ] # * in int
    - [ byte, 0x00e8c57f, 42 ] # * in int
  # useless memory option replace with rendering
  # point addr from [] to [], this offsets 002dcc40 store 00 and onwards.
  # i.e [] now becomes [] and so on
    - [ be32, 0x0129732c, 0x015715f0 ] # pointer
    - [ be32, 0x002dcc40, 0x38bc00be ] # disable vis
    - [ be32, 0x012973fc, 0x00ee0490 ]
    - [ be16, 0x00ee0498, 0x5669 ] # capitalise visibility for
    - [ be32, 0x002dcc74, 0x38bc06d9 ] # wireframe
    - [ be32, 0x01297400, 0x00ee01d8 ]
    - [ be32, 0x002dcca8, 0x38bc06da ] # see through
    - [ be32, 0x01297404, 0x00ee01f0 ]
    - [ be32, 0x002dccdc, 0x38bc06db ] # point mode
    - [ be32, 0x01297408, 0x00ee0210 ]
    - [ be32, 0x002dcd10, 0x38bc04f4 ] # post on spu
    - [ be32, 0x0129740c, 0x00f05a48 ]
    - [ be32, 0x002dcd44, 0x38bc04de ] # motion blur
    - [ be32, 0x01297410, 0x00f05618 ]
    - [ be32, 0x002dcd78, 0x38bc04e1 ] # dof
    - [ be32, 0x01297414, 0x00f05410 ]
    - [ be32, 0x012974e4, 0x0135bfe8 ] # ptr
    - [ be64, 0x00ea8ba0, 0x456e61626c652050 ] # rename string
    - [ be32, 0x00ea8ba8, 0x61757365 ]
    - [ byte, 0x00ea8bac, 0 ] # term str
    - [ be32, 0x01297418, 0x00e8d580 ]
    - [ byte, 0x00eeeef8, 0 ]
    - [ byte, 0x00eeef10, 0 ]
    - [ byte, 0x00eeef28, 0 ]
    - [ byte, 0x00eeef50, 0 ]
    - [ be32, 0x012bf4a4, 0x00e8d520 ]
    - [ be32, 0x012bf4a8, 0x00e8d550 ]
  # str, perhaps use utf8 here?
    - [ be64, 0x00e8d520, 0x437265646974733a ]
    - [ be64, 0x00e8d550, 0x4d61646520627920 ]
    - [ be64, 0x00e8d558, 0x696c6c7573696f6e ]
    - [ be64, 0x00e8d560, 0x2c20467265616b6f ]
    - [ be64, 0x00e8d568, 0x20616e6420536d61 ]
    - [ be64, 0x00e8d570, 0x7368657232343800 ]
  # vram stats
    - [ be64, 0x00e8d580, 0x53686f7720437265 ]
    - [ be32, 0x00e8d588, 0x64697473 ]
  # console exclusive code, we don't need this due to post on spu off
    - [ be32, 0x0129741c, 0x0157186e ] # ptr
  #  - [ be32, 0x00aa9444, 0x38600001 ] # remove branch and set r3 to 1
  #  - [ be16, 0x00aa9464, 0x9869 ]     # load from r3 

  tlou111_cparts: &tlou111_cparts
    - [ be64, 0x0e8d600, 0x496E66696E697465 ] # str Infinite Everything (Ammo, Items, Skills, Parts)
    - [ be64, 0x0e8d608, 0x2045766572797468 ]
    - [ be64, 0x0e8d610, 0x696E672028416D6D ]
    - [ be64, 0x0e8d618, 0x6F2C204974656D73 ]
    - [ be64, 0x0e8d620, 0x2C20536B696C6C73 ]
    - [ be64, 0x0e8d628, 0x2C20506172747329 ]
    - [ be32, 0x01286780, 0x00e8d600 ] # point addr to e8e490
    - [ be32, 0x01286784, 0x014f3412 ] # point addr to 014f3412
# add
    - [ be32, 0x003495c, 0x48e58c35 ] # bl 00e8d590
    - [ be32, 0x0e8d590, 0x3fa0014f ] # r29 14f0000
    - [ be32, 0x0e8d594, 0x881d3412 ] # lbz r0, 0x3412, (r29)
    - [ be32, 0x0e8d598, 0x2f800000 ] # cmp r0, 0x0
    - [ be32, 0x0e8d59c, 0x409e0008 ] # bne 0xe8d5a4
    - [ be32, 0x0e8d5a0, 0x7f7fd22e ] # og lhzx
    - [ be32, 0x0e8d5a4, 0x4e800020 ] # ret
    - [ be32, 0x0034968, 0x2f9d096f ] # r29 to 512
    - [ be32, 0x0034970, 0x3ba0096f ] # li r29 512
# sub
    - [ be32, 0x00336c0, 0x7e2802a6 ] # mflr r17,LR
    - [ be32, 0x00336c4, 0x48e59f01 ] # call 3
    - [ be32, 0x00336c8, 0x7e2803a6 ] # mtlr LR,r17
    - [ be32, 0x00336cc, 0x3a200000 ] # r17 = 0
    - [ be32, 0x0e8d5c4, 0x7c0b4a2e ] # og lhzx
    - [ be32, 0x0e8d5c8, 0x5408043e ] # og rlwinm
    - [ be32, 0x0e8d5cc, 0x3e00014f ] # r16 = 14f0000
    - [ be32, 0x0e8d5d0, 0x89f03412 ] # lbz r15,0x3412,r16
    - [ be32, 0x0e8d5d4, 0x2f8f0000 ] # r15 vs 0
    - [ be32, 0x0e8d5d8, 0x409e0008 ] # bne
    - [ be32, 0x0e8d5dc, 0x7c050050 ] # og sub
    - [ be32, 0x0e8d5e0, 0x7f882800 ] # og cmpw
    - [ be32, 0x0e8d5e4, 0x39e00000 ] # r15 = 0
    - [ be32, 0x0e8d5e8, 0x3a000000 ] # r16 = 0
    - [ be32, 0x0e8d5ec, 0x4e800020 ] # ret

  tlou111_nailbombsoftlockfix: &tlou111_nailbombsoftlockfix
    - [ be32, 0x0069f7ac, 0x4b9c012d ] # bl SUB_0005f8d8
    - [ be32, 0x0005f8d8, 0x3c800142 ] # lis r4,0x142
    - [ be32, 0x0005f8dc, 0xa0849ef4 ] # lhz r4,-0x610c(r4)
    - [ be32, 0x0005f8e0, 0x70847fff ] # andi r4,r4,0x7fff
    - [ be32, 0x0005f8e4, 0x2f8440bc ] # cmpwi cr7,r4,0x40bc
    - [ be32, 0x0005f8e8, 0x419e0028 ] # beq cr7,LAB_0005f910
    - [ be32, 0x0005f8ec, 0x2f842466 ] # cmpwi cr7,r4,0x2466
    - [ be32, 0x0005f8f0, 0x419e0020 ] # beq cr7,LAB_0005f910
    - [ be32, 0x0005f8f4, 0x2f841ab6 ] # cmpwi cr7,r4,0x1ab6
    - [ be32, 0x0005f8f8, 0x419e0018 ] # beq cr7,LAB_0005f910
    - [ be32, 0x0005f8fc, 0x2f841181 ] # cmpwi cr7,r4,0x1181
    - [ be32, 0x0005f900, 0x419e0010 ] # beq cr7,LAB_0005f910
    - [ be32, 0x0005f904, 0x2f844ad3 ] # cmpwi cr7,r4,0x4ad3
    - [ be32, 0x0005f908, 0x419e0008 ] # beq cr7,LAB_0005f910
    - [ be32, 0x0005f90c, 0x48000008 ] # b   LAB_0005f914
    - [ be32, 0x0005f910, 0x38000001 ] # li  r0,0x1
    - [ be32, 0x0005f914, 0x389b0070 ] # addiparam_2,r27,0x70
    - [ be32, 0x0005f918, 0x4e800020 ] # blr

  tlou111_devmenu: &tlou111_devmenu
    - [ be16, 0x0003bfa0, 0x9b3f ]
    - [ be16, 0x009da99a, 0x2db6 ]
    - [ be16, 0x009da9a2, 0x2db6 ]
    - [ be32, 0x00a1a200, 0x60000000 ] #Remove "!" model render
    # str lookup
    - [ utf8, 0x011b4145, "shiv                           " ]
    - [ utf8, 0x011b4165, "pistol-uber-t1                 " ]
    - [ utf8, 0x011b4185, "baseball-bat                   " ]
    - [ utf8, 0x011b41a5, "hatchet                        " ]
    - [ utf8, 0x011b41c5, "NO_ART_GROUP                   " ]
    - [ utf8, 0x011b41e5, "nail-bomb                      " ]
    - [ utf8, 0x011b4205, "two-by-four                    " ]
    - [ utf8, 0x011b4225, "nail-bomb                      " ]
    - [ utf8, 0x011b4245, "turret-sniper                  " ]
    - [ utf8, 0x011b4265, "rifle-lever-action             " ]
    - [ utf8, 0x011b4285, "pistol-uber-t1                 " ]
    - [ utf8, 0x011b42a5, "shiv                           " ]
    - [ utf8, 0x011b42c5, "radio                          " ]
    - [ utf8, 0x011b42e5, "molotov                        " ]
    - [ utf8, 0x011b4305, "bandage-apply                  " ]
    - [ utf8, 0x011b4325, "mp-parcel                      " ]
    - [ utf8, 0x011b4345, "gren-launcher-improvised       " ]
    - [ utf8, 0x011b4365, "shotgun-dbl-barrel             " ]
    - [ utf8, 0x011b4385, "machete-blade                  " ]
    - [ utf8, 0x011b43a5, "bow-dark                       " ]
    - [ utf8, 0x011b43c5, "rifle-variable                 " ]
    - [ utf8, 0x011b43e5, "mini-14-rifle                  " ]
    - [ utf8, 0x011b4405, "two-by-four                    " ]
    - [ utf8, 0x011b4425, "pistol-shotgun                 " ]
    - [ utf8, 0x011b4445, "rifle-improvised-fullauto      " ]
    - [ utf8, 0x011b4465, "super-soaker                   " ]
    - [ utf8, 0x011b4485, "NO_ART_GROUP                   " ]
    - [ utf8, 0x011b44a5, "beer-bottle                    " ]
    - [ utf8, 0x011b44c5, "crossbow-dlc                   " ]
    - [ utf8, 0x011b44e5, "lead-pipe                      " ]
    - [ utf8, 0x011b4505, "lead-pipe                      " ]
    - [ utf8, 0x011b4525, "flamethrower                   " ]
    - [ utf8, 0x011b4545, "desert-eagle-t1                " ]
    - [ utf8, 0x011b4565, "flashlight                     " ]
    - [ utf8, 0x011b4585, "rifle-sniper                   " ]
    - [ utf8, 0x011b45a5, "m4-rifle-t1                    " ]
    - [ utf8, 0x011b45c5, "smoke-bomb                     " ]
    - [ utf8, 0x011b45e5, "throw-brick                    " ]
    - [ utf8, 0x011b4605, "shotgun-pump-stock             " ]
    - [ utf8, 0x011b4625, "silenced-galil-rifle           " ]
    - [ utf8, 0x011b4645, "NO_ART_GROUP                   " ]
    - [ utf8, 0x011b4665, "bloater-pustule                " ]
    - [ utf8, 0x011b4685, "taurus-66b4-revolver           " ]
    - [ utf8, 0x011b46a5, "nail-bomb                      " ]
    - [ utf8, 0x011b46c5, "rifle-improvised-assault       " ]
    - [ utf8, 0x011b46e5, "throwing-knife                 " ]
    - [ utf8, 0x011b4705, "rifle-bolt                     " ]
    - [ utf8, 0x011b4725, "beretta-jaguar-pistol          " ]
    - [ utf8, 0x011b4745, "bow                            " ]
    - [ utf8, 0x011b4765, "molotov                        " ]
    - [ utf8, 0x011b4785, "bill-knife                     " ]
    - [ utf8, 0x011b47a5, "baseball-bat                   " ]
    - [ utf8, 0x011b47c5, "mini-14-rifle                  " ]
    - [ utf8, 0x011b47e5, "pistol-glock-burst             " ]
    - [ utf8, 0x011b4805, "pistol-9mm                     " ]
    - [ utf8, 0x011b4825, "shotgun-tactical               " ]
    - [ utf8, 0x011b4845, "mal-gas-can                    " ]
    - [ utf8, 0x011b4865, "machete-blade                  " ]
    - [ utf8, 0x011b4885, "none                           " ]
    - [ utf8, 0x011b48a5, "rifle-improvised-assault       " ]
    - [ utf8, 0x011b48c5, "binoculars                     " ]
    - [ utf8, 0x011b48e5, "switchblade                    " ]
    - [ utf8, 0x011b4905, "rifle-improvised-fullauto      " ]
    # write str to menu init
    - [ be32, 0x004f1690, 0x39ef0020 ] #     addi       r15,r15,0x20 
    - [ be32, 0x004f1694, 0x489c5b99 ] #     bl         SUB_00eb722c
    - [ be32, 0x00eb722c, 0x3c80011b ] #     lis        r4,0x11b
    - [ be32, 0x00eb7230, 0x60844125 ] #     ori        r4,r4,0x4125
    - [ be32, 0x00eb7234, 0x7c847a14 ] #     add        r4,r4,r15
    - [ be32, 0x00eb7238, 0x4e800020 ] #     blr
    # wrtie ptr for pak arg
    - [ be32, 0x004f2a0c, 0x489b08bc ] #     b          LAB_00ea32c8
    - [ be32, 0x00ea32c8, 0x90be82e4 ] #     stw        r5,-0x7d1c(r30) store pointer to null
    - [ be32, 0x00ea32cc, 0x88050000 ] #     lbz        r0,0x0(r5) og
    - [ be32, 0x00ea32d0, 0x4b64f740 ] #     b          LAB_004f2a10

  gpulightingnotes: &gpulightingnotes "Uses GPU (RSX) path for lighting effects instead of SPU.\nFixes rendering of lightning effects that are being rendered broken via SPU path and greatly improves performance over it.\nThis path is incomplete and results in some missing effects such as Volumetric lighting."

  debugmenunotes: &debugmenunotes "L3 + Start = Dev Menu\nL3 + Select = Quick Menu\nL3 + Triangle = FPS Text\nL3 + R3 = Debug Fly"
  
  fpsnotes: &fpsnotes "Unlocks FPS without any special settings.\nGame may crash above 500FPS in loading screen."
  
  tloumlaanotes: &tloumlaanotes "Last modified: Dec 28 2020\n\nAllows for the use of Resolution Scaling and improves performance.\nVersion 2.0 - Fixes crashes introduced in the original patch.\nVersion 3.0 - Fixes the Green Rain in more areas.\nVersion 4.0 - Fixes high levels of Bloom in some areas.\n\nKnown issues: Listen mode does not work"
  
  tlou100_title: &tlou100_title
    "The Last of Us":
      BCES01584: [ 01.00 ]
      BCES01585: [ 01.00 ]
      BCUS98174: [ 01.00 ]
      BCJS37010: [ 01.00 ]
      BCAS20270: [ 01.00 ]
      NPEA00435: [ 01.00 ]
      NPUA80960: [ 01.00 ]
  
  tlou111_title: &tlou111_title
    "The Last of Us":
      BCES01584: [ 01.11 ]
      BCES01585: [ 01.11 ]
      BCUS98174: [ 01.11 ]
      BCJS37010: [ 01.11 ]
      BCAS20270: [ 01.11 ]
      NPEA00435: [ 01.11 ]
      NPUA80960: [ 01.11 ]

PPU-9df60dc1aa5005a0c80e9066e4951dc0471553e6:
  Disable in-built MLAA:
    Games: *tlou100_title
    Author: Whatcookie
    Notes: *tloumlaanotes
    Patch Version: 4.0
    Patch:
      - [ load, *tlou100_mlaa ]
  Disable Bloom:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_post ]
  Disable Mesh trimming:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_mesh ]
  Disable SSAO:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_ssao ]
  Disable Motion Blur:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_mb ]
  Disable Depth of Field:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dof ]
  Depth buffer viewport:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dbv ]
  Depth border fix:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes:
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dbf ]
  Enable GPU Lighting:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: *gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_db ]
  Speedboost:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: Improves performance in certain areas. May cause issues.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_speed ]
  Debug Menu:
    Games: *tlou100_title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotes
    Patch Version: 1.01
    Patch:
      - [ be16, 0x0003b2a0, 0x419e ]
      - [ byte, 0x0003b2c3, 1 ]
      - [ be16, 0x009acbde, 0x2db6 ]
      - [ be16, 0x009acbe6, 0x2db6 ]
  "Bug Fix: Infected Severed Head Crash":
    Games: *tlou100_title
    Author: illusion, ZEROx
    Notes: "Last modified: 13 Feb 2020.\nFixed a bug where throwing an object at a Infected Severed Head causes a game crash."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x006b06a8, 0x483a4b95 ] #Branch
      - [ be32, 0x00a5523c, 0x3d400001 ] #r10 = 0x10000
      - [ be32, 0x00a55240, 0x7f9d5000 ] #r29 vs r10
      - [ be32, 0x00a55244, 0x409d0008 ] #Skip if r29<=r10 // If r29 less or equal to r10 then do nothing
      - [ be32, 0x00a55248, 0x813d0040 ] #lwz r9,0x40(r29) // load as normal
      - [ be32, 0x00a5524c, 0x4e800020 ] #Return
  21:9 Aspect Ratio:
    Games: *tlou100_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000325B8, 0x60000000 ] # nop write for ar float
      - [ be32, 0x14AEBD0,  0x3ED70A3D ] # ar float
      - [ be32, 0x128F2F4,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou100_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00036AB8, 0x38A00000 ]
  Infinite flashlight battery:
    Games: *tlou100_title
    Author: bungholio, ZEROx
    Notes: "This patch is usefull for people who play with something other than DualShock3/4.\nNormaly flashlight battery drains after ~3600 frames, patch disables battery drain, Infinite flashlight battery no controller shake."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0068eb38, 0x60000000 ]
  Disable Camera Shake:
    Games: *tlou100_title
    Author: illusion
    Notes: "Last modified: 1 Mar 2021\n\nDisables Camera Shake during Gameplay.\nIn-Game-Cinematics remain is unaffected."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00966784, 0x997d ]

PPU-120fb71f7352d62521c639b0e99f960018c10a56:
  Disable in-built MLAA:
    Games: *tlou111_title
    Author: Whatcookie, illusion, ZEROx
    Notes: *tloumlaanotes
    Patch Version: 4.0
    Patch:
      - [ load, *tlou111_mlaa ]
  Disable Bloom:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_post ]
  Disable Mesh trimming:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_mesh ]
  Disable SSAO:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.1
    Patch:
      - [ load, *tlou111_ssao ]
  Disable Motion Blur:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_mb ]
  Disable Depth of Field:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dof ]
  Depth buffer viewport:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dbv ]
  Depth border fix:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dbf ]
  Enable GPU Lighting:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: *gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_db ]
  Speedboost:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: Improves performance in certain areas. May cause issues.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_speed ]
  Debug Menu:
    Games: *tlou111_title
    Author: illusion, ZEROx, dron_3, HdHereidme
    Notes: *debugmenunotes
    Patch Version: 1.2
    Patch:
      - [ load, *tlou111_devmenu ]
  Infinite flashlight battery:
    Games: *tlou111_title
    Author: bungholio, ZEROx
    Notes: "This patch is usefull for people who play with something other than DualShock3/4.\nNormaly flashlight battery drains after ~3600 frames, patch disables battery drain, Infinite flashlight battery no controller shake."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x006acbc8, 0x60000000 ]
  "Bug Fix: Infected Severed Head Crash":
    Games: *tlou111_title
    Author: illusion, ZEROx
    Notes: "Fixed a bug where throwing an object at a Infected Severed Head causes a game crash."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x006d9368, 0x483aa7ed ] #Call
      - [ be32, 0x00a83b54, 0x3d400001 ] #r10 = 0x10000
      - [ be32, 0x00a83b58, 0x7f9d5000 ] #r29 vs r10
      - [ be32, 0x00a83b5c, 0x409d0008 ] #Skip if r29<=r10 // If r29 less or equal to r10 then do nothing
      - [ be32, 0x00a83b60, 0x813d0040 ] #lwz r9,0x40(r29) // load as normal
      - [ be32, 0x00a83b64, 0x4e800020 ] #Return
  21:9 Aspect Ratio:
    Games: *tlou111_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0003556C, 0x60000000 ] # nop write for ar float
      - [ be32, 0x1558A50,  0x3ED70A3D ] # ar float
      - [ be32, 0x12C1964,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou111_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00039D08, 0x38A00000 ]
  Dev Menu Plus:
    Games: *tlou111_title
    Author: illusion, Freako, Smasher248
    Notes: "Replaces some useless options in Memory Tab with rendering features.\n\nWireframe modes currently does not work on the emulator."
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_devplus ]
  Disable Pause in Dev Menu:
    Games: *tlou111_title
    Author: illusion, Freako
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be16, 0x009d2114, 0x9803 ]
  NPC Model Scale in Clock Menu:
    Games: *tlou111_title
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x012850f8, 0x0148AE18 ] # ptr
      - [ be16, 0x0135dcac, 0x3f80 ] # avoid assertion
      - [ be64, 0x00e8c418, 0x4E5043204D6F6465 ] # string replace
      - [ be32, 0x00e8c420, 0x6C205363 ]
      - [ be16, 0x00e8c424, 0x616C ]
      - [ be64, 0x00e8c426, 0x653A000000000000 ] # 1 byte overlap
  Disable Camera Shake:
    Games: *tlou111_title
    Author: illusion
    Notes: "Disables Camera Shake during Gameplay.\nIn-Game-Cinematics remain unaffected."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00994234, 0x997d ]
  Infinite Everything (Parts, Pills, Crafting items):
    Games: *tlou111_title
    Author: Medo, Randy97Killa, illusion
    Notes: "Activate Cheat in Gameplay... Pickup any ammount of parts or items for high value."
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_cparts ]
  Tool Always Level 5:
    Games: *tlou111_title
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00082960, 0x38000005 ] # tools level load 
      - [ be32, 0x00082788, 0x60000000 ] # tools gain pickup, result will be
  "Bug Fix: University Nailbomb Softlock Fix":
    Games: *tlou111_title
    Author: illusion, ZEROx
    Notes: "Fixes a softlock at the end of university chapter."
    Patch Version: 1.0
    Patch:
    - [ load, *tlou111_nailbombsoftlockfix ]
  "Bug Fix: Low Health on Dev Menu Respawns":
    Games: *tlou111_title
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00574e3c, 0x38600064 ] # can this be optimized further?
      - [ be32, 0x00574e40, 0x907c0000 ]
      - [ be32, 0x00574e44, 0x807c0000 ]
      - [ be32, 0x00574e48, 0x60000000 ]
  Skip Intro:
    Games: *tlou111_title
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0003dd9c, 0x4800 ]

Anchors:
  # Note: Unlike Uncharted 3 and TLoU, Uncharted 2 doesn't change the initial address.
  # Since we only change store reg, no need to patch the rest.
  uc2_Disc_100_60FPS: &uc2_Disc_100_60FPS
    - [ be16, 0x000c9250, 0x9163 ] # Framelock: 1 (60 FPS Limit)             (mem address: 0x0E9B5FB)
  
  uc2_Disc_100_UnlockFPS: &uc2_Disc_100_UnlockFPS
    - [ be16, 0x000c9250, 0x9183 ] # Framelock: 0 (No FPS Limit)             (mem address: 0x0E9B5FB)
  
  uc2_Disc_100_ssao: &uc2_Disc_100_ssao
    - [ be16, 0x000c9370, 0x9b83 ] # Disable SSAO                            (mem address: 0x0E9B642)
  
  uc2_Disc_100_dof: &uc2_Disc_100_dof
    - [ be16, 0x000c93c4, 0x9b83 ] # Disable depth of field                  (mem address: 0x0E9B651)
  
  uc2_Disc_100_post: &uc2_Disc_100_post
    - [ be16, 0x000c93ec, 0x9b83 ] # Disable Post on SPU                     (mem address: 0x0E9B668)
  
  uc2_Disc_100_light: &uc2_Disc_100_light
    - [ be16, 0x000c962c, 0x9b83 ] # Disable Spu lighting                    (mem address: 0x0E9B964)
    - [ be16, 0x000c9630, 0x9b63 ] # Enable stencil buffer for gpu lighting  (mem address: 0x0E9B965)

  uc2_Disc_100_mesh: &uc2_Disc_100_mesh
    - [ be16, 0x0072ec3c, 0x9949 ] # Disable mesh trimming                   (mem address: 0x0F995D0)
  
  uc2_Disc_100_mb: &uc2_Disc_100_mb
    - [ be16, 0x000c93c0, 0x9b83 ] # Disable Motion blur                     (mem address: 0x0E9B64F)
  
  uc2_Disc_100_vmb: &uc2_Disc_100_vmb
    - [ be16, 0x000c961c, 0x9b83 ] # 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
    - [ be16, 0x000c26f0, 0x9163 ] # Framelock: 1 (60 FPS Limit)             (mem address: 0x0E9C1FB)
  
  uc2_Disc_109_UnlockFPS: &uc2_Disc_109_UnlockFPS
    - [ be16, 0x000c26f0, 0x9183 ] # Framelock: 0 (No FPS Limit)             (mem address: 0x0E9C1FB)
  
  uc2_Disc_109_ssao: &uc2_Disc_109_ssao
    - [ be16, 0x000c2810, 0x9b83 ] # Disable SSAO                            (mem address: 0x0E9C242)
  
  uc2_Disc_109_dof: &uc2_Disc_109_dof
    - [ be16, 0x000c2864, 0x9b83 ] # Disable depth of field                  (mem address: 0x0E9C251)
  
  uc2_Disc_109_post: &uc2_Disc_109_post
    - [ be16, 0x000c288c, 0x9b83 ] # Disable Post on SPU                     (mem address: 0x0E9C268)
  
  uc2_Disc_109_light: &uc2_Disc_109_light
    - [ be16, 0x000c2ad0, 0x9b83 ] # Disable Spu lighting                    (mem address: 0x0E9C564)
    - [ be16, 0x000c2ad4, 0x9b63 ] # Enable stencil buffer for gpu lighting  (mem address: 0x0E9C565)

  uc2_Disc_109_mesh: &uc2_Disc_109_mesh
    - [ be16, 0x0072d44c, 0x9949 ] # Disable mesh trimming                   (mem address: 0x0F9BFD0)
  
  uc2_Disc_109_mb: &uc2_Disc_109_mb
    - [ be16, 0x000c2860, 0x9b83 ] # Disable Motion blur                     (mem address: 0x0E9C24F)
  
  uc2_Disc_109_vmb: &uc2_Disc_109_vmb
    - [ be16, 0x000c2ac0, 0x9b83 ] # 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
    - [ be16, 0x000c2bb8, 0x9163 ] # Framelock: 1 (60 FPS Limit)             (mem address: 0x0E9C1FB)
  
  uc2_PSN_UnlockFPS: &uc2_PSN_UnlockFPS
    - [ be16, 0x000c2bb8, 0x9183 ] # Framelock: 0 (No FPS Limit)             (mem address: 0x0E9C1FB)
  
  uc2_PSN_ssao: &uc2_PSN_ssao
    - [ be16, 0x000c2cd8, 0x9b83 ] # Disable SSAO                            (mem address: 0x0E9C242)
  
  uc2_PSN_dof: &uc2_PSN_dof
    - [ be16, 0x000c2d2c, 0x9b83 ] # Disable depth of field                  (mem address: 0x0E9C251)
  
  uc2_PSN_post: &uc2_PSN_post
    - [ be16, 0x000c2d54, 0x9b83 ] # Disable Post on SPU                     (mem address: 0x0E9C268)
  
  uc2_PSN_light: &uc2_PSN_light
    - [ be16, 0x000c2f98, 0x9b83 ] # Disable Spu lighting                    (mem address: 0x0E9C564)
    - [ be16, 0x000c2f9c, 0x9b63 ]  # Enable stencil buffer for gpu lighting (mem address: 0x0E9C565)

  uc2_PSN_mesh: &uc2_PSN_mesh
    - [ be16, 0x0072d394, 0x9949 ] # Disable mesh trimming                   (mem address: 0x0F9BFD0)
  
  uc2_PSN_mb: &uc2_PSN_mb
    - [ be16, 0x000c2d28, 0x9b83 ] # Disable Motion blur                     (mem address: 0x0E9C24F)
  
  uc2_PSN_vmb: &uc2_PSN_vmb
    - [ be16, 0x000c2f88, 0x9b83 ] # 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
    - [ be16, 0x000c94a0, 0x9163 ] # Framelock: 1 (60 FPS Limit)
  
  uc2_Demo_UnlockFPS: &uc2_Demo_UnlockFPS
    - [ be16, 0x000c94a0, 0x9183 ] # Framelock: 0 (No FPS Limit)
  
  uc2_Demo_ssao: &uc2_Demo_ssao
    - [ be16, 0x000c95c0, 0x9b83 ] # Disable SSAO
  
  uc2_Demo_dof: &uc2_Demo_dof
    - [ be16, 0x000c9614, 0x9b83 ] # Disable depth of field
  
  uc2_Demo_post: &uc2_Demo_post
    - [ be16, 0x000c963c, 0x9b83 ] # Disable Post on SPU
  
  uc2_Demo_light: &uc2_Demo_light
    - [ be16, 0x000c987c, 0x9b83 ] # Disable Spu lighting
    - [ be16, 0x000c9880, 0x9b63 ] # Enable stencil buffer for gpu lighting

  uc2_Demo_mesh: &uc2_Demo_mesh
    - [ be16, 0x0030624c, 0x9949 ] # Disable mesh trimming
  
  uc2_Demo_mb: &uc2_Demo_mb
    - [ be16, 0x000c9610, 0x9b83 ] # Motion blur
  
  uc2_Demo_vmb: &uc2_Demo_vmb
    - [ be16, 0x000c986c, 0x9b83 ] # Velocity motion blur

  debugmenunotesUC2: &debugmenunotesUC2 "Enable Debug Console mode to unlock full menu (DECR Console)\nL3 + Start = Dev Menu\nL3 + Select = Quick Menu\nL3 + Triangle = Debug Text\nL2 + R2 = Debug Fly"
  uc2spupostnotes: &uc2spupostnotes "Fixes green graphics when using Resolution Scaling"
  uc260fpsnotes: &uc260fpsnotes "Allows framerates of up to 60 FPS"
  uc2unlockedfpsnotes: &uc2unlockedfpsnotes "Completely unlocks Uncharted 2's framerate"
  uc2spulightingnotes: &uc2spulightingnotes "Improves performance slightly by using GPU path for lighting.\nFixes lighting issues in Chapter 9 when shining the beams of light onto the statues"

PPU-7b8a70c24456205b776915643a2acacb6ef6ea56:
  60 FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc260fpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_100_60FPS ]
  Unlock FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2unlockedfpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_100_UnlockFPS ]
  Disable SSAO:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_dof ]
  Disable SPU Post-processing:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2spupostnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_post ]
  Enable GPU Lighting:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2spulightingnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_light ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_mesh ]
  Disable Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_mb ]
  Disable Velocity Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_vmb ]
  Debug Menu:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC2
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00023c64, 0x419e ]
      - [ be32, 0x00062e10, 0x60000000 ] #Don't pause on Select button 
  "Bug Fix: Quit to Menu Crash": # TODO: port to PSN ver
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: "Last modified: 16 Feb 2021\n\nFixed a rare bug when quitting to menu causes a game crash."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00270834, 0x4850e8e9 ] #Call
      - [ be32, 0x0077f11c, 0x2f9c0000 ] #Compare r28 to 0
      - [ be32, 0x0077f120, 0x409e000c ] #Skip to lhz if !=0
      - [ be32, 0x0077f124, 0x38000001 ] #r0 = 1
      - [ be32, 0x0077f128, 0x48000008 ] #Go to return
      - [ be32, 0x0077f12c, 0xa01c04b4 ] #Default lhz
      - [ be32, 0x0077f130, 0x4e800020 ] #Return
  Skip Intro:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.00 ]
        BCES00727: [ 01.00 ]
        BCES00757: [ 01.00 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00026dc4, 0x48000e50 ]

PPU-9fe364d48b610e4b0a1c41d526bec9b1b2039c07:
  60 FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc260fpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_100_60FPS ]
  Unlock FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2unlockedfpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_100_UnlockFPS ]
  Disable SSAO:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_dof ]
  Disable SPU Post-processing:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2spupostnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_post ]
  Enable GPU Lighting:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc2spulightingnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_light ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ be16, 0x072ec54, 0x9949 ]
  Disable Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_mb ]
  Disable Velocity Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_100_vmb ]
  Debug Menu:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC2
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00023c64, 0x419e ]
  Skip Intro:
    Games:
      "Uncharted 2: Among Thieves":
        BCUS98123: [ 01.00 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00026dc4, 0x48000e50 ]


PPU-a3a5789c12711291dfe16a7d5d81c906d2b4c0c2:
  60 FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: *uc260fpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_109_60FPS ]
  Unlock FPS:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: *uc2unlockedfpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Disc_109_UnlockFPS ]
  Disable SSAO:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_dof ]
  Disable SPU Post-processing:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: *uc2spupostnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_post ]
  Enable GPU Lighting:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: *uc2spulightingnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_light ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_mesh ]
  Disable Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_mb ]
  Disable Velocity Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Disc_109_vmb ]
  Debug Menu:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: dron_3, HdHereidme
    Notes: *debugmenunotesUC2
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00023c0c, 0x419e ]
  "Bug Fix: Quit to Menu Crash": # TODO: port to PSN ver
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: ZEROx, illusion
    Notes: "Last modified: 16 Feb 2021\n\nFixed a rare bug when quitting to menu causes a game crash."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00262e04, 0x488ce301 ] #Call
      - [ be32, 0x00b31104, 0x2f9c0000 ] #Compare r28 to 0
      - [ be32, 0x00b31108, 0x409e000c ] #Skip to lhz if !=0
      - [ be32, 0x00b3110c, 0x38000001 ] #r0 = 1
      - [ be32, 0x00b31110, 0x48000008 ] #Go to return
      - [ be32, 0x00b31114, 0xa01c04b4 ] #Default lhz
      - [ be32, 0x00b31118, 0x4e800020 ] #Return
  Skip Intro:
    Games:
      "Uncharted 2: Among Thieves":
        BCES00509: [ 01.09 ]
        BCES00727: [ 01.09 ]
        BCES00757: [ 01.09 ]
        BCUS98123: [ 01.09 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00026e08, 0x48000e40 ]

PPU-599461c6c88935ff0ed26ef20e649c8c38b7be9c:
  60 FPS:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: *uc260fpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_PSN_60FPS ]
  Unlock FPS:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: *uc2unlockedfpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_PSN_UnlockFPS ]
  Disable SSAO:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_dof ]
  Disable SPU Post-processing:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: *uc2spupostnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_post ]
  Enable GPU Lighting:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: *uc2spulightingnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_light ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_mesh ]
  Disable Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_mb ]
  Disable Velocity Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_PSN_vmb ]
  Debug Menu:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC2
    Patch Version: 1.0
    Patch:
      - [ be16, 0x000244e0, 0x419e ]
  Skip Intro:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA00365: [ 01.10 ]
        NPUA80698: [ 01.10 ]
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00094a50, 0x98e3 ]

PPU-bfee77256ce53064051a6b0ec9d292e75284aad4:
  60 FPS:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: *uc260fpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Demo_60FPS ]
  Unlock FPS:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: *uc2unlockedfpsnotes
    Patch Version: 1.2
    Group: FPS
    Patch:
      - [ load, *uc2_Demo_UnlockFPS ]
  Disable SSAO:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_dof ]
  Disable SPU Post-processing:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_post ]
  Enable GPU Lighting:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: *uc2spulightingnotes
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_light ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_mesh ]
  Disable Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_mb ]
  Disable Velocity Motion Blur:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.2
    Patch:
      - [ load, *uc2_Demo_vmb ]
  Debug Menu:
    Games:
      "Uncharted 2: Among Thieves":
        NPEA90055: [ All ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC2
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00097a18, 0x98c3 ] # demo doesn't have check, fps text disabled by default + decr infinite loading

Anchors:
  uc3_100_FPS: &uc3_100_FPS
    - [ be32, 0x0093b348, 0x90e30034 ] #FPS
    - [ be32, 0x0093b34c, 0x90e30038 ] #Unlock
  
  uc3_100_mlaa: &uc3_100_mlaa
    - [ be32, 0x00635f90, 0x60000000 ] # nop byte write on 00 9c
    - [ be16, 0x0093b46c, 0x9b83 ]     # store 0
   #- [ 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, // needs correction on 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, 0x00635f8c, 0x60000000 ] # nop byte write on 00 57
    - [ 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, 0x00635f88, 0x60000000 ] # nop byte write on 03 ec
    - [ be32, 0x0093b704, 0x90e303ec ] # Depth buffer           (mem address: 0x1347157)

  uc3_JP_100_mlaa: &uc3_JP_100_mlaa
    - [ be32, 0x00635fb8, 0x60000000 ] # nop byte write on 00 9c
    - [ be16, 0x0093b494, 0x9b83 ]     # store 0
   #- [ be32, 0x00720368, 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_JP_100_post: &uc3_JP_100_post
    - [ be32, 0x0093acfc, 0x39000003 ] # Post-processing modes
  
  uc3_JP_100_mesh: &uc3_JP_100_mesh
    - [ be32, 0x0073f084, 0x980b0004 ] # Disable mesh trimming
  
  # Many settings below are enabled/disabled in sub_93B2C0. 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_JP_100_ssao: &uc3_JP_100_ssao
    - [ be32, 0x00635fb4, 0x60000000 ] # nop byte write on 00 57
    - [ be32, 0x0093b3d4, 0x9b830057 ] # Disable SSAO
  
  uc3_JP_100_dof: &uc3_JP_100_dof
    - [ be32, 0x0093b458, 0x9b83007a ] # Disable Depth of Field
  
  uc3_JP_100_speed: &uc3_JP_100_speed
    - [ be32, 0x0093b474, 0x9b830081 ] # Speedup (WCB)
  
  uc3_JP_100_dbv: &uc3_JP_100_dbv
    - [ be32, 0x0093b6e0, 0x9b6302f9 ] # Depth buffer viewport
  
  uc3_JP_100_dbf: &uc3_JP_100_dbf
    - [ be32, 0x0093b720, 0x9b83031d ] # Depth border fix
  
  uc3_JP_100_db: &uc3_JP_100_db
    - [ be32, 0x00635fb0, 0x60000000 ] # nop byte write on 03 ec
    - [ be32, 0x0093b72c, 0x90e303ec ] # Depth buffer = 2

  uc3_110_mlaa: &uc3_110_mlaa
    - [ be32, 0x0063e014, 0x60000000 ] # nop byte write on 00 9c
    - [ be16, 0x0094d850, 0x9b83 ]     # store 0
    #- [ be32, 0x00728cac, 0x480009ac ] # unconditonally branch to disable MLAA
    # Beginning of new blooom code
    - [ be16, 0x0077bd92, 0xfd40 ]
    - [ byte, 0x0077bdb7, 0xb0 ]
    - [ byte, 0x0077be4b, 0xb0 ]
    - [ be32, 0x0077bdb0, 0x4bfacf01 ]
    - [ be32, 0x00728cb0, 0xc1a907d4 ]
    - [ be32, 0x00728cb4, 0x808907d8 ]
    # Desert storm
    - [ be32, 0x00728cb8, 0x80beacb4 ]
    - [ be32, 0x00728cbc, 0x7f842800 ]
    - [ be32, 0x00728cc0, 0x409d0030 ]
    # Deflicker check
    - [ be32, 0x00728cc4, 0x80be3e6c ]
    - [ be32, 0x00728cc8, 0x7f842800 ]
    - [ be32, 0x00728ccc, 0x409d0018 ]
    # Yemen: Talbot chase
    - [ be32, 0x00728cd0, 0x80be1144 ]
    - [ be32, 0x00728cd4, 0x7f842800 ]
    - [ be32, 0x00728cd8, 0x409d0018 ]
    # Talbot multiplier 0.5
    - [ be32, 0x00728cdc, 0x38a00068 ]
    - [ be32, 0x00728ce0, 0x48000008 ]
    # Desert storm multiplier 0.04
    - [ be32, 0x00728ce4, 0x38a0edc8 ]
    # Value correction
    - [ be32, 0x00728ce8, 0x7d85f42e ]
    - [ be32, 0x00728cec, 0xedad0332 ]
    - [ be32, 0x00728cf0, 0x4e800020 ]
    # Yemen temple Dof Correction
    - [ be32, 0x0077b864, 0x4bfad491 ]
    - [ be32, 0x00728cf4, 0xc07d08dc ]
    - [ be32, 0x00728cf8, 0x801d07e8 ]
    - [ be32, 0x00728d00, 0x409c000c ]
    - [ be32, 0x00728d04, 0xc29e0068 ]
    - [ be32, 0x00728d08, 0xec630532 ]
    - [ be32, 0x00728d0c, 0x4e800020 ]
  
  uc3_110_mb: &uc3_110_mb
    - [ be32, 0x0077aacc, 0x480000c4 ] # Disable motion 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 modes  (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, // needs correction on 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, 0x0063e010, 0x60000000 ] # nop byte write on 00 57
    - [ 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, 0x0063e00c, 0x60000000 ] # nop byte write on 03 ec
    - [ 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, 0x0064df28, 0x60000000 ] # nop byte write on 00 9c
    - [ be16, 0x0096eaa0, 0x9b83 ]     # store 0
    #- [ be32, 0x0073a1d8, 0x480009ac ] # unconditonally branch to disable MLAA
    # Beginning of new blooom code
    - [ be16, 0x0078c3aa, 0x1530 ]
    - [ byte, 0x0078c3cf, 0xb0 ]
    - [ byte, 0x0078c463, 0xb0 ]
    - [ be32, 0x0078c3c8, 0x4bfade15 ]
    - [ be32, 0x0073a1dc, 0xc1a907d4 ]
    - [ be32, 0x0073a1e0, 0x808907d8 ]
    # Desert storm
    - [ be32, 0x0073a1e4, 0x80beacec ]
    - [ be32, 0x0073a1e8, 0x7f842800 ]
    - [ be32, 0x0073a1ec, 0x409d0030 ]
    # Deflicker check
    - [ be32, 0x0073a1f0, 0x80be5774 ]
    - [ be32, 0x0073a1f4, 0x7f842800 ]
    - [ be32, 0x0073a1f8, 0x409d0018 ]
    # Yemen: Talbot chase
    - [ be32, 0x0073a1fc, 0x80be2a34 ]
    - [ be32, 0x0073a200, 0x7f842800 ]
    - [ be32, 0x0073a204, 0x409d0018 ]
    # Talbot multiplier 0.5
    - [ be32, 0x0073a208, 0x38a015f4 ]
    - [ be32, 0x0073a20c, 0x48000008 ]
    # Desert storm multiplier 0.04
    - [ be32, 0x0073a210, 0x38a01474 ]
    # Value correction
    - [ be32, 0x0073a214, 0x7d85f42e ]
    - [ be32, 0x0073a218, 0xedad0332 ]
    - [ be32, 0x0073a21c, 0x4e800020 ]
    # Yemen temple Dof Correction
    - [ be32, 0x0078be7c, 0x4bfae3a5 ]
    - [ be32, 0x0073a220, 0xc07d08dc ]
    - [ be32, 0x0073a224, 0x801d07e8 ]
    - [ be32, 0x0073a22c, 0x409c000c ]
    - [ be32, 0x0073a230, 0xc29e2998 ]
    - [ be32, 0x0073a234, 0xec630532 ]
    - [ be32, 0x0073a238, 0x4e800020 ]
  
  uc3_119_mb: &uc3_119_mb
    - [ be32, 0x0078b0e4, 0x480000c4 ] # Disable motion 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 modes  (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_96E8CC. 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, 0x0064df24, 0x60000000 ] # nop byte write on 00 57
    - [ 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, 0x0064df20, 0x60000000 ] # nop byte write on 03 ec
    - [ be32, 0x0096ed38, 0x90e303ec ] # Depth buffer = 2       (mem address: 0x1386957)

  uc3_119_devmenu: &uc3_119_devmenu
    - [ be16, 0x00042814, 0x419e ]
    - [ byte, 0x00042837, 0x1 ]
    - [ be32, 0x0083028c, 0x60000000 ] #Don't pause on Select button
    - [ be32, 0x0095b720, 0x60000000 ] #Remove "!" model render
    - [ utf8, 0x010d8cf0, "galil-rifle            " ]
    - [ utf8, 0x010d8d08, "NO_ART_GROUP           " ]
    - [ utf8, 0x010d8d20, "uber-pistol            " ]
    - [ utf8, 0x010d8d38, "dig-explosive-pack     " ]
    - [ utf8, 0x010d8d50, "shotgun-sawedoff       " ]
    - [ utf8, 0x010d8d68, "m32-grenade-launcher   " ]
    - [ utf8, 0x010d8d80, "baseball-grenade       " ]
    - [ utf8, 0x010d8d98, "t62-tank-mg-turret     " ]
    - [ utf8, 0x010d8db0, "spas12-shotgun         " ]
    - [ utf8, 0x010d8dc8, "baseball-grenade       " ]
    - [ utf8, 0x010d8de0, "m32-grenade-launcher   " ]
    - [ utf8, 0x010d8df8, "semi-auto-rifle        " ]
    - [ utf8, 0x010d8e10, "baseball-grenade       " ]
    - [ utf8, 0x010d8e28, "shade-weapon           " ]
    - [ utf8, 0x010d8e40, "statue-puzzle-torch    " ]
    - [ utf8, 0x010d8e58, "temple-cistern-map-2   " ]
    - [ utf8, 0x010d8e70, "shade-weapon           " ]
    - [ utf8, 0x010d8e88, "beretta-silenced       " ]
    - [ utf8, 0x010d8ea0, "chloe-pistol           " ]
    - [ utf8, 0x010d8eb8, "baseball-grenade       " ]
    - [ utf8, 0x010d8ed0, "shotgun-pistol         " ]
    - [ utf8, 0x010d8ee8, "p99-pistol             " ]
    - [ utf8, 0x010d8f00, "temple-cistern-map     " ]
    - [ utf8, 0x010d8f18, "tkiv-sniper-rifle      " ]
    - [ utf8, 0x010d8f30, "stun-grenade           " ]
    - [ utf8, 0x010d8f48, "rpg                    " ]
    - [ utf8, 0x010d8f60, "ak-74-a                " ]
    - [ utf8, 0x010d8f78, "walther-p5             " ]
    - [ utf8, 0x010d8f90, "pkm-rifle              " ]
    - [ utf8, 0x010d8fa8, "heavy-gau19            " ]
    - [ utf8, 0x010d8fc0, "pirate-shield          " ]
    - [ utf8, 0x010d8fd8, "baseball-grenade       " ]
    - [ utf8, 0x010d8ff0, "dragunov-rifle         " ]
    - [ utf8, 0x010d9008, "NO_ART_GROUP           " ]
    - [ utf8, 0x010d9020, "NO_ART_GROUP           " ]
    - [ utf8, 0x010d9038, "sw629-revolver         " ]
    - [ utf8, 0x010d9050, "NO_ART_GROUP           " ]
    - [ utf8, 0x010d9068, "colt-defender-pistol   " ]
    - [ utf8, 0x010d9080, "ak-74-b                " ]
    - [ utf8, 0x010d9098, "sight-scope            " ]
    - [ utf8, 0x010d90b0, "t62-tank-mg-turret     " ]
    - [ utf8, 0x010d90c8, "shade-weapon           " ]
    - [ utf8, 0x010d90e0, "yt-cistern-map-rolled  " ]
    - [ utf8, 0x010d90f8, "machine-gun            " ]
    - [ utf8, 0x010d9110, "fn-fal-rifle           " ]
    - [ utf8, 0x010d9128, "hk416                  " ]
    - [ utf8, 0x010d9140, "mpa930                 " ]
    - [ utf8, 0x010d9158, "taurus-sniper-pistol   " ]
    - [ utf8, 0x010d9170, "beretta-burst-pistol   " ]
    - [ utf8, 0x010d9188, "NO_ART_GROUP           " ]
    - [ utf8, 0x010d91a0, "riot-shield-hvk        " ]
    - [ utf8, 0x010d91b8, "baseball-grenade       " ]
    - [ utf8, 0x010d91d0, "rpg_rocket             " ]
    - [ utf8, 0x010d91e8, "t62-tank-mg-turret     " ]
    - [ utf8, 0x010d9200, "t62-tank-mg-turret     " ]
    - [ utf8, 0x010d9218, "grenade-pistol         " ]
    - [ utf8, 0x010d9230, "t62-tank-mg-turret     " ]
    - [ utf8, 0x010d9248, "t62-tank-mg-turret     " ]
    - [ be32, 0x004de820, 0x39ce0018 ] #    addi       r14,r14,0x18
    - [ be32, 0x004de828, 0x488e3b21 ] #    bl         SUB_00dc2348
    - [ be32, 0x00dc2348, 0x3de0010d ] #    lis        r15,0x10d
    - [ be32, 0x00dc234c, 0x61ef8cd8 ] #    ori        r15,r15,0x8cd8
    - [ be32, 0x00dc2350, 0x7c8f7214 ] #    add        r4,r15,r14
    - [ be32, 0x00dc2354, 0x4e800020 ] #    blr

  uc3_119_devplus: &uc3_119_devplus
    - [ be16, 0x00d9ea48, 0x202b ] # _+
    - [ be32, 0x0112cb94, 0x01381D1E ] # base ptr
    - [ be32, 0x0112cb90, 0x00df5880 ] # str
    - [ be32, 0x0002f4c0, 0x38dc009f ] # vis
    - [ be32, 0x0112cb98, 0x00df5610 ] # str
    - [ be32, 0x0002f500, 0x38dc4acb ] # wireframe
    - [ be32, 0x0112cb9c, 0x00df5628 ] # str
    - [ be32, 0x0002f53c, 0x38dc4acc ] # see through
    - [ be32, 0x0112cba0, 0x00df5648 ] # str
    - [ be32, 0x0002f578, 0x38dc4acd ] # point
    - [ be32, 0x0112cba4, 0x00df7308 ] # str
    - [ be32, 0x0002f5b4, 0x38dc48e6 ] # post on spu
    - [ be32, 0x0112cba8, 0x00df6cf0 ] # str
    - [ be32, 0x0002f5f0, 0x38dc48c4 ] # dof
    - [ be32, 0x0112cbac, 0x00df6ed8 ] # str
    - [ be32, 0x0002f62c, 0x38dc48c1 ] # mb // overwrites itself
    - [ be32, 0x0112cbb0, 0x00da05c0 ] # str
    - [ be32, 0x0002f668, 0x38dc48f1 ] # red wireframe
    - [ be32, 0x0112cbb4, 0x00da05a8 ] # str
    - [ be32, 0x0002f6a4, 0x38dc48be ] # wireframe ball
    - [ be32, 0x0112cc74, 0x00da0590 ] # str
    - [ be32, 0x0112cc78, 0x011D0F90 ] # ptr show vox to Disable Death Zone
    - [ be32, 0x0112cc7c, 0x00da0530 ] # str
    - [ be32, 0x0112cc80, 0x0137F441 ] # ptr "Log Vox To SPU TTY" to Disable Death Collision
    - [ be32, 0x0112cc84, 0x00da0548 ] # str
    - [ be32, 0x0112cc88, 0x0120C5C0 ] # ptr "Include Rejected Vox" to Disable NPC Spawn
    - [ be32, 0x0112cc8c, 0x00da0570 ] # str
    - [ be32, 0x0112cc90, 0x01343F95 ] # ptr "Log Vox Lookups to TTY" to Make Invulnerable
    - [ be32, 0x0112cc64, 0x01343F84 ] # ptr
    - [ be32, 0x0112cc68, 0x00da05e0 ]
  # Disable Death Collision
    - [ be64, 0x00da0530, 0x44697361626C6520 ]
    - [ be64, 0x00da0538, 0x446561746820436F ]
    - [ be64, 0x00da053f, 0x6C6C6973696F6E00 ]
  # Disallow Npcs from Spawning  
    - [ be64, 0x00da0548, 0x446973616C6C6F77 ]
    - [ be64, 0x00da0550, 0x204E706373206672 ]
    - [ be64, 0x00da0558, 0x6F6D20537061776E ]
    - [ be32, 0x00da0560, 0x696E6700 ]
  # Make Invulnerable
    - [ be64, 0x00da0570, 0x4D616B6520496E76 ]
    - [ be64, 0x00da0578, 0x756C6E657261626C ]
    - [ be16, 0x00da0580, 0x6500 ]
  # Enable Death Zone  
    - [ be64, 0x00da0590, 0x456E61626C652044 ]
    - [ be64, 0x00da0598, 0x65617468205A6F6E ]
    - [ be16, 0x00da05a0, 0x6500 ]
  # Enable Wireframe Balls
    - [ be64, 0x00da05a8, 0x456E61626C652057 ]
    - [ be64, 0x00da05b0, 0x6972656672616D65 ]
    - [ be64, 0x00da05b8, 0x2042616C6C730000 ]
  # Enable Red Wireframe
    - [ be64, 0x00da05c0, 0x456E61626C652052 ]
    - [ be64, 0x00da05c8, 0x6564205769726566 ]
    - [ be32, 0x00da05d0, 0x72616D65 ]
  # NPC Model Scale
    - [ be64, 0x00da05e0, 0x4E5043204D6F6465 ]
    - [ be64, 0x00da05e8, 0x6C205363616C6500 ]

  uc3_119_lanmode: &uc3_119_lanmode
    - [ be32, 0x00a6308c, 0x48371e19 ]
    - [ be64, 0x00dd4d58, 0x000009298aab4a4b ]
    - [ be32, 0x00dd4ea4, 0x81c90320 ]
    - [ be32, 0x00dd4ea8, 0x2c8e0000 ]
    - [ be32, 0x00dd4eac, 0x4086002c ]
    - [ be32, 0x00dd4eb0, 0x3e0000dd ]
    - [ be32, 0x00dd4eb4, 0x62104d58 ]
    - [ be32, 0x00dd4eb8, 0x3de0011e ]
    - [ be32, 0x00dd4ebc, 0x61ef3ba4 ]
    - [ be32, 0x00dd4ec0, 0xea300000 ]
    - [ be32, 0x00dd4ec4, 0x1e510008 ]
    - [ be32, 0x00dd4ec8, 0xfa4f0000 ]
    - [ be32, 0x00dd4ecc, 0x3a800001 ]
    - [ be32, 0x00dd4ed0, 0x92890320 ]
    - [ be32, 0x00dd4ed4, 0x9aaf0008 ]
    - [ be32, 0x00dd4ed8, 0xea6f0000 ]
    - [ be32, 0x00dd4edc, 0x7eb29800 ]
    - [ be32, 0x00dd4ee0, 0x4196000c ]
    - [ be32, 0x00dd4ee4, 0x4bf993c5 ]
    - [ be32, 0x00dd4ee8, 0x92840000 ]
    - [ be32, 0x00dd4eec, 0x88090078 ]
    - [ be32, 0x00dd4ef0, 0x4e800020 ]

  debugmenunotesUC3: &debugmenunotesUC3 "L3 + Start = Dev Menu\nL3 + Select = Quick Menu\nL3 + Triangle = Debug Text\nL2 + R2 = Debug Fly"

  uc3mlaanotes: &uc3mlaanotes "Allows for the use of Resolution Scaling in the title and also improves performance.\nVersion 2.0 Fixes high levels of Bloom in some areas. (1.10 and 1.19 Only)"

  uc3gpulightingnotes: &uc3gpulightingnotes "Uses GPU (RSX) path for lighting effects instead of SPU.\nFixes rendering of lightning effects that are being rendered broken via SPU path and greatly improves performance over it.\nThis path is incomplete and results in some missing effects such as Volumetric lighting."

  uc3camshakenotes: &uc3camshakenotes "Last modified: 1 Mar 2021\n\nDisables Camera Shake during Gameplay.\nIn-Game-Cinematics remain is unaffected."

  uc3_119title: &uc3_119title
      "Uncharted 3: Drake's Deception":
        BCES01175: [ 01.19 ]
        BCES01176: [ 01.19 ]
        BCES01670: [ 01.19 ]
        BCES01692: [ 01.19 ]
        BCUS98233: [ 01.19 ]
        BCJS37004: [ 02.17 ]
        NPEA00422: [ 01.19 ]
        NPUA80858: [ 01.19 ]
        BCUS99086: [ 01.19 ]

  uc3_110title: &uc3_110title
      "Uncharted 3: Drake's Deception":
        BCES01670: [ 01.10 ]
        BCAS25014: [ 01.10 ]

  uc3_100title: &uc3_100title
      "Uncharted 3: Drake's Deception":
        BCES01175: [ 01.00 ]
        BCES01176: [ 01.00 ]
        BCES01692: [ 01.00 ]
        BCUS98233: [ 01.00 ]

PPU-49c96996b6f3c0b32422375978c41e0c7ed95183:
  Unlock FPS:
    Games: *uc3_100title
    Author: superepic31
    Notes: Haven't tested how this affects cutscenes.
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_FPS ]
  Disable in-built MLAA:
    Games: *uc3_100title
    Author: Whatcookie
    Notes: *uc3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_mlaa ]
  Post-processing Modes:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_post ]
  Disable Mesh Trimming:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_mesh ]
  Disable SSAO:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_ssao ]
  Disable Depth of Field:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_dof ]
  Performance (WCB):
    Games: *uc3_100title
    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:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_dbv ]
  Depth Border Fix:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_dbf ]
  Enable GPU Lighting:
    Games: *uc3_100title
    Author: ZEROx, illusion
    Notes: *uc3gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_100_db ]
  Disable Camera Shake:
    Games: *uc3_100title
    Author: illusion
    Notes: *uc3camshakenotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00806c88, 0x3800 ]
  Debug Menu:
    Games: *uc3_100title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC3
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00041e34, 0x419e ]

PPU-48fa849dfeaef2f36ec042a576f29bda19ec1de0:
  Disable in-built MLAA:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: Whatcookie
    Notes: *uc3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_mlaa ]
  Post-processing Modes:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_post ]
  Disable Mesh Trimming:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_mesh ]
  Disable SSAO:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_ssao ]
  Disable Depth of Field:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_dof ]
  Performance (WCB):
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.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_JP_100_speed ]
  Depth Buffer Viewport:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_dbv ]
  Depth Border Fix:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_dbf ]
  Enable GPU Lighting:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *uc3gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_JP_100_db ]
  Debug Menu:
    Games:
      "Uncharted 3: Drake's Deception":
        BCJS37004: [ 01.00 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC3
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00041e34, 0x419e ]

PPU-664fb0e4a94c62c15a6474841c202fb2bf80ce16:
  Disable in-built MLAA:
    Games: *uc3_110title
    Author: Whatcookie, ZEROx
    Notes: *uc3mlaanotes
    Patch Version: 2.0
    Patch:
      - [ load, *uc3_110_mlaa ]
  Disable Motion Blur:
    Games: *uc3_110title
    Author: ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_mb ]
  Disable Bloom:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_post ]
  Disable Mesh Trimming:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_mesh ]
  Disable SSAO:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_ssao ]
  Disable Depth of Field:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_dof ]
  Performance (WCB):
    Games: *uc3_110title
    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:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_dbv ]
  Depth Border Fix:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_dbf ]
  Enable GPU Lighting:
    Games: *uc3_110title
    Author: ZEROx, illusion
    Notes: *uc3gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_110_db ]
  Disable Camera Shake:
    Games: *uc3_110title
    Author: illusion
    Notes: *uc3camshakenotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00812b44, 0x3800 ]
  Debug Menu:
    Games: *uc3_110title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC3
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00042624, 0x419e ]

PPU-02a88c3c6cd415b0bb81f1606bc743835881a4ba:
  Unlock FPS:
    Games: *uc3_119title
    Author: superepic31
    Notes: Haven't tested how this affects cutscenes.
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_FPS ]
  Disable in-built MLAA:
    Games: *uc3_119title
    Author: Whatcookie, ZEROx
    Notes: *uc3mlaanotes
    Patch Version: 2.0
    Patch:
      - [ load, *uc3_119_mlaa ]
  Disable Motion Blur:
    Games: *uc3_119title
    Author: ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_mb ]
  Disable Bloom:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_post ]
  Disable Mesh Trimming:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_mesh ]
  Disable SSAO:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_ssao ]
  Disable Depth of Field:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_dof ]
  Performance (WCB):
    Games: *uc3_119title
    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:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_dbv ]
  Depth Border Fix:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_dbf ]
  Enable GPU Lighting:
    Games: *uc3_119title
    Author: ZEROx, illusion
    Notes: *uc3gpulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_db ]
  Debug Menu:
    Games: *uc3_119title
    Author: dron_3, HdHereidme, illusion, ZEROx, Skye
    Notes: *debugmenunotesUC3
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_devmenu ]
  Dev Menu Plus:
    Games: *uc3_119title
    Author: illusion, Skye
    Notes: "Last modified: December 14 2020\nReplaces audio options with various debug features."
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_devplus ]
  Disable Camera Shake:
    Games: *uc3_119title
    Author: illusion
    Notes: *uc3camshakenotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x008242cc, 0x3800 ]
  Enable Lan Mode:
    Games: *uc3_119title
    Author: "illusion, ZEROx, Skye"
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *uc3_119_lanmode ]
  Skip Intro:
    Games: *uc3_119title
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00043e2c, 0x480000dc ]

Anchors:

  uc3beta100_title: &uc3beta100_title
      "Uncharted 3: Drake's Deception Multiplayer Beta":
        NPUA70153: [ 01.00 ]
        BCET70034: [ 01.00 ]

  uc3beta104_title: &uc3beta104_title
      "Uncharted 3: Drake's Deception Multiplayer Beta":
        NPUA70153: [ 01.04 ]
        BCET70034: [ 01.04 ]

PPU-e63051dc8ec0f9256f047f62a6abd0e955805419:
  "Bug Fix: Crash on Entering LAN MP Menu":
    Games: *uc3beta100_title
    Author: "illusion"
    Patch Version: 1.0
    Patch:
      - [ byte, 0x0003e6c3, 0x0 ]
  Disable Uncharted TV:
    Games: *uc3beta100_title
    Author: illusion
    Notes: "Fixes significant slowdown because the video is no longer hosted on server"
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00700f42, 0x0000 ] # ret 0
      - [ be16, 0x00700f50, 0x4800 ] # dont spawn video threads
  Disable Camera Sprint:
    Games:
      "Uncharted 3: Drake's Deception Multiplayer Beta":
        NPUA70153: [ 01.00 ]
        BCET70034: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0019e450, 0x98c30178 ]
  Unlock Main Menu:
    Games: *uc3beta100_title
    Author: "illusion, ZEROx, Skye"
    Patch Version: 1.0
    Patch:
      - [ be64, 0x00cea3d0, 0x000009298aab4a4b ]
      - [ be32, 0x007f8fc4, 0x484f131d ]
      - [ be32, 0x00cea2e0, 0x81c90320 ]
      - [ be32, 0x00cea2e4, 0x2c8e0000 ]
      - [ be32, 0x00cea2e8, 0x4086002c ]
      - [ be32, 0x00cea2ec, 0x3e0000ce ]
      - [ be32, 0x00cea2f0, 0x621041c0 ]
      - [ be32, 0x00cea2f4, 0x3de0010e ]
      - [ be32, 0x00cea2f8, 0x61ef319c ]
      - [ be32, 0x00cea2fc, 0xea306210 ]
      - [ be32, 0x00cea300, 0x1e510008 ]
      - [ be32, 0x00cea304, 0xfa4f6f8c ]
      - [ be32, 0x00cea308, 0x3a800001 ]
      - [ be32, 0x00cea30c, 0x92890320 ]
      - [ be32, 0x00cea310, 0x9aaf6f94 ]
      - [ be32, 0x00cea314, 0xea6f6f8c ]
      - [ be32, 0x00cea318, 0x7eb29800 ]
      - [ be32, 0x00cea31c, 0x4196000c ]
      - [ be32, 0x00cea320, 0x4bf993c5 ]
      - [ be32, 0x00cea324, 0x92840000 ]
      - [ be32, 0x00cea328, 0x88090078 ]
      - [ be32, 0x00cea32c, 0x4e800020 ]

PPU-9584776e7fca409ed410f8a713832267020d8ac3:
  "Bug Fix: Crash on Entering LAN MP Menu":
    Games: *uc3beta104_title
    Author: "illusion"
    Patch Version: 1.0
    Patch:
      - [ byte, 0x0003e563, 0x0 ]
  Disable Uncharted TV:
    Games: *uc3beta104_title
    Author: illusion
    Notes: "Fixes crash after entering MP menu due to offline video streaming API"
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0070194e, 0x0000 ] # ret 0
      - [ be16, 0x0070195c, 0x4800 ] # dont spawn video threads
  Disable Sprint Camera:
    Games: *uc3beta104_title
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0019e300, 0x98c30178 ]
  Disable Camera Shake:
    Games: *uc3beta104_title
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0076e440, 0x38000001 ]
  Unlock Main Menu:
    Games: *uc3beta104_title
    Author: "illusion, ZEROx"
    Patch Version: 1.0
    Patch:
      - [ be64, 0x00d1e414, 0x000009298aab4a4b ]
      - [ be32, 0x007f9f20, 0x4852449d ] #     bl         SUB_00d1e3bc
      - [ be32, 0x00d1e3bc, 0x81c90320 ] #     lwz        r14,0x320(r9)
      - [ be32, 0x00d1e3c0, 0x2c8e0000 ] #     cmpwi      cr1,r14,0x0
      - [ be32, 0x00d1e3c4, 0x4086002c ] #     bne        cr1,LAB_00d1e3f0
      - [ be32, 0x00d1e3c8, 0x3e0000d1 ] #     lis        r16,0xd1
      - [ be32, 0x00d1e3cc, 0x6210e40c ] #     ori        r16,r16,0xe40c
      - [ be32, 0x00d1e3d0, 0x3de00110 ] #     lis        r15,0x110
      - [ be32, 0x00d1e3d4, 0x61efb828 ] #     ori        r15,r15,0xb828
      - [ be32, 0x00d1e3d8, 0xea300008 ] #     ld         r17,0x8(r16)=>DAT_00d1e414
      - [ be32, 0x00d1e3dc, 0x1e510008 ] #     mulli      r18,r17,0x8
      - [ be32, 0x00d1e3e0, 0xfa4f0000 ] #     std        r18,0x0(r15)=>LAB_0011b828
      - [ be32, 0x00d1e3e4, 0x3a800001 ] #     li         r20,0x1
      - [ be32, 0x00d1e3e8, 0x92890320 ] #     stw        r20,0x320(r9)
      - [ be32, 0x00d1e3ec, 0x9aaf0008 ] #     stb        r21,0x8(r15)=>LAB_0011b830
      - [ be32, 0x00d1e3f0, 0xea6f0000 ] #     ld         r19,0x0(r15)=>LAB_0011b828
      - [ be32, 0x00d1e3f4, 0x7eb29800 ] #     cmpd       cr5,r18,r19
      - [ be32, 0x00d1e3f8, 0x4196000c ] #     beq        cr5,LAB_00d1e404
      - [ be32, 0x00d1e3fc, 0x4bf993b5 ] #     bl         FUN_00cb77b0
      - [ be32, 0x00d1e400, 0x92840000 ] #     stw        r20,0x0(r4)
      - [ be32, 0x00d1e404, 0x88090078 ] #     lbz        r0,0x78(r9)
      - [ be32, 0x00d1e408, 0x4e800020 ] #     blr
  Disable Post on SPU:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Notes: "Slight overbloom in some areas, needs correction."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00897644, 0x9b43 ] # post on spu         = 0
  Disable Motion Blur:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x008975f8, 0x9b43 ] # mb                  = 0
  Disable Mesh Trimming:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x006b1cc0, 0x9949 ] # mesh trim           = 0
  Disable SSAO:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00897578, 0x9b43 ] # ssao                = 0
  Disable Depth of Field:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00897604, 0x9b43 ] # dof                 = 0
  Performance (WCB):
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Notes: Enable this patch if you are using "Write Color Buffers" to restore performance.
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00897620, 0x9b83 ] # reload depth buffer = 0
  Depth Buffer Viewport:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00897880, 0x9b63 ] # depth viewport      = 1
  Depth Border Fix:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x008978c0, 0x9b83 ] # depth border        = 0
  Enable GPU Lighting:
    Games: *uc3beta104_title
    Author: illusion, ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x008978cc, 0x9103 ] # spu lighting        = 2

Anchors:
  gt5_unlockfps_notes: &gt5_unlockfps_notes "Cutscenes rendered in the game's engine speed up"

PPU-5eb226d8430cf943cca1344fcf0c76db15aaaeb7:
  Extended FOV:
    Games:
      "Gran Turismo 5":
        BCES00569: [ 01.00 ]
    Author: illusion
    Notes: Global FOV setting
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x18EFF34, 0.75 ] # tweak this number to your liking
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCES00569: [ 01.00 ] # may work for us ver, idk
    Author: illusion
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008cffb4, 0x38800000 ]

PPU-9216b03cf8f4ff27a57ff44ede2bc43a9d3087c0:
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCES00569: [ 01.12 ] # may work for us ver, idk
    Author: illusion
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00a0f640, 0x38800000 ] #1.12 eboot (1.13 doesn't have elf)

PPU-ef552ab6594271862d9c6ab62e982c92380ad6cd:
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCUS98114: [ 01.13 ] # it works for us version
    Author: illusion
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00a0f640, 0x38800000 ] #1.12 eboot (1.13 doesn't have elf)

PPU-223cc85fc80a6667fae775c7c02f7f65e6b2871f :
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCES00569: [ 02.17 ]
    Author: ZEROx
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x001855cb, 0 ] # unlock fps ingame
      - [ byte, 0x001855d7, 0 ] # unlock fps ingame
      - [ be32, 0x0085f804, 0x38800000 ] # unlock fps in menu

PPU-d73f342bf28ee016ef3d0ccb309b1acb03d8ecce :
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCUS98114: [ 02.11 ]
    Author: ZEROx
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x00185457, 0 ] # unlock fps ingame
      - [ byte, 0x00185463, 0 ] # unlock fps ingame
      - [ be32, 0x0085f804, 0x38800000 ] # unlock fps in menu

PPU-a5e547ce3ce25092ac6cae85631f50ba5d9ea914 :
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCUS98114: [ 02.17 ]
    Author: ZEROx
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x00185457, 0 ] # unlock fps ingame
      - [ byte, 0x00185463, 0 ] # unlock fps ingame
      - [ be32, 0x0085f804, 0x38800000 ] # unlock fps in menu

PPU-7a5ee7bc2fef9566dd80e35893fe2c5571197726 :
  Unlock FPS:
    Games:
      "Gran Turismo 5":
        BCES00569: [ 02.11 ]
    Author: ZEROx
    Notes: *gt5_unlockfps_notes
    Patch Version: 1.0
    Patch:
      - [ byte, 0x00185457, 0 ] # unlock fps ingame
      - [ byte, 0x00185463, 0 ] # unlock fps ingame
      - [ be32, 0x0085f804, 0x38800000 ] # unlock fps in menu

PPU-57abea58cae339a0ef9ed99374a0fe7f48b2f72d:
  21:9 Aspect Ratio:
    Games:
      "Gran Turismo HD Concept":
        NPUA80019: [ All ]
    Author: illusion
    Notes: "Enable \"Stretch to Display Area\" option to take advantage of this patch."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x9BAD04, 0x3F95C28F ]
  Extended FOV:
    Games:
      "Gran Turismo HD Concept":
        NPUA80019: [ All ]
    Author: illusion
    Notes: Might work with other versions with adjustments.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x9BCCD4, 0.75 ] # tweak this number to your liking
  No HUD:
    Games:
      "Gran Turismo HD Concept":
        NPUA80019: [ All ]
    Author: illusion
    Notes: Disable In Game HUD, needs further testing.
    Patch Version: 1.0
    Patch:
    #  - [ be32, 0x9C3488, 0x00000001 ] # Menu HUD scale (never use this)
      - [ be32, 0x9BA544, 0x00000000 ]

PPU-ad3a1ecff65a78f9a8380ff4f12960f499604bf4:
  21:9 Aspect Ratio:
    Games:
      "Gran Turismo HD Concept":
        NPEA90002: [ All ]
    Notes: "Enable \"Stretch to Display Area\" option to take advantage of this patch."
    Patch Version: 1.0
    Patch:
      - [be32, 0x9BAD3C, 0x3F95C28F]
  Extended FOV:
    Games:
      "Gran Turismo HD Concept":
        NPEA90002: [ All ]
    Author: illusion
    Notes: Might work with other versions with adjustments.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x9BCD0C, 0.75 ] # tweak this number to your liking
  No HUD:
    Games:
      "Gran Turismo HD Concept":
        NPEA90002: [ All ]
    Author: illusion
    Notes: Disable In Game HUD, needs further testing.
    Patch Version: 1.0
    Patch:
    #  - [ be32, 0x9C34C8, 0x00000001 ] # Menu HUD scale (never use this)
      - [ be32, 0x9BA57C, 0x00000000 ]

PPU-545c1abbf1c562d60fca7435401f020beab76b53:
  Create Mode:
    Games:
      "LittleBigPlanet":
        NPUA80472: [ 01.30 ]
        BCUS98208: [ 01.30 ]
        BCES00611: [ 01.30 ]
    Author: Zhaxxy, Aphelion
    Notes: Enables create mode permanently in all levels until deactivated.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0001877C, 0x38E00001 ]

PPU-4ff9503c80ff356080c96f3828890906073b8e43:
  Create Mode:
    Games:
      "LittleBigPlanet 3":
        NPUA81116: [ 01.26 ]
        BCUS98362: [ 01.26 ]
    Author: Zhaxxy
    Notes: "Permanently be in create mode until unchecked (Flying in the pod will cause sackboy to go far away from the pod, teleport yourself into the pod via a player teleporter then stop flying)."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001ED2AC, 0x41E00001 ]

Anchors:
  tox_gald: &tox_gald
    - [ be32, 0x0020337C, 0x80690FEF ]

  tox_hp: &tox_hp
    - [ be32, 0x0018A210, 0x9BDD000C ]
    - [ be32, 0x00187A60, 0x3A30270F ]

  tox_fps: &tox_fps
    - [ be32, 0x00710694, 0x38600002 ]
    - [ be32, 0x0023F114, 0x3A900001 ]

PPU-a7f26bbbcb13fd5f554d0612f490861feec78e8f:
  60 FPS:
    Games:
      "Tales of Xillia":
        NPUB31136: [ All ]
        BLUS31006: [ All ]
    Author: Aphelion, illusion
    Notes: Set VBlank Frequency to 60. Gameplay will slow down if the framerate dips below 60.
    Patch Version: 1.1
    Patch:
      - [ load, *tox_fps ]
  Infinite Gald:
    Games:
      "Tales of Xillia":
        NPUB31136: [ All ]
        BLUS31006: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ load, *tox_gald ]
  Infinite Health:
    Games:
      "Tales of Xillia":
        NPUB31136: [ All ]
        BLUS31006: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.1
    Patch: 
      - [ load, *tox_hp ]

PPU-62b0f370c487523166efb0d4b4a24e627acc3488:
  60 FPS:
    Games:
      "Tales of Xillia":
        BLES01815: [ All ]
        NPEB01310: [ All ]
    Author: Aphelion, illusion
    Notes: Set VBlank Frequency to 60. Gameplay will slow down if the framerate dips below 60.
    Patch Version: 1.0
    Patch:
      - [ load, *tox_fps ]
  Infinite Gald:
    Games:
      "Tales of Xillia":
        BLES01815: [ All ]
        NPEB01310: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ load, *tox_gald ]
  Infinite Health:
    Games:
      "Tales of Xillia":
        BLES01815: [ All ]
        NPEB01310: [ All ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch: 
      - [ load, *tox_hp ]

Anchors:
  tox2_hp: &tox2_hp
    - [ be32, 0x00184934, 0x9BA70010 ]
    - [ be32, 0x0017A7E8, 0x3A10270E ]

PPU-d96e838f10e9730d8ba21659e02663b44488670f: 
  60 FPS:
    Games:
      "Tales of Xillia 2":
        NPUB31443: [ All ]
        BLUS31397: [ All ]
    Author: Aphelion
    Notes: Set VBlank Frequency to 60. Gameplay will slow down if the framerate dips below 60.
    Patch Version: 1.1
    Patch:
      - [ be32, 0x00846290, 0x38600002 ]
      - [ be32, 0x00282AF4, 0x3A900001 ]
  Infinite Health:
    Games:
      "Tales of Xillia 2":
        NPUB31443: [ All ]
        BLUS31397: [ All ]
    Author: Aphelion
    Notes: In-game menu is a little ugly, but it works.
    Patch Version: 1.1
    Patch:
      - [ load, *tox2_hp ]

PPU-c83d91c3be29b1460777f8a5d7fa5a111b1237b0: 
  60 FPS:
    Games:
      "Tales of Xillia 2":
        NPEB01858: [ All ]
        BLES01962: [ All ]
    Author: Aphelion
    Notes: Set VBlank Frequency to 60. Gameplay will slow down if the framerate dips below 60.
    Patch Version: 1.1
    Patch:
      - [ be32, 0x00846310, 0x38600002 ]
      - [ be32, 0x00282B2C, 0x3A900001 ]
  Infinite Health:
    Games:
      "Tales of Xillia 2":
        NPEB01858: [ All ]
        BLES01962: [ All ]
    Author: Aphelion
    Notes: In-game menu is a little ugly, but it works.
    Patch Version: 1.1
    Patch:
      - [ load, *tox2_hp ]

PPU-c5d2fd31933f88313956774b84346d242979eba6:
  "Disable Fisheye":
    Games:
      "Skate 2":
        BLUS30253: [ 01.02 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0043c84c, 0xc0090088 ] # lfs f0,0x88(r9)
      - [ be32, 0x0043c808, 0xc3c90048 ] # lfs f30,0x48(r9)

PPU-8fd7b704255420d0e9a6b337b6d1bcaae39ff569:
  "Disable Fisheye":
    Games:
      "Skate 2":
        BLES00461: [ 01.02 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0043c84c, 0xc0090088 ] # lfs f0,0x88(r9)
      - [ be32, 0x0043c808, 0xc3c90048 ] # lfs f30,0x48(r9)

PPU-08da3b601b335c5b09e6425b27fe00eacdad6e78:
  Unlock FPS:
    Games:
      "Resistance 2":
        BCUS98120: [ 01.00 ]
        BCES00226: [ 01.00 ]
    Author: Whatcookie
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00635d7c, 0x60000000 ] # nop
      - [ be32, 0x00635d88, 0x60000000 ] # nop
      - [ bef32, 0x00d529d8, 0.0001 ]
      - [ bef32, 0x00d69eb8, 0.0001 ]
  Extended FOV:
    Games:
      "Resistance 2":
        BCUS98120: [ 01.00 ]
        BCES00226: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00de67e4, 0.7 ]

PPU-ee7a0a8f83814fd2570ac65e744951cf59264491:
  Unlock FPS:
    Games:
      "Resistance 2":
        BCUS98120: [ 01.60 ]
        BCES00226: [ 01.60 ]
    Author: Whatcookie, illusion
    Patch Version: 1.0
    Patch:
      - [ be16,  0x0065066c, 0x4800 ]
      - [ bef32, 0x00D62F34, 0.0001 ]
      - [ bef32, 0x00D7A498, 0.0001 ]
  Extended FOV:
    Games:
      "Resistance 2":
        BCUS98120: [ 01.60 ]
        BCES00226: [ 01.60 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00df765c, 0.7 ]

PPU-bf22ce18fc3db486aae9c878afa5212b98b53495: # PSN
  Unlock FPS:
    Games:
      "Resistance 2":
        NPEA00431: [ 01.00 ]
    Author: Whatcookie, illusion
    Patch Version: 1.0 
    Patch:
      - [ be32, 0x0064816c, 0x60000000 ] # nop
      - [ be32, 0x00648178, 0x60000000 ] # nop
      - [ bef32, 0x00d62ee4, 0.0001 ]
      - [ bef32, 0x00d7a450, 0.0001 ]
  Extended FOV:
    Games:
      "Resistance 2":
        NPEA00431: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00DF78EC, 0.7 ]

PPU-0e95b58ae209a37060f3388434b59bcce8a708ab:
  21:9 Aspect Ratio:
    Games:
      "WipEout HD":
        NPEA00057: [ 02.51 ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x7E4190, 0x4017B9AA ] # 21:9 Aspect Ratio
      - [ be32, 0x7EB4A4, 0x4017B9AA ] # Render Fix

PPU-644ef72f7233d9fc7fb4c891083714ee8db474c7:
  Extended FOV:
    Games:
      "WipEout HD":
        NPUA80105: [ 02.51 ]
    Author: illusion
    Notes: "Patched default is 0.6"
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x72E544, 0.6 ]

Anchors:
  iconotes: &iconotes "Allows for the use of Resolution Scaling in the title and improves performance."

PPU-1b40cda726a12a28393206edcd63252df76ca39c: # ICO eboot.bin
  Disable MLAA:
    Games:
      "ICO":
        NPEA00279: [ 01.00 ]
        NPUA80676: [ 01.00 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00045c84, 0x38800000 ] # li r4 0x0
      - [ be32, 0x00476af4, 0x40800003 ] # il r3 0x0
      - [ be32, 0x00476d9c, 0x40800017 ] # il r23 0x0
# Memory Patches
  Disable Blur:
    Games:
      "ICO":
        NPEA00279: [ 01.00 ]
        NPUA80676: [ 01.00 ]
    Author: illusion
    Notes:
    Patch Version: 1.00
    Patch:
      - [  byte, 0x4D20CB, 0 ]
  Disable All Post-processing:
    Games:
      "ICO":
        NPEA00279: [ 01.00 ]
        NPUA80676: [ 01.00 ]
    Author: illusion
    Notes:
    Patch Version: 1.00
    Patch:
      - [  byte, 0x4D20BF, 0 ]

PPU-9a604c56796a32bf86ff037b682b0a744eb6a0dd: # ICO.self
  Disable MLAA:
    Games:
      "ICO":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00045a50, 0x38800000 ] # li r4 0x0
      - [ be32, 0x00475f74, 0x40800003 ] # il r3 0x0
      - [ be32, 0x0047621c, 0x40800017 ] # il r23 0x0
# Memory Patches
  Disable Blur:
    Games:
      "ICO":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ byte, 0x4D203B, 0 ]
  Disable All Post-processing:
    Games:
      "ICO":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ byte, 0x4D202F, 0 ]

PPU-20445ff41192238543f15e956926d03f93d23878: # ICO.self 1.01
  Disable MLAA:
    Games:
      "ICO":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00279: [ 01.01 ]
        NPUA80676: [ 01.01 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x004e224c, 0x00000000 ] # 0 int32
      - [ be32, 0x00477d74, 0x40800003 ] # il r3 0x0
      - [ be32, 0x0047801c, 0x40800017 ] # il r23 0x0
  "Restore debug printf (Warning: Log Spam!)":
    Games:
      "ICO":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00279: [ 01.01 ]
        NPUA80676: [ 01.01 ]
    Author: illusion
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00015e50, 0x480ecd20 ] # b 0x00102b70
# Memory Patches
  Disable Blur:
    Games:
      "ICO":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00279: [ 01.01 ]
        NPUA80676: [ 01.01 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ byte, 0x4E215B, 0 ]
  Disable All Post-processing:
    Games:
      "ICO":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00279: [ 01.01 ]
        NPUA80676: [ 01.01 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ byte, 0x4E214F, 0 ]

PPU-07500788ed015ad425938fbde3b857487b38397b: # shadow.self 1.00
  Disable Bloom:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00209d88, 0x38000000 ] # li r0 0x0
  Disable Motion Blur:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x0021951C, 0x38000000 ] # li r0 0x0
      - [ be32, 0x00219360, 0x38000000 ] # li r0 0x0
  Disable MLAA:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00200c58, 0x38000000 ] # li r0 0x0
      - [ be32, 0x006f8374, 0x40800003 ] # il r3 0x0
      - [ be32, 0x006f861c, 0x40800017 ] # il r23 0x0
# Memory Patches
  Extended FOV:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.00 ]
        BCUS98259: [ 01.00 ]
    Author: illusion
    Notes: Camera may zoom out during cinematic change. 
    Patch Version: 1.00
    Patch:
      - [ bef32, 0x732894, 1.5 ]

PPU-4a1a2300cf31f269d76406d095f2babaa47ae8d3: # shadow eboot.bin
  Disable Bloom:
    Games:
      "Shadow of the Colossus":
        NPEA00280: [ 01.00 ]
        NPUA80677: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x0020a338, 0x38000000 ] # li r0 0x0
  Disable Motion Blur:
    Games:
      "Shadow of the Colossus":
        NPEA00280: [ 01.00 ]
        NPUA80677: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x0021951C, 0x38000000 ] # li r0 0x0
      - [ be32, 0x00219910, 0x38000000 ] # li r0 0x0
  Disable MLAA:
    Games:
      "Shadow of the Colossus":
        NPEA00280: [ 01.00 ]
        NPUA80677: [ 01.00 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x002011fc, 0x38000000 ] # li r0 0x0
      - [ be32, 0x006f8af4, 0x40800003 ] # il r3 0
      - [ be32, 0x006f8d9c, 0x40800017 ] # il r23 0
# Memory Patches
  Extended FOV:
    Games:
      "Shadow of the Colossus":
        NPEA00280: [ 01.00 ]
        NPUA80677: [ 01.00 ]
    Author: illusion
    Notes: Camera may zoom out during cinematic change. 
    Patch Version: 1.00
    Patch:
      - [ bef32, 0x7328C4, 1.5 ]

PPU-07b749cb166a9d6a924bb59428880e3836ab67c9: # shadow.self 1.01
  Disable Bloom:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00280: [ 01.01 ]
        NPUA80677: [ 01.01 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x0020ab50, 0x38000000 ] # li r0 0x0
  Disable Motion Blur:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00280: [ 01.01 ]
        NPUA80677: [ 01.01 ]
    Author: illusion
    Notes: 
    Patch Version: 1.00
    Patch:
      - [ be32, 0x0021A2E4, 0x38000000 ] # li r0 0x0
      - [ be32, 0x0021A128, 0x38000000 ] # li r0 0x0
  Disable MLAA:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00280: [ 01.01 ]
        NPUA80677: [ 01.01 ]
    Author: illusion
    Notes: *iconotes
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00201A14, 0x38000000 ] # li r0 0x0
      - [ be32, 0x006f96f4, 0x40800003 ] # il r3 0x0
      - [ be32, 0x006f999c, 0x40800017 ] # il r23 0x0
# Memory Patches
  Extended FOV:
    Games:
      "Shadow of the Colossus":
        BCES01097: [ 01.01 ]
        BCES01115: [ 01.01 ]
        BCUS98259: [ 01.01 ]
        NPEA00280: [ 01.01 ]
        NPUA80677: [ 01.01 ]
    Author: illusion
    Notes: Camera may zoom out during cinematic change. 
    Patch Version: 1.00
    Patch:
      - [ bef32, 0x7328DC, 1.5 ]

PPU-79c9f5ae14fe84851dca7bfe33f58bee3367730b:
  21:9 Aspect Ratio:
    Games:
      "Metal Gear Solid 2: Sons of Liberty - HD Edition":
        NPEB00685: [ All ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0xDEE1B0, 0x3F100001 ] # INGAME 21:9 AR

Anchors:
  debugmenunotesUC1: &debugmenunotesUC1 "Last modified: 24 November 2020\n\nEnable Debug Console mode to unlock full menu (DECR Console)\nL3 + Start = Dev Menu\nL3 + Select = Quick Menu (Use this to unlock others)\nL3 + Triangle = Debug Text\nL2 + R2 = Debug Fly"

PPU-8007056e52279bea26c15669d1ee08c2df321d00:
  Disable Motion Blur:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.00 ]
        BCUS98103: [ 01.00 ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xec2a8, 0x995d ] # (mem address: 0x42974A)
  Disable Depth of Field:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.00 ]
        BCUS98103: [ 01.00 ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xec2a0, 0x995d ] # (mem address: 0x42974C)
  Debug Menu:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.00 ]
        BCUS98103: [ 01.00 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC1
    Patch Version: 1.0
    Patch:
      - [ be16, 0x4e61c, 0x409e ]

PPU-8363904e0b8fc276380a8f0e158dd81d7a9cefc5:
  Disable Motion Blur:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.01 ]
        BCUS98103: [ 01.10 ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xe5284, 0x995d ] # (mem address: 0xBB43DA)
  Disable Depth of Field:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.01 ]
        BCUS98103: [ 01.10 ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xe527c, 0x995d ] # (mem address: 0xBB43DC)
  Debug Menu:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.01 ]
        BCUS98103: [ 01.10 ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC1
    Patch Version: 1.0
    Patch:
      - [ be16, 0x4b6ac, 0x409e ]
  Unlock Devkit menus:
    Games:
      "Uncharted: Drake's Fortune":
        BCES00065: [ 01.01 ]
        BCUS98103: [ 01.10 ]
    Author: illusion
    Notes: "Last modified: Decmeber 16 2020\n\nUnlocks some devkit menu without DECR.\nRendering\nCollision (needs working msgcon)\nInteractive Background\nPhysics\nParticles"
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0007023c, 0x4800 ] # rendering
      - [ be16, 0x00070300, 0x4800 ] # col
      - [ be16, 0x000703c0, 0x4800 ] # game
      - [ be16, 0x00070434, 0x4800 ] # inter background
      - [ be16, 0x000708d4, 0x4800 ] # phys
      - [ be16, 0x00071af0, 0x4800 ] # 
      - [ be16, 0x00071ed0, 0x4800 ] # particles

PPU-3488cb6c2a7178978b5044b09c7c7ef8397440c0:
  Disable Motion Blur:
    Games:
      "Uncharted: Drake's Fortune":
        NPEA00363: [ All ]
        NPUA80697: [ All ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xe5234, 0x995d ] # (mem address: 0xBB321A)
  Disable Depth of Field:
    Games:
      "Uncharted: Drake's Fortune":
        NPEA00363: [ All ]
        NPUA80697: [ All ]
    Author: illusion
    Notes: "Last modified: 02 June 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0xe522c, 0x995d ] # (mem address: 0xBB321C)
  Debug Menu:
    Games:
      "Uncharted: Drake's Fortune":
        NPEA00363: [ All ]
        NPUA80697: [ All ]
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotesUC1
    Patch Version: 1.0
    Patch:
      - [ be16, 0x4b5c4, 0x419e ] # has it's function branched out!
  "Bug Fix: Slow Init Times":
    Games:
      "Uncharted: Drake's Fortune":
        NPEA00363: [ All ]
        NPUA80697: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch: 
      - [ be16, 0x0004b5d4, 0x409e ] # todo: port to other versions

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:
  Unlock FPS:
    Games:
      "Dark Souls":
        BLUS30782: [ 01.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 ]

PPU-65078c652115190ecb64b7ff52bbf1c68696deb6:
  Unlock FPS:
    Games:
      "Destroy All Humans! Path of the Furon":
        BLES00467: [ All ]
    Author: Whatcookie
    Notes: Completely unlocks FPS and doesn't require any special settings. Use Framelimit or VSync option to cap the maximum framerate.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x010b9e68, 0x60000000 ]
      - [ be32, 0x010b9ec0, 0x60000000 ]

PPU-1369b92d59b3727ea77257795263de460e621823:
  Unlock Pitch Black Out Venue:
    Games:
      "DJ Hero 2":
        BLUS30526: [ 01.00 ]
    Author: shockdude
    Notes: Unlocks a stage venue called "Pitch Black Out", which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x86d99c, 0x58585858 ]

PPU-c779b7ecc73ebd460c15d70917db75fe69399aa1:
  Unlock Pitch Black Out Venue:
    Games:
      "DJ Hero 2":
        BLUS30526: [ 01.01 ]
    Author: shockdude
    Notes: Unlocks a stage venue called "Pitch Black Out", which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x86f718, 0x58585858 ]

PPU-b70a9965638aa43c4edec58683cf0f2dfed8071b:
  Unlock Pitch Black Out Venue:
    Games:
      "DJ Hero 2":
        BLES00896: [ 01.00 ]
    Author: shockdude
    Notes: Unlocks a stage venue called "Pitch Black Out", which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x86d55c, 0x58585858 ]

PPU-bccea158f89820de105a87541c9252052538a5fb:
  Unlock Pitch Black Out Venue:
    Games:
      "DJ Hero 2":
        BLES00896: [ 01.01 ]
    Author: shockdude
    Notes: Unlocks a stage venue called "Pitch Black Out", which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x86f2d8, 0x58585858 ]

PPU-530aadd4c93166a0ca0d3acbe963a09f7926b878:
  Force Pitch Black Out Venue:
    Games:
      "DJ Hero 2 Demo":
        NPUB90438: [ 01.00 ]
    Author: shockdude
    Notes: Replaces the demo's "London" venue with the "Pitch Black Out" venue, which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x7b3c40, 0x51756179 ]
      - [ be32, 0x7b3c44, 0x32360000 ]

PPU-13887eb1bfe4ad2564cb7b9583e8e957a860c04a:
  Force Pitch Black Out Venue:
    Games:
      "DJ Hero 2 Demo":
        NPEB90275: [ 01.00 ]
    Author: shockdude
    Notes: Replaces the demo's "London" venue with the "Pitch Black Out" venue, which has a completely black background. Useful for getting more performance on lower-spec PCs.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x7b37cc, 0x51756179 ]
      - [ be32, 0x7b37d0, 0x32360000 ]

Anchors:
  crabnotes: &crabnotes "Set Framelimt to 60FPS as going above this will speed up.\nIn-Game Cinematics animations and camera are only interpolated at 30FPS."

PPU-4aeb132cdf86d9c4ab20e48ae70cc823e455e05d:
  21:9 Aspect Ratio:
    Games:
      "Genji: Days of the Blade":
        BCES00002: [ 01.00 ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x100FA8B0, 0x4017B9AA ] # 21:9
  60 FPS:
    Games:
      "Genji: Days of the Blade":
        BCES00002: [ 01.00 ]
    Author: Esppiral, illusion
    Notes: *crabnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004D0178, 0x38000000 ] # li r0 0x0

PPU-d99d403214a204b9fe8a5c23079dab8ddf4c0654:
  60 FPS:
    Games:
      "Genji: Days of the Blade":
        BCAS20002: [ 01.00 ]
    Author: illusion
    Notes: *crabnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004cbda8, 0x38000000 ] # li r0 0x0

PPU-daf192f4e83562758e1f988455b14f1b52b51537:
  60 FPS:
    Games:
      "Harry Potter and the Half-Blood Prince":
        BLES00424: [ 01.00 ]
    Author: illusion
    Notes: "Set vblank to 120hz for 60FPS Gameplay.\nMay work with other versions with adjustments."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x003c761c, 0x38000001 ] # li r0 0x1

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:
  Sign in without connecting a PSP:
    Games:
      "Hatsune Miku: Project DIVA Dreamy Theater":
        NPJB00047: [ 01.00 ]
    Author: samyuu, Brolijah, nastys
    Notes: *HMPDDT_PSP_Notes
    Patch Version: 1.0
    Patch:
      - [be32, 0x66C464, 0x000004B8]

PPU-890a336132e35e8bfb7cbe430ea9b09114915346:
  Sign in without connecting a PSP:
    Games:
      "Hatsune Miku: Project DIVA Dreamy Theater":
        NPJB00047: [ 01.01 ]
    Author: samyuu, Brolijah, nastys
    Notes: *HMPDDT_PSP_Notes
    Patch Version: 1.0
    Patch:
      - [be32, 0x66F9B4, 0x00000718]
  Full resolution:
    Games:
      "Hatsune Miku: Project DIVA Dreamy Theater":
        NPJB00047: [ 01.01 ]
    Author: nastys
    Notes: "Increases the internal resolution from 1024x640 to 1280x720."
    Patch Version: 1.1
    Patch:
      - [be32, 0x22F0C4, 0x2F890500]
      - [be32, 0x22F0D0, 0x39200500]
      - [be32, 0x22F0D8, 0x380002D0]
      - [be32, 0x22F3B8, 0x2F8802D0]
      - [be32, 0x22F3C4, 0x39200500]
      - [be32, 0x22F3CC, 0x380002D0]

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:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F":
        BLUS31319: [ All ]
        NPUB31241: [ All ]
    Author: Brolijah
    Notes: *HMPDF_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF_FPS_USEU ]
  Enable Debug Mode:
    Games:
      "Hatsune Miku: Project Diva F":
        NPUB31241: [ All ]
    Author: samyuu, feat_jinsoul
    Notes: "Enables debug mode. Enable Mouse and Keyboard handlers under Config > I/O to use basic debug menus. Right click for the topmost menu."
    Patch Version: 1.0
    Patch:
      - [ byte, 0x03D10F, 0x00 ]
      - [ byte, 0x1CF64F, 0x01 ]
      - [ byte, 0x1CF657, 0x01 ]

PPU-c02e3b52e3d75f52f76fb8f0fb5be7ca4d921949:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F":
        NPEB01393: [ All ]
    Author: Brolijah
    Notes: *HMPDF_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF_FPS_USEU ]

PPU-1105af0a4d6a4a1481930c6f3090c476cde06c4c:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F":
        BLJM60527: [ All ]
        NPJB00287: [ All ]
    Author: Brolijah
    Notes: *HMPDF_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF_FPS_JP ]

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, and breaks some effects completely. Does not affect playability."

PPU-092c43e2bcacccfe3cdc22b0ab8062b91d4e1cf9:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        BLUS31431: [ All ]
        NPUB31488: [ All ]
    Author: Brolijah
    Notes: Patch accelerates some game effects by 2x, and breaks some effects completely. Does not affect playability. Might work with NPUB31488 as well.
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_USEU ]

PPU-67e0e7c9b2a7a340c914a0d078e25aac1047e4d4:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        NPEB02013: [ All ]
    Author: Brolijah
    Notes: Patch accelerates some game effects by 2x, and breaks some effects completely. Does not affect playability. Might work with BLES02029 as well.
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_USEU ]

PPU-51d336edfa3774f2db83ed030611f462c097c40b:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        BLAS50723: [ All ]
    Author: Brolijah
    Notes: *HMPDF2_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_AS ]

PPU-c70b15d3f6694af74fa329dd4fc25fe28a59e9cc:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        NPHB00671: [ All ]
    Author: Brolijah
    Notes: *HMPDF2_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_AS ]

PPU-c3291f5919ca147ac854de10f7436f4ad494233f:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        BLJM61079: [ 01.00 ]
        NPJB00435: [ 01.00 ]
    Author: Brolijah
    Notes: *HMPDF2_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_JP ]

PPU-058cf39c07fd13f100c1f6dc40a0ead9bf3ad51b:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        BLJM61079: [ 01.01 ]
    Author: Brolijah
    Notes: *HMPDF2_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_JP ]

PPU-8fc9f26ed77cc9237db0e6348dcf9d6c451b6220:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        BLJM61079: [ 01.02 ]
    Author: Brolijah
    Notes: *HMPDF2_FPS_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *HMPDF2_FPS_JP ]

PPU-311fcd98af6adc5e64e6a833eb959f43b0976193:
  60 FPS:
    Games:
      "Hatsune Miku: Project Diva F 2nd":
        NPJB00435: [ 01.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 ]

PPU-52a747a6282ff38eebc356fb56afc09e07e020f0:
  Extended FOV:
    Games:
      "Infamous 2 Demo":
        NPEA90095: [ All ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x96DE14, 0.65 ] # the floats are static but game settings will need "li" instead.

Anchors:
  hazefps: &hazefps
  - [ be32, 0x0068D0E8, 0x38000000 ] # li r0 0x0

  hazeammo: &hazeammo
  - [ be32, 0x0033854C, 0x60000000 ] # infinite clip capacity
  - [ be32, 0x00395884, 0x60000000 ] # infinite ammo

  hazehp: &hazehp
  - [ be32, 0x0005328C, 0x60000000 ]

PPU-b39773da362cfd02e0d498ccc9e3b1f310d6d5e7:
  Unlock FPS:
    Games:
      "Haze":
        BLUS30094: [ 01.36 ]
    Author: illusion
    Notes: Needs testing above 60FPS
    Patch Version: 1.0
    Patch:
      - [ load, *hazefps ]
  Infinite Ammo:
    Games:
      "Haze":
        BLUS30094: [ 01.36 ]
    Author: Aphelion
    Notes: Unlimited ammo, grenades, etc. with no reloading.
    Patch Version: 1.0
    Patch:
      - [ load, *hazeammo ]
  Infinite Health:
    Games:
      "Haze":
        BLUS30094: [ 01.36 ]
    Author: Aphelion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *hazehp ]

PPU-e6714887d07308d64b93b86fb585a37ec08c538f:
  Unlock FPS:
    Games:
      "Haze":
        BLES00157: [ 01.36 ]
    Author: illusion
    Notes: Needs testing above 60FPS
    Patch Version: 1.0
    Patch:
      - [ load, *hazefps ]
PPU-e6714887d07308d64b93b86fb585a37ec08c538f:
  Infinite Ammo:
    Games:
      "Haze":
        BLES00157: [ 01.36 ]
    Author: Aphelion
    Notes: Unlimited ammo, grenades, etc. with no reloading.
    Patch Version: 1.0
    Patch:
      - [ load, *hazeammo ]
  Infinite Health:
    Games:
      "Haze":
        BLES00157: [ 01.36 ]
    Author: Aphelion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *hazehp ]

PPU-ec7c75bef42758b1823ce0b2835935992ae72e8f:
  60 FPS:
    Games:
      "Iron Man":
        BLUS30134: [ 01.02 ]
    Author: HyperSpider
    Notes: You MUST set the Vblank Frequency to 120Hz 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:
    Games:
      "Iron Man":
        BLUS30134: [ 01.02 ]
    Author: HyperSpider
    Notes: You MUST set the Vblank Frequency to 240Hz 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 ]

PPU-70ad975e7fbb5bb57bb2159a16ec895cbccd3b4e:
  Extended FOV:
    Games:
      "Killzone":
        NPEA00418: [ 01.00 ]
        BCES01743: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x5E7F6C, 0.65 ] # static float in memory
  60 FPS:
    Games:
      "Killzone":
        NPEA00418: [ 01.00 ]
        BCES01743: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: "Set clock scale to 200% for 60FPS Gameplay.\nVideo playback breaks with 200% clock scale, skip when possible."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x002125a4, 0x3ca03f00 ] # load 3f 00 into memory, this uses same method as asasega patch for pcsx2
      - [ be32, 0x002192f8, 0x3ca03f00 ]

PPU-0bb16b9f48bfea44a892110beec812664e84539f:
  Extended FOV:
    Games:
      "Killzone":
        NPUA80856: [ 01.00 ]
    Author: illusion, Mew21 
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x5E7F6C, 0.65 ] # static float in memory

Anchors:
  kz2demofov: &kz2demofov
    - [ bef32, 0xEB0174, 0.65 ] # static float in memory
  kz2demospu: &kz2demospu
    - [ be32, 0x00A42A3C, 0x8a840089 ]
  kz2spunotes: &kz2spunotes "No longer requires Write Color Buffers."

PPU-ca2a0b7e8d4fa7a0d4f3a16d6f2bea5d260e3c09:
  Extended FOV:
    Games:
      "Killzone 2 Demo":
        NPEA90034: [ 01.00 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ load, *kz2demofov ]
  Disable Post Processing on SPU:
    Games:
      "Killzone 2 Demo":
        NPEA90034: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *kz2spunotes
    Patch Version: 1.0
    Patch:
      - [ load, *kz2demospu ]

PPU-43e0fe2996338af9f1032b647af9436a081e09b0:
  Extended FOV:
    Games:
      "Killzone 2 Demo":
        NPUA70034: [ 01.00 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ load, *kz2demofov ]
  Disable Post Processing on SPU:
    Games:
      "Killzone 2 Demo":
        NPUA70034: [ 01.00 ]
    Author: ZEROx, illusion
    Notes: *kz2spunotes
    Patch Version: 1.0
    Patch:
      - [ load, *kz2demospu ]

PPU-3a4e272eff128f7fa40bf722961a0c6de81bfc5a:
  Extended FOV:
    Games:
      "Killzone 2":
        BCAS20066: [ 01.29 ]
        BCES00081: [ 01.29 ]
        BCUS98116: [ 01.29 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0xEC096C, 0.65 ] # static float in memory
  Disable Post Processing on SPU:
    Games:
      "Killzone 2":
        BCAS20066: [ 01.29 ]
        BCES00081: [ 01.29 ]
        BCUS98116: [ 01.29 ]
    Author: ZEROx, illusion
    Notes: *kz2spunotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00A5A7CC, 0x8a840089 ]

Anchors:
  kz3mlaanotes: &kz3mlaanotes "Allows for the use of Resolution Scaling in the title and improved performance.\nSome screen effects will be lost.\nWrite Color Buffers is no longer required."
  kz3demofov: &kz3demofov
    - [ bef32, 0x1327DA0, 0.85 ] # static float in memory // viewmodel
    - [ bef32, 0x1327E74, 0.85 ] # static float in memory // camera
  kz3demomlaa: &kz3demomlaa
    - [ be32, 0x001BDED8, 0x38A00000 ] # li r5 0x0

PPU-ae204e2198c9a051a44a69913c48f6591b811082:
  Extended FOV:
    Games:
      "Killzone 3":
        BCES01007: [ 01.00 ]
        BCUS98234: [ 01.00 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x1327E54, 0.85 ] # static float in memory
  Disable MLAA(Post-processing On SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Killzone 3":
        BCES01007: [ 01.00 ]
        BCUS98234: [ 01.00 ]
    Author: illusion
    Notes: *kz3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001BE008, 0x38A00000 ] # li r5 0x0
  Infinite Ammo:
    Games:
      "Killzone 3":
        BCES01007: [ 01.00 ]
        BCUS98234: [ 01.00 ]
    Author: Aphelion
    Notes: Infinite ammo and grenades
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0073D598, 0x60000000 ]
      - [ be32, 0x006B0110, 0x60000000 ]

PPU-4836b8e74c47919f50b030ee6b47d96bc7305387:
  Extended FOV:
    Games:
      "Killzone 3":
        BCES01007: [ 01.14 ]
        BCUS98234: [ 01.14 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x139BDF0, 0.85 ] # static float in memory // viewmodel
      - [ bef32, 0x139BEEC, 0.85  ] # static float in memory // camera
  Disable MLAA (Post-processing on SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Killzone 3":
        BCES01007: [ 01.14 ]
        BCUS98234: [ 01.14 ]
    Author: illusion
    Notes: *kz3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001C95A8, 0x38A00000 ] # li r5 0x0
      - [ be16, 0x00202128, 0x4800 ]
  Infinite Ammo:
    Games:
      "Killzone 3":
        BCES01007: [ 01.14 ]
        BCUS98234: [ 01.14 ]
    Author: Aphelion
    Notes: Infinite ammo and grenades
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00753018, 0x60000000 ]
      - [ be32, 0x006C5250, 0x60000000 ]

PPU-5f932afa0b36e8be30b4ab96689ad10e3583a261:
  Extended FOV:
    Games:
      "Killzone 3 Demo":
        NPEA90084: [ 01.00 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ load, *kz3demofov ]
  Disable MLAA (Post-processing on SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Killzone 3 Demo":
        NPEA90084: [ 01.00 ]
    Author: illusion
    Notes: *kz3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *kz3demomlaa ]

PPU-c28a92c751f6c6ffae0f354c7329ee599912baac:
  Extended FOV:
    Games:
      "Killzone 3 Demo":
        NPUA70133: [ 01.00 ]
    Author: illusion
    Notes: Bound to cause issues, needs further testing.
    Patch Version: 1.0
    Patch:
      - [ load, *kz3demofov ]
  Disable MLAA (Post-processing on SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Killzone 3 Demo":
        NPUA70133: [ 01.00 ]
    Author: illusion
    Notes: *kz3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *kz3demomlaa ]

Anchors:
  msnotes: &msnotes "Updated with a new version that has correct game speed at above 15FPS. (Except countdown timer)\nIncrease Vblank above 60Hz to go above 60FPS.\nIssues introduced in 1.0 version of the patch are now resolved."

PPU-9f001199a7f23695cd41a2b25c1d0325da7565b5: # BCES00006
  Unlock FPS:
    Games:
      "Motorstorm":
        BCES00006: [ All ]
    Author: illusion, ZEROx
    Notes: *msnotes
    Patch Version: 2.0
    Patch:
      - [ be32, 0x00013030, 0x38c00001 ] # li r6,0x1
      - [ be32, 0x00013034, 0x39000001 ] # li r8,0x1
      - [ be32, 0x0075c864, 0x39000001 ] # car selection
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm":
        BCES00006: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x002650f4, 0x4800 ] # scale callers
  Disable Motion Blur:
    Games:
      "Motorstorm":
        BCES00006: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x003dcc28, 0x4bf47530 ] # b 0x00324158
      - [ be32, 0x00324158, 0xfb7d00b4 ] # std r27,0xb4(r29)
      - [ be32, 0x0032415c, 0xfb7d00bc ] # std r27,0xbc(r29)
      - [ be32, 0x00324160, 0x480b8acc ] # b 0x003dcc2c

PPU-ce27dc64b44242beebb44c097449dd035de18e8b: # 3.1 update
  Unlock FPS:
    Games:
      "Motorstorm Update 3.1 (Complete Edition)":
        BCES00006: [ All ]
        BCJS30019: [ All ]
    Author: illusion, ZEROx
    Notes: *msnotes
    Patch Version: 2.0
    Patch:
      - [ be32, 0x0001852c, 0x38c00001 ] # li r6,0x1
      - [ be32, 0x00018530, 0x39000001 ] # li r8,0x1
      - [ be32, 0x0087f3a0, 0x39000001 ] #car selection
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm Update 3.1 (Complete Edition)":
        BCES00006: [ All ]
        BCJS30019: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      #- [ be32, 0x0027b190, 0x60000000 ] # res caller
      - [ be16, 0x0026f73c, 0x4800 ]     # scale callers
  Disable Motion Blur:
    Games:
      "Motorstorm Update 3.1 (Complete Edition)":
        BCES00006: [ All ]
        BCJS30019: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004cb1a4, 0x4bf421f0 ] # b 0x0040d394
      - [ be32, 0x0040d394, 0xfb7d00b4 ] # std r27,0xb4(r29)
      - [ be32, 0x0040d398, 0xfb7d00bc ] # std r27,0xbc(r29)
      - [ be32, 0x0040d39c, 0x480bde0c ] # b 0x004cb1a8

PPU-1658c7e4b1bfe52d6ec02443f8feed9b295ff9dc: # NPEA80017
  Unlock FPS:
    Games:
      "Motorstorm Demo":
        NPUA80017: [ 01.01 ]
    Author: illusion
    Patch Version: 2.0
    Patch:
      - [ be32, 0x00017ccc, 0x38c00001 ] # li r6,0x1 // deltatime
      - [ be32, 0x00017cd4, 0x39000001 ] # li r8,0x1 // flipmode
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm Demo":
        NPUA80017: [ 01.01 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0026351c, 0x4800 ]

PPU-ac5d994a6742a717d530cdcf095e880533465b66: # NPEA80017
  Unlock FPS:
    Games:
      "Motorstorm Demo":
        NPEA80017: [ All ]
    Author: illusion, ZEROx
    Notes: *msnotes
    Patch Version: 2.0
    Patch:
      - [ be16, 0x00607e10, 0x937d ] #variable framerate
      - [ be16, 0x00607e20, 0x937d ] #gameplay // may not be needed
      - [ be32, 0x0075e7f4, 0x39000001 ] #car selection

PPU-e962bc16978b776063858254ae49aed7eac2a4f6: # BCUS98137
  Unlock FPS:
    Games:
      "Motorstorm":
        BCUS98137: [ All ]
    Author: illusion, ZEROx
    Notes: *msnotes
    Patch Version: 2.0
    Patch:
      - [ be32, 0x00013030, 0x38c00001 ] # li r6,0x1
      - [ be32, 0x00013034, 0x39000001 ] # li r8,0x1
      - [ be32, 0x0075c864, 0x39000001 ] # car selection
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm":
        BCUS98137: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x002650f4, 0x4800 ] # scale callers
  Disable Motion Blur:
    Games:
      "Motorstorm":
        BCUS98137: [ All ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x003dcc28, 0x4bf47530 ] # b 0x00324158
      - [ be32, 0x00324158, 0xfb7d00b4 ] # std r27,0xb4(r29)
      - [ be32, 0x0032415c, 0xfb7d00bc ] # std r27,0xbc(r29)
      - [ be32, 0x00324160, 0x480b8acc ] # b 0x003dcc2c

Anchors:
  ms2notes: &ms2notes         "No need for additional settings change.\nNeeds a stable and locked 60FPS otherwise game will slow down.\n\nKnown issues:\nCamera moves at double speed."

  ms2vfpsnotes: &ms2vfpsnotes "Allows for variable fps and correct game speed above 15FPS.\nThe camera will shake when using PPU recompiler.\nThis patch will be kept in separate entry until the issue resolved."

PPU-34984cacd60f2ee2a380157a009122698d470056:
  60 FPS:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.00 ]
    Author: illusion
    Notes: *ms2notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00435d1c, 0x60000000 ]
  Variable FPS:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.00 ]
    Author: illusion, ZEROx
    Notes: *ms2vfpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00435f9c, 0x38c00001 ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.00 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00360590, 0x38600000 ] # li r3 0x0
  Disable Motion blur:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.00 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0035FDEC, 0x38600000 ] # li r3 0x0

PPU-a1f33132af387c49d452e64fcb0704cb06b6d084:
  60 FPS:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.03 ]
        BCUS98155: [ 01.03 ]
    Author: illusion
    Notes: *ms2notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00407b44, 0x60000000 ]
  Variable FPS:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.03 ]
        BCUS98155: [ 01.03 ]
    Author: illusion, ZEROx
    Notes: *ms2vfpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00407d8c, 0x38c00001 ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.03 ]
        BCUS98155: [ 01.03 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00347830, 0x38600000 ] # li r3 0x0
  Disable Motion blur:
    Games:
      "Motorstorm: Pacific Rift":
        BCES00129: [ 01.03 ]
        BCUS98155: [ 01.03 ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0034708C, 0x38600000 ] # li r3 0x0

PPU-f62bdccfbca93730c2fcd484f65ead6f3c7878be:
  60 FPS:
    Games:
      "Motorstorm: Pacific Rift Demo 2.0":
        NPEA90033: [ All ]
    Author: illusion
    Notes: *ms2notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0045C7B4, 0x60000000 ]
  Variable FPS:
    Games:
      "Motorstorm: Pacific Rift Demo 2.0":
        NPEA90033: [ All ]
    Author: illusion, ZEROx
    Notes: *ms2vfpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0045ca34, 0x38c00001 ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Pacific Rift Demo 2.0":
        NPEA90033: [ All ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00385DC0, 0x38600000 ] # li r3 0x0
  Disable Motion blur:
    Games:
      "Motorstorm: Pacific Rift Demo 2.0":
        NPEA90033: [ All ]
    Author: illusion, ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0038561C, 0x38600000 ] # li r3 0x0

Anchors:
  p5_ModSupport_Author: &p5_ModSupport_Author TGEnigma
  p5_ModSupport_Notes: &p5_ModSupport_Notes "Enable support for adding mod files (through mod.cpk) to the game. This feature is required to fix the dialog portraits when using resolution scaling."
  p5_ModSupport_PatVer: &p5_ModSupport_PatVer 1.0
  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_Author: &p5_4K_Author rexis
  p5_4K_Notes: &p5_4K_Notes "A special patch that scales down some UI elements, rexis's 4K Mod requires this patch. Don't enable it if you don't use the 4K Mod"
  p5_4K_PatVer: &p5_4K_PatVer 1.0
  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_Author: &p5_SkipIntro_Author TGEnigma
  p5_SkipIntro_PatVer: &p5_SkipIntro_PatVer 1.0
  p5_SkipIntro: &p5_SkipIntro
    - [ be32, 0x0055AC8C, 0x60000000 ]
  
  p5_60FPS_Author: &p5_60FPS_Author TGEnigma, rexis
  p5_60FPS_Notes: &p5_60FPS_Notes "Patch may accelerate some game effects by 2x. Updated patch fixes subtitle cut-off in cutscenes."
  p5_60FPS_PatVer: &p5_60FPS_PatVer 1.1
  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 ] # Breaks crumpled paper animation
    - [ 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 ] # kaleidoscope speedup
    - [ 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 ]
  #  - [ bef32, 0x0009eb60, 0.01666667 ]
  #  - [ bef32, 0x002cb9e8, 0.01666667 ]
  #  - [ bef32, 0x00331FF0, 0.1666667 ]
  #  - [ bef32, 0x003B0520, 0.1666667 ]
  #  - [ bef32, 0x003B05E8, 0.1666667 ]
  #  - [ bef32, 0x003b25cc, 0.1666667 ]
  #  - [ bef32, 0x003BC478, 0.1666667 ]
  #  - [ be32, 0x000a7e6c, 0x3d803c88 ]
  
    - [ be32, 0x0026dca0, 0x3860001e ] # batting cages
    - [ be32, 0x0026de4c, 0x3860001e ]
    - [ be32, 0x0026e36c, 0x3860001e ]
    - [ be32, 0x0026fb10, 0x3860001e ]
    - [ be32, 0x0026fb3c, 0x3860001e ]
    - [ be32, 0x0026fb78, 0x3860001e ]
    - [ be32, 0x0026fc30, 0x3860001e ]
    - [ be32, 0x0026fca0, 0x3860001e ]
    - [ be32, 0x0026fd14, 0x3860001e ]
    - [ be32, 0x0026fd50, 0x3860001e ]
    - [ be32, 0x0026fdf4, 0x3860001e ]
    - [ be32, 0x0026fe14, 0x3860001e ]
    - [ be32, 0x0026fe50, 0x3860001e ]
    - [ be32, 0x0026fe9c, 0x3860001e ]
    - [ be32, 0x0026fedc, 0x3860001e ]
    - [ be32, 0x002700e4, 0x3860001e ]
    - [ be32, 0x00270304, 0x3860001e ]
    - [ be32, 0x00288b04, 0x3860001e ] # party panel
    - [ be32, 0x00288b4c, 0x3860001e ]
    - [ be32, 0x00288b70, 0x3860001e ]
    - [ be32, 0x00288bb0, 0x3860001e ]
    - [ be32, 0x00288bdc, 0x3860001e ]
    - [ be32, 0x00288c18, 0x3860001e ]
    - [ be32, 0x00288c3c, 0x3860001e ]
    - [ be32, 0x002892f0, 0x3860001e ]
    - [ be32, 0x0028931c, 0x3860001e ]
    - [ be32, 0x00289344, 0x3860001e ]
    - [ be32, 0x0028b324, 0x3860001e ]
    - [ be32, 0x0028b4c8, 0x3860001e ]
    - [ be32, 0x0028c1a0, 0x3860001e ]
    - [ be32, 0x0028c1cc, 0x3860001e ]
    - [ be32, 0x0028c1f4, 0x3860001e ]
    - [ be32, 0x0028ea90, 0x3860001e ]
    - [ be32, 0x0028eacc, 0x3860001e ]
    - [ be32, 0x0028eafc, 0x3860001e ]
    - [ be32, 0x0028eb3c, 0x3860001e ]
    - [ be32, 0x0028eb60, 0x3860001e ]
    - [ be32, 0x001cfe60, 0x3860001e ] # blink anim
  
  # Removes framerate dependency for both script interpreters
    - [ be32, 0xb44e00, 0x38600001 ]  # li         r3,0x1
    - [ be32, 0xb44e04, 0x38dd0170 ]  # addi       r6,r29,0x170
    - [ be32, 0xb44e08, 0x48b44e2f ]  # bla        0xb44e2c
    - [ be32, 0xb44e0c, 0x2c040000 ]  # cmpwi      r4,0x0
    - [ be32, 0xb44e10, 0x40820008 ]  # bne        +0x8
    - [ be32, 0xb44e14, 0x481f263a ]  # ba         0x1f2638
    - [ be32, 0xb44e18, 0x7c844014 ]  # addc       r4,r4,r8
    - [ be32, 0xb44e1c, 0x7ca54014 ]  # addc       r5,r5,r8
    - [ be32, 0xb44e20, 0x481f2642 ]  # ba         0x1f2640
  
    - [ be32, 0xb44e24, 0x3cc000d9 ]  # lis        r6,0xd9
    - [ be32, 0xb44e28, 0x60c6c6ec ]  # ori        r6,r6,0xc6ec
  
    - [ be32, 0xb44e2c, 0x3ce000ff ]  # lis        r7,0xff
    - [ be32, 0xb44e30, 0x80e7fb50 ]  # lwz        r7,-0x4b0(r7)
    - [ be32, 0xb44e34, 0x81060000 ]  # lwz        r8,0(r6)
    - [ be32, 0xb44e38, 0x90e60000 ]  # stw        r7,0(r6)
    - [ be32, 0xb44e3c, 0x7d083850 ]  # subf       r8,r8,r7
    - [ be32, 0xb44e40, 0x7d09fe70 ]  # srawi      r9,r8,0x1f
    - [ be32, 0xb44e44, 0x7d084850 ]  # subf       r8,r8,r9
    - [ be32, 0xb44e48, 0x55080ffe ]  # rlwinm     r8,r8,0x1,0x1f,0x1f
    - [ be32, 0xb44e4c, 0x5509103a ]  # rlwinm     r9,r8,0x2,0x0,0x1d
    - [ be32, 0xb44e50, 0x4e800020 ]  # blr
  
    - [ be32, 0x1f161c, 0x38600174 ]  # li         r3,0x174
    - [ be32, 0x1f1640, 0x38800174 ]  # li         r4,0x174
    - [ be32, 0x1f2634, 0x48b44e02 ]  # ba         0xb44e00
  
    - [ be32, 0x575fb4, 0x48b44e27 ]  # bla        0xb44e24
    - [ be32, 0x576010, 0x48b44e27 ]  # bla        0xb44e24
    - [ be32, 0x576020, 0x7c892010 ]  # subfc      r4,r9,r4
    - [ be32, 0x57602c, 0x7c882010 ]  # subfc      r4,r8,r4
    - [ be32, 0x575fc4, 0x7c892010 ]  # subfc      r4,r9,r4
    - [ be32, 0x575fe0, 0x7c681810 ]  # subfc      r3,r8,r3
  
  p5_DLC_Author: &p5_DLC_Author TGEnigma
  p5_DLC_PatVer: &p5_DLC_PatVer 1.0
  p5_DLC: &p5_DLC
    - [ be32, 0x197AE8, 0x4E800020 ]
  
  p5_DisableBlur_Author: &p5_DisableBlur_Author TGEnigma, ruipin, kd-11
  p5_DisableBlur_PatVer: &p5_DisableBlur_PatVer 1.0
  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_Author: &p5_DisableDistortion_Author TGEnigma, ruipin, kd-11
  p5_DisableDistortion_PatVer: &p5_DisableDistortion_PatVer 1.0
  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_Author: &p5_Disable100PctDistortion_Author TGEnigma, ruipin, kd-11
  p5_Disable100PctDistortion_PatVer: &p5_Disable100PctDistortion_PatVer 1.0
  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_Author: &p5_NoHudLite_Author TGEnigma
  p5_NoHudLite_Notes: &p5_NoHudLite_Notes "Elements can disabled separately by adding/removing their respective lines from the patch."
  p5_NoHudLite_PatVer: &p5_NoHudLite_PatVer 1.0
  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_Author: &p5_NoHud_Author TGEnigma
  p5_NoHud_Notes: &p5_NoHud_Notes "Disable HUD by disabling rendering of 2D elements entirely. Breaks things."
  p5_NoHud_PatVer: &p5_NoHud_PatVer 1.0
  p5_NoHud: &p5_NoHud
    - [ be32, 0x116934, 0x4E800020 ]
  
  p5_BgmOrder_Author: &p5_BgmOrder_Author TGEnigma, lipsum
  p5_BgmOrder_Notes: &p5_BgmOrder_Notes "Plays encounter BGM in file order."
  p5_BgmOrder_PatVer: &p5_BgmOrder_PatVer 1.0
  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_Author: &p5_BgmRandom_Author TGEnigma, lipsum
  p5_BgmRandom_Notes: &p5_BgmRandom_Notes "Plays encounter BGM in random order."
  p5_BgmRandom_PatVer: &p5_BgmRandom_PatVer 1.1
  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_Author: &p5_NaviLines_Author lipsum
  p5_NaviLines_Notes: &p5_NaviLines_Notes "Disables Navigator battle lines (voice and message popups)."
  p5_NaviLines_PatVer: &p5_NaviLines_PatVer 1.0
  p5_NaviLines: &p5_NaviLines
    - [ be32, 0x0074A3B4, 0x38A00000 ] # li r5, 0x0 # morgana
    - [ be32, 0x0074A424, 0x38A00000 ] # li r5, 0x0 # futaba
  
  p5_MaxBullet_Author: &p5_MaxBullet_Author lipsum
  p5_MaxBullet_Notes: &p5_MaxBullet_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."
  p5_MaxBullet_PatVer: &p5_MaxBullet_PatVer 1.0
  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)
  
  p5_FileAccessLog_Author: &p5_FileAccessLog_Author TGEnigma
  p5_FileAccessLog_Notes: &p5_FileAccessLog_Notes "Prints file paths to the console's TTY Log as they are accessed."
  p5_FileAccessLog_PatVer: &p5_FileAccessLog_PatVer 1.0
  p5_FileAccessLog: &p5_FileAccessLog
  # branch to trampoline
    - [ be32, 0x00AC0A78, 0x48B44ABF ] # bla 0xB44ABC
    - [ be32, 0x00AC0A7C, 0x60000000 ] # nop
  # trampoline
  # prologue
    - [ be32, 0x00B44ABC, 0xF821FF41 ] # stdu    r1, -STACK_SIZE(r1)
    - [ be32, 0x00B44AC0, 0x7C0802A6 ] # mflr    r0
    - [ be32, 0x00B44AC4, 0xF80100D0 ] # std     r0, STACK_SIZE + 0x10(r1)
  # save volatile regs
    - [ be32, 0x00B44AC8, 0xF86100B8 ] # std     r3, STACK_SIZE - 0x08(r1)
    - [ be32, 0x00B44ACC, 0xF88100B0 ] # std     r4, STACK_SIZE - 0x10(r1)
    - [ be32, 0x00B44AD0, 0xF8A100A8 ] # std     r5, STACK_SIZE - 0x18(r1)
    - [ be32, 0x00B44AD4, 0xF8C100A0 ] # std     r6, STACK_SIZE - 0x20(r1)
    - [ be32, 0x00B44AD8, 0xF8E10098 ] # std     r7, STACK_SIZE - 0x28(r1)
    - [ be32, 0x00B44ADC, 0xF9010090 ] # std     r8, STACK_SIZE - 0x30(r1)
    - [ be32, 0x00B44AE0, 0xF9210088 ] # std     r9, STACK_SIZE - 0x38(r1)
    - [ be32, 0x00B44AE4, 0xF9410080 ] # std     r10, STACK_SIZE - 0x40(r1)
    - [ be32, 0x00B44AE8, 0xF9610078 ] # std     r11, STACK_SIZE - 0x48(r1)
    - [ be32, 0x00B44AEC, 0xF9810070 ] # std     r12, STACK_SIZE - 0x50(r1)
  # print file name
    - [ be32, 0x00B44AF0, 0x80630004 ] # lwz     r3, 0x04(r3)
    - [ be32, 0x00B44AF4, 0x7C6307B4 ] # extsw   r3, r3
    - [ be32, 0x00B44AF8, 0x48AD546F ] # bla     PTR_PRINTF
    - [ be32, 0x00B44AFC, 0x60000000 ] # nop
  # print newline
    - [ be32, 0x00B44B00, 0x3C6000B9 ] # lis    r3, PTR_NEWLINECHAR@ha
    - [ be32, 0x00B44B04, 0x30631820 ] # addic  r3, r3, PTR_NEWLINECHAR@l
    - [ be32, 0x00B44B08, 0x48AD546F ] # bla    PTR_PRINTF
    - [ be32, 0x00B44B0C, 0x60000000 ] # nop
  # restore volatile regs
    - [ be32, 0x00B44B10, 0xE86100B8 ] # ld     r3, STACK_SIZE - 0x08(r1)
    - [ be32, 0x00B44B14, 0xE88100B0 ] # ld     r4, STACK_SIZE - 0x10(r1)
    - [ be32, 0x00B44B18, 0xE8A100A8 ] # ld     r5, STACK_SIZE - 0x18(r1)
    - [ be32, 0x00B44B1C, 0xE8C100A0 ] # ld     r6, STACK_SIZE - 0x20(r1)
    - [ be32, 0x00B44B20, 0xE8E10098 ] # ld     r7, STACK_SIZE - 0x28(r1)
    - [ be32, 0x00B44B24, 0xE9010090 ] # ld     r8, STACK_SIZE - 0x30(r1)
    - [ be32, 0x00B44B28, 0xE9210088 ] # ld     r9, STACK_SIZE - 0x38(r1)
    - [ be32, 0x00B44B2C, 0xE9410080 ] # ld     r10, STACK_SIZE - 0x40(r1)
    - [ be32, 0x00B44B30, 0xE9610078 ] # ld     r11, STACK_SIZE - 0x48(r1)
    - [ be32, 0x00B44B34, 0xE9810070 ] # ld     r12, STACK_SIZE - 0x50(r1)
  # destroy stack frame
    - [ be32, 0x00B44B38, 0xE80100D0 ] # ld     r0, STACK_SIZE + 0x10(r1)
    - [ be32, 0x00B44B3C, 0x7C0803A6 ] # mtlr   r0
    - [ be32, 0x00B44B40, 0x382100C0 ] # addi   r1, r1, STACK_SIZE
  # return
    - [ be32, 0x00B44B44, 0xFB2100F8 ] # std    r25, 0xF8(r1)
    - [ be32, 0x00B44B48, 0xFAA100D8 ] # std    r21, 0xD8(r1)
    - [ be32, 0x00B44B4C, 0x4E800020 ] # blr
  
  p5_FixScriptPrintingFunctions_Author: &p5_FixScriptPrintingFunctions_Author TGEnigma
  p5_FixScriptPrintingFunctions_Notes: &p5_FixScriptPrintingFunctions_Notes "Allows flowscripts to print strings to TTY Log."
  p5_FixScriptPrintingFunctions_PatVer: &p5_FixScriptPrintingFunctions_PatVer 1.0
  p5_FixScriptPrintingFunctions: &p5_FixScriptPrintingFunctions
  # ScriptInterpreter_Comm_PUT_Hook
    - [ be32, 0x001E9D10, 0x48B44B9A ]
  # PutInt
    - [ be32, 0x00B44B98, 0x7C641B78 ]
    - [ be32, 0x00B44B9C, 0x3C6000B6 ]
    - [ be32, 0x00B44BA0, 0x3063394C ]
    - [ be32, 0x00B44BA4, 0x48AD546F ]
    - [ be32, 0x00B44BA8, 0x3C6000B9 ]
    - [ be32, 0x00B44BAC, 0x30631820 ]
    - [ be32, 0x00B44BB0, 0x48AD546F ]
    - [ be32, 0x00B44BB4, 0x481E9D16 ]
  # ScriptInterpreter_Comm_PUTF_Hook
    - [ be32, 0x001E9D68, 0x48B44BBA ]
  # PutFloat
    - [ be32, 0xB44BB8, 0xFC400890 ]
    - [ be32, 0xB44BBC, 0x3C6000B6 ]
    - [ be32, 0xB44BC0, 0x3063397C ]
    - [ be32, 0xB44BC4, 0x48AD546F ]
    - [ be32, 0xB44BC8, 0x3C6000B9 ]
    - [ be32, 0xB44BCC, 0x30631820 ]
    - [ be32, 0xB44BD0, 0x48AD546F ]
    - [ be32, 0xB44BD4, 0x481E9D6E ]
  # ScriptInterpreter_Comm_PUTS_Hook
    - [ be32, 0x001E9D3C, 0x48B44BDA ]
  # PutString
    - [ be32, 0x00B44BD8, 0x7C641B78 ]
    - [ be32, 0x00B44BDC, 0x3C6000B6 ]
    - [ be32, 0x00B44BE0, 0x30633994 ]
    - [ be32, 0x00B44BE4, 0x48AD546F ]
    - [ be32, 0x00B44BE8, 0x3C6000B9 ]
    - [ be32, 0x00B44BEC, 0x30631820 ]
    - [ be32, 0x00B44BF0, 0x48AD546F ]
    - [ be32, 0x00B44BF4, 0x481E9D42 ]
  
  p5_d0d0d0_Author: &p5_d0d0d0_Author Lipsum
  p5_d0d0d0_Notes: &p5_d0d0d0_Notes "Replaces the red color in the pause menu. Yellow by default."
  p5_d0d0d0_PatVer: &p5_d0d0d0_PatVer 1.0
  p5_d0d0d0: &p5_d0d0d0
    - [ be32, 0x0045a6d8, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x0045a6dc, 0x60842200 ] # ori param_2,param_2,0xd000
    - [ be32, 0x0049c938, 0x3ca0ffff ] # lis param_3,-0x2f30
    - [ be32, 0x0049c93c, 0x60a52200 ] # ori param_3,param_3,0xd000
    - [ be32, 0x0049c978, 0x3ca0ffff ] # lis param_3,-0x2f30
    - [ be32, 0x0049c97c, 0x60a52200 ] # ori param_3,param_3,0xd000
    - [ be32, 0x0049ca6c, 0x3f20ffff ] # lis r25,-0x2f30
    - [ be32, 0x0049ca70, 0x63392200 ] # ori r25,r25,0xd000
    - [ be32, 0x0049caac, 0x3f20ffff ] # lis r25,-0x2f30
    - [ be32, 0x0049cab0, 0x63392200 ] # ori r25,r25,0xd000
    - [ be32, 0x004a02a0, 0x3d20ffff ] # lis param_7,-0x2f30
    - [ be32, 0x004a02c0, 0x61272200 ] # ori param_5,param_7,0xd000
    - [ be32, 0x004a2fe0, 0x3f80ffff ] # lis r28,-0x2f30
    - [ be32, 0x004a2fec, 0x639c2200 ] # ori r28,r28,0xd000
    - [ be32, 0x004a2ff4, 0x3f80ffff ] # lis r28,-0x2f30
    - [ be32, 0x004a3000, 0x639c2200 ] # ori r28,r28,0xd000
    - [ be32, 0x004a4374, 0x3cc0ffff ] # lis param_4,-0x2f30
    - [ be32, 0x004a437c, 0x60c62200 ] # ori param_4,param_4,0xd000
    - [ be32, 0x004a4490, 0x3ce0ffff ] # lis param_5,-0x2f30
    - [ be32, 0x004a4498, 0x60e72200 ] # ori param_5,param_5,0xd000
    - [ be32, 0x004a4bd0, 0x3c60ffff ] # lis param_1,-0x2f30
    - [ be32, 0x004a4bdc, 0x607a2200 ] # ori r26,param_1,0xd000
    - [ be32, 0x004a6304, 0x3c60ffff ] # lis param_1,-0x2f30
    - [ be32, 0x004a6308, 0x60632200 ] # ori param_1,param_1,0xd000
    - [ be32, 0x004ac530, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x004ac538, 0x60842200 ] # ori param_2,param_2,0xd000
    - [ be32, 0x004b3ad4, 0x3fc0ffff ] # lis r30,-0x2f30
    - [ be32, 0x004b3ad8, 0x63de2200 ] # ori r30,r30,0xd000
    - [ be32, 0x004c0f80, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x004c0f88, 0x60842200 ] # ori param_2,param_2,0xd000
    - [ be32, 0x004c1150, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x004c115c, 0x609d2200 ] # ori r29,param_2,0xd000
    - [ be32, 0x004c1154, 0x3ca0ffff ] # lis param_3,-0x2f30
    - [ be32, 0x004c1160, 0x60a32200 ] # ori param_1,param_3,0xd000
    - [ be32, 0x004c3c18, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x004c3c1c, 0x60842200 ] # ori param_2,param_2,0xd000
    - [ be32, 0x004c3c30, 0x3c60ffff ] # lis param_1,-0x2f30
    - [ be32, 0x004c3c38, 0x60632200 ] # ori param_1,param_1,0xd000
    - [ be32, 0x004c5b34, 0x3c60ffff ] # lis param_1,-0x2f30
    - [ be32, 0x004c5b38, 0x606522ff ] # ori param_3,param_1,0xd0ff
    - [ be32, 0x004c5f0c, 0x3c80ffff ] # lis param_2,-0x2f30
    - [ be32, 0x004c5f18, 0x60842200 ] # ori param_2,param_2,0xd000
    - [ be32, 0x0052b1b0, 0x3ca0ffff ] # lis param_3,-0x2f30
    - [ be32, 0x0052b1c4, 0x60a52200 ] # ori param_3,param_3,0xd000
  
  p5_StopPartyPanel_Author: &p5_StopPartyPanel_Author DeathChaos
  p5_StopPartyPanel_Notes: &p5_StopPartyPanel_Notes "Prevents in combat HP/SP Bar UI from loading for testing purposes."
  p5_StopPartyPanel_PatVer: &p5_StopPartyPanel_PatVer 1.0
  p5_StopPartyPanel: &p5_StopPartyPanel
  # Prevent party_panel from being loaded
    - [ be32, 0x28fc14, 0x60000000 ]
    - [ be32, 0x28fc1c, 0x60000000 ]
    - [ be32, 0x28fc20, 0x60000000 ]
    - [ be32, 0x28fc34, 0x60000000 ]
    - [ be32, 0x28fc40, 0x60000000 ]
    - [ be32, 0x28fc54, 0x60000000 ]
  
  p5_Title_US: &p5_Title_US
    "Persona 5":
      BLUS31604: [ All ]
      NPUB31848: [ All ]
  
  p5_Title_EU: &p5_Title_EU
    "Persona 5":
      BLES02247: [ All ]
      NPEB02436: [ All ]
  
  p5_Title_JP_100: &p5_Title_JP_100
    "Persona 5":
      BLJM61346: [ 01.00 ]
  
  p5_Title_JP_103: &p5_Title_JP_103
    "Persona 5":
      BLJM61346: [ 01.03 ]

PPU-e72e715d646a94770d1902364bc66fe33b1b6606:
  Enable Mod Support:
    Games: *p5_Title_US
    Author: *p5_ModSupport_Author
    Notes: *p5_ModSupport_Notes
    Patch Version: *p5_ModSupport_PatVer
    Patch:
      - [ load, *p5_ModSupport ]
  4K Mod Patch:
    Games: *p5_Title_US
    Author: *p5_4K_Author
    Notes: *p5_4K_Notes
    Patch Version: *p5_4K_PatVer
    Patch:
      - [ load, *p5_4K ]
  Skip Intro Videos:
    Games: *p5_Title_US
    Author: *p5_SkipIntro_Author
    Patch Version: *p5_SkipIntro_PatVer
    Patch:
      - [ load, *p5_SkipIntro ]
  60 FPS:
    Games: *p5_Title_US
    Author: *p5_60FPS_Author
    Notes: *p5_60FPS_Notes
    Patch Version: *p5_60FPS_PatVer
    Patch:
      - [ load, *p5_60FPS ]
  Disable DLC Unlock Messages:
    Games: *p5_Title_US
    Author: *p5_DLC_Author
    Patch Version: *p5_DLC_PatVer
    Patch:
      - [ load, *p5_DLC ]
  Disable Blur Filter:
    Games: *p5_Title_US
    Author: *p5_DisableBlur_Author
    Patch Version: *p5_DisableBlur_PatVer
    Patch:
      - [ load, *p5_DisableBlur ]
  Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
    Games: *p5_Title_US
    Author: *p5_DisableDistortion_Author
    Patch Version: *p5_DisableDistortion_PatVer
    Patch:
      - [ load, *p5_DisableDistortion ]
  Disable Angry Distortion Filter (100% Alert):
    Games: *p5_Title_US
    Author: *p5_Disable100PctDistortion_Author
    Patch Version: *p5_Disable100PctDistortion_PatVer
    Patch:
      - [ load, *p5_Disable100PctDistortion ]
  Disable HUD Elements:
    Games: *p5_Title_US
    Author: *p5_NoHudLite_Author
    Notes: *p5_NoHudLite_Notes
    Patch Version: *p5_NoHudLite_PatVer
    Patch:
      - [ load, *p5_NoHudLite ]
  Disable HUD Elements (Aggressive):
    Games: *p5_Title_US
    Author: *p5_NoHud_Author
    Notes: *p5_NoHud_Notes
    Patch Version: *p5_NoHud_PatVer
    Patch:
      - [ load, *p5_NoHud ]
  Encounter BGM In Order:
    Games: *p5_Title_US
    Author: *p5_BgmOrder_Author
    Notes: *p5_BgmOrder_Notes
    Patch Version: *p5_BgmOrder_PatVer
    Patch:
      - [ load, *p5_BgmOrder ]
  Encounter BGM Random Order:
    Games: *p5_Title_US
    Author: *p5_BgmRandom_Author
    Notes: *p5_BgmRandom_Notes
    Patch Version: *p5_BgmRandom_PatVer
    Patch:
      - [ load, *p5_BgmRandom ]
  Disable Navigator Battle Messages:
    Games: *p5_Title_US
    Author: *p5_NaviLines_Author
    Notes: *p5_NaviLines_Notes
    Patch Version: *p5_NaviLines_PatVer
    Patch:
      - [ load, *p5_NaviLines ]
  Custom Maximum Bullet Count:
    Games: *p5_Title_US
    Author: *p5_MaxBullet_Author
    Notes: *p5_MaxBullet_Notes
    Patch Version: *p5_MaxBullet_PatVer
    Patch:
      - [ load, *p5_MaxBullet ]
  File Access Log:
    Games: *p5_Title_US
    Author: *p5_FileAccessLog_Author
    Notes: *p5_FileAccessLog_Notes
    Patch Version: *p5_FileAccessLog_PatVer
    Patch:
      - [ load, *p5_FileAccessLog ]
  Fix Script Printing Functions:
    Games: *p5_Title_US
    Author: *p5_FixScriptPrintingFunctions_Author
    Notes: *p5_FixScriptPrintingFunctions_Notes
    Patch Version: *p5_FixScriptPrintingFunctions_PatVer
    Patch:
      - [ load, *p5_FixScriptPrintingFunctions ]
  Replace Color d0d0d0:
    Games: *p5_Title_US
    Author: *p5_d0d0d0_Author
    Notes: *p5_d0d0d0_Notes
    Patch Version: *p5_d0d0d0_PatVer
    Patch:
      - [ load, *p5_d0d0d0 ]
  Prevent Party Panel From Loading:
    Games: *p5_Title_US
    Author: *p5_StopPartyPanel_Author
    Notes: *p5_StopPartyPanel_Notes
    Patch Version: *p5_StopPartyPanel_PatVer
    Patch:
      - [ load, *p5_StopPartyPanel ]

PPU-b8c34f774adb367761706a7f685d4f8d9d355426:
  Enable Mod Support:
    Games: *p5_Title_EU
    Author: *p5_ModSupport_Author
    Notes: *p5_ModSupport_Notes
    Patch Version: *p5_ModSupport_PatVer
    Patch:
      - [ load, *p5_ModSupport ]
  4K Mod Patch:
    Games: *p5_Title_EU
    Author: *p5_4K_Author
    Notes: *p5_4K_Notes
    Patch Version: *p5_4K_PatVer
    Patch:
      - [ load, *p5_4K ]
  Skip Intro Videos:
    Games: *p5_Title_EU
    Author: *p5_SkipIntro_Author
    Patch Version: *p5_SkipIntro_PatVer
    Patch:
      - [ load, *p5_SkipIntro ]
  60 FPS:
    Games: *p5_Title_EU
    Author: *p5_60FPS_Author
    Notes: *p5_60FPS_Notes
    Patch Version: *p5_60FPS_PatVer
    Patch:
      - [ load, *p5_60FPS ]
  Disable DLC Unlock Messages:
    Games: *p5_Title_EU
    Author: *p5_DLC_Author
    Patch Version: *p5_DLC_PatVer
    Patch:
      - [ load, *p5_DLC ]
  Disable Blur Filter:
    Games: *p5_Title_EU
    Author: *p5_DisableBlur_Author
    Patch Version: *p5_DisableBlur_PatVer
    Patch:
      - [ load, *p5_DisableBlur ]
  Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
    Games: *p5_Title_EU
    Author: *p5_DisableDistortion_Author
    Patch Version: *p5_DisableDistortion_PatVer
    Patch:
      - [ load, *p5_DisableDistortion ]
  Disable Angry Distortion Filter (100% Alert):
    Games: *p5_Title_EU
    Author: *p5_Disable100PctDistortion_Author
    Patch Version: *p5_Disable100PctDistortion_PatVer
    Patch:
      - [ load, *p5_Disable100PctDistortion ]
  Disable HUD Elements:
    Games: *p5_Title_EU
    Author: *p5_NoHudLite_Author
    Notes: *p5_NoHudLite_Notes
    Patch Version: *p5_NoHudLite_PatVer
    Patch:
      - [ load, *p5_NoHudLite ]
  Disable HUD Elements (Aggressive):
    Games: *p5_Title_EU
    Author: *p5_NoHud_Author
    Notes: *p5_NoHud_Notes
    Patch Version: *p5_NoHud_PatVer
    Patch:
      - [ load, *p5_NoHud ]
  Encounter BGM In Order:
    Games: *p5_Title_EU
    Author: *p5_BgmOrder_Author
    Notes: *p5_BgmOrder_Notes
    Patch Version: *p5_BgmOrder_PatVer
    Patch:
      - [ load, *p5_BgmOrder ]
  Encounter BGM Random Order:
    Games: *p5_Title_EU
    Author: *p5_BgmRandom_Author
    Notes: *p5_BgmRandom_Notes
    Patch Version: *p5_BgmRandom_PatVer
    Patch:
      - [ load, *p5_BgmRandom ]
  Disable Navigator Battle Messages:
    Games: *p5_Title_EU
    Author: *p5_NaviLines_Author
    Notes: *p5_NaviLines_Notes
    Patch Version: *p5_NaviLines_PatVer
    Patch:
      - [ load, *p5_NaviLines ]
  Custom Maximum Bullet Count:
    Games: *p5_Title_EU
    Author: *p5_MaxBullet_Author
    Notes: *p5_MaxBullet_Notes
    Patch Version: *p5_MaxBullet_PatVer
    Patch:
      - [ load, *p5_MaxBullet ]
  File Access Log:
    Games: *p5_Title_EU
    Author: *p5_FileAccessLog_Author
    Notes: *p5_FileAccessLog_Notes
    Patch Version: *p5_FileAccessLog_PatVer
    Patch:
      - [ load, *p5_FileAccessLog ]
  Fix Script Printing Functions:
    Games: *p5_Title_EU
    Author: *p5_FixScriptPrintingFunctions_Author
    Notes: *p5_FixScriptPrintingFunctions_Notes
    Patch Version: *p5_FixScriptPrintingFunctions_PatVer
    Patch:
      - [ load, *p5_FixScriptPrintingFunctions ]
  Replace Color d0d0d0:
    Games: *p5_Title_EU
    Author: *p5_d0d0d0_Author
    Notes: *p5_d0d0d0_Notes
    Patch Version: *p5_d0d0d0_PatVer
    Patch:
      - [ load, *p5_d0d0d0 ]
  Prevent Party Panel From Loading:
    Games: *p5_Title_EU
    Author: *p5_StopPartyPanel_Author
    Notes: *p5_StopPartyPanel_Notes
    Patch Version: *p5_StopPartyPanel_PatVer
    Patch:
      - [ load, *p5_StopPartyPanel ]

PPU-3b394da7912181d308bf08505009b3578521c756:
  Enable Mod Support:
    Games: *p5_Title_JP_100
    Author: *p5_ModSupport_Author
    Notes: *p5_ModSupport_Notes
    Patch Version: *p5_ModSupport_PatVer
    Patch:
      - [ load, *p5_ModSupport ]
  4K Mod Patch:
    Games: *p5_Title_JP_100
    Author: *p5_4K_Author
    Notes: *p5_4K_Notes
    Patch Version: *p5_4K_PatVer
    Patch:
      - [ load, *p5_4K ]
  Skip Intro Videos:
    Games: *p5_Title_JP_100
    Author: *p5_SkipIntro_Author
    Patch Version: *p5_SkipIntro_PatVer
    Patch:
      - [ load, *p5_SkipIntro ]
  60 FPS:
    Games: *p5_Title_JP_100
    Author: *p5_60FPS_Author
    Notes: *p5_60FPS_Notes
    Patch Version: *p5_60FPS_PatVer
    Patch:
      - [ load, *p5_60FPS ]
  Disable DLC Unlock Messages:
    Games: *p5_Title_JP_100
    Author: *p5_DLC_Author
    Patch Version: *p5_DLC_PatVer
    Patch:
      - [ load, *p5_DLC ]
  Disable Blur Filter:
    Games: *p5_Title_JP_100
    Author: *p5_DisableBlur_Author
    Patch Version: *p5_DisableBlur_PatVer
    Patch:
      - [ load, *p5_DisableBlur ]
  Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
    Games: *p5_Title_JP_100
    Author: *p5_DisableDistortion_Author
    Patch Version: *p5_DisableDistortion_PatVer
    Patch:
      - [ load, *p5_DisableDistortion ]
  Disable Angry Distortion Filter (100% Alert):
    Games: *p5_Title_JP_100
    Author: *p5_Disable100PctDistortion_Author
    Patch Version: *p5_Disable100PctDistortion_PatVer
    Patch:
      - [ load, *p5_Disable100PctDistortion ]
  Disable HUD Elements:
    Games: *p5_Title_JP_100
    Author: *p5_NoHudLite_Author
    Notes: *p5_NoHudLite_Notes
    Patch Version: *p5_NoHudLite_PatVer
    Patch:
      - [ load, *p5_NoHudLite ]
  Disable HUD Elements (Aggressive):
    Games: *p5_Title_JP_100
    Author: *p5_NoHud_Author
    Notes: *p5_NoHud_Notes
    Patch Version: *p5_NoHud_PatVer
    Patch:
      - [ load, *p5_NoHud ]
  Encounter BGM In Order:
    Games: *p5_Title_JP_100
    Author: *p5_BgmOrder_Author
    Notes: *p5_BgmOrder_Notes
    Patch Version: *p5_BgmOrder_PatVer
    Patch:
      - [ load, *p5_BgmOrder ]
  Encounter BGM Random Order:
    Games: *p5_Title_JP_100
    Author: *p5_BgmRandom_Author
    Notes: *p5_BgmRandom_Notes
    Patch Version: *p5_BgmRandom_PatVer
    Patch:
      - [ load, *p5_BgmRandom ]
  Disable Navigator Battle Messages:
    Games: *p5_Title_JP_100
    Author: *p5_NaviLines_Author
    Notes: *p5_NaviLines_Notes
    Patch Version: *p5_NaviLines_PatVer
    Patch:
      - [ load, *p5_NaviLines ]
  Custom Maximum Bullet Count:
    Games: *p5_Title_JP_100
    Author: *p5_MaxBullet_Author
    Notes: *p5_MaxBullet_Notes
    Patch Version: *p5_MaxBullet_PatVer
    Patch:
      - [ load, *p5_MaxBullet ]
  File Access Log:
    Games: *p5_Title_JP_100
    Author: *p5_FileAccessLog_Author
    Notes: *p5_FileAccessLog_Notes
    Patch Version: *p5_FileAccessLog_PatVer
    Patch:
      - [ load, *p5_FileAccessLog ]
  Fix Script Printing Functions:
    Games: *p5_Title_JP_100
    Author: *p5_FixScriptPrintingFunctions_Author
    Notes: *p5_FixScriptPrintingFunctions_Notes
    Patch Version: *p5_FixScriptPrintingFunctions_PatVer
    Patch:
      - [ load, *p5_FixScriptPrintingFunctions ]
  Replace Color d0d0d0:
    Games: *p5_Title_JP_100
    Author: *p5_d0d0d0_Author
    Notes: *p5_d0d0d0_Notes
    Patch Version: *p5_d0d0d0_PatVer
    Patch:
      - [ load, *p5_d0d0d0 ]
  Prevent Party Panel From Loading:
    Games: *p5_Title_JP_100
    Author: *p5_StopPartyPanel_Author
    Notes: *p5_StopPartyPanel_Notes
    Patch Version: *p5_StopPartyPanel_PatVer
    Patch:
      - [ load, *p5_StopPartyPanel ]

PPU-9da9b988693598fbe1e2d316d1e927c37ad666bc:
  Enable Mod Support:
    Games: *p5_Title_JP_103
    Author: *p5_ModSupport_Author
    Notes: *p5_ModSupport_Notes
    Patch Version: *p5_ModSupport_PatVer
    Patch:
      - [ load, *p5_ModSupport ]
  4K Mod Patch:
    Games: *p5_Title_JP_103
    Author: *p5_4K_Author
    Notes: *p5_4K_Notes
    Patch Version: *p5_4K_PatVer
    Patch:
      - [ load, *p5_4K ]
  Skip Intro Videos:
    Games: *p5_Title_JP_103
    Author: *p5_SkipIntro_Author
    Patch Version: *p5_SkipIntro_PatVer
    Patch:
      - [ load, *p5_SkipIntro ]
  60 FPS:
    Games: *p5_Title_JP_103
    Author: *p5_60FPS_Author
    Notes: *p5_60FPS_Notes
    Patch Version: *p5_60FPS_PatVer
    Patch:
      - [ load, *p5_60FPS ]
  Disable DLC Unlock Messages:
    Games: *p5_Title_JP_103
    Author: *p5_DLC_Author
    Patch Version: *p5_DLC_PatVer
    Patch:
      - [ load, *p5_DLC ]
  Disable Blur Filter:
    Games: *p5_Title_JP_103
    Author: *p5_DisableBlur_Author
    Patch Version: *p5_DisableBlur_PatVer
    Patch:
      - [ load, *p5_DisableBlur ]
  Disable Normal Distortion Filter (<=99% Alert & Velvet Room):
    Games: *p5_Title_JP_103
    Author: *p5_DisableDistortion_Author
    Patch Version: *p5_DisableDistortion_PatVer
    Patch:
      - [ load, *p5_DisableDistortion ]
  Disable Angry Distortion Filter (100% Alert):
    Games: *p5_Title_JP_103
    Author: *p5_Disable100PctDistortion_Author
    Patch Version: *p5_Disable100PctDistortion_PatVer
    Patch:
      - [ load, *p5_Disable100PctDistortion ]
  Disable HUD Elements:
    Games: *p5_Title_JP_103
    Author: *p5_NoHudLite_Author
    Notes: *p5_NoHudLite_Notes
    Patch Version: *p5_NoHudLite_PatVer
    Patch:
      - [ load, *p5_NoHudLite ]
  Disable HUD Elements (Aggressive):
    Games: *p5_Title_JP_103
    Author: *p5_NoHud_Author
    Notes: *p5_NoHud_Notes
    Patch Version: *p5_NoHud_PatVer
    Patch:
      - [ load, *p5_NoHud ]
  Encounter BGM In Order:
    Games: *p5_Title_JP_103
    Author: *p5_BgmOrder_Author
    Notes: *p5_BgmOrder_Notes
    Patch Version: *p5_BgmOrder_PatVer
    Patch:
      - [ load, *p5_BgmOrder ]
  Encounter BGM Random Order:
    Games: *p5_Title_JP_103
    Author: *p5_BgmRandom_Author
    Notes: *p5_BgmRandom_Notes
    Patch Version: *p5_BgmRandom_PatVer
    Patch:
      - [ load, *p5_BgmRandom ]
  Disable Navigator Battle Messages:
    Games: *p5_Title_JP_103
    Author: *p5_NaviLines_Author
    Notes: *p5_NaviLines_Notes
    Patch Version: *p5_NaviLines_PatVer
    Patch:
      - [ load, *p5_NaviLines ]
  Custom Maximum Bullet Count:
    Games: *p5_Title_JP_103
    Author: *p5_MaxBullet_Author
    Notes: *p5_MaxBullet_Notes
    Patch Version: *p5_MaxBullet_PatVer
    Patch:
      - [ load, *p5_MaxBullet ]
  File Access Log:
    Games: *p5_Title_JP_103
    Author: *p5_FileAccessLog_Author
    Notes: *p5_FileAccessLog_Notes
    Patch Version: *p5_FileAccessLog_PatVer
    Patch:
      - [ load, *p5_FileAccessLog ]
  Fix Script Printing Functions:
    Games: *p5_Title_JP_103
    Author: *p5_FixScriptPrintingFunctions_Author
    Notes: *p5_FixScriptPrintingFunctions_Notes
    Patch Version: *p5_FixScriptPrintingFunctions_PatVer
    Patch:
      - [ load, *p5_FixScriptPrintingFunctions ]
  Replace Color d0d0d0:
    Games: *p5_Title_JP_103
    Author: *p5_d0d0d0_Author
    Notes: *p5_d0d0d0_Notes
    Patch Version: *p5_d0d0d0_PatVer
    Patch:
      - [ load, *p5_d0d0d0 ]
  Prevent Party Panel From Loading:
    Games: *p5_Title_JP_103
    Author: *p5_StopPartyPanel_Author
    Notes: *p5_StopPartyPanel_Notes
    Patch Version: *p5_StopPartyPanel_PatVer
    Patch:
      - [ load, *p5_StopPartyPanel ]

Anchors:
  r1fpsnotes: &r1fpsnotes "Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 33FPS or 60FPS depending on the scene."

PPU-0cc2ddc637def2fe22b5e89563f773e4c0cae024: # game.self
  Unlock FPS:
    Games:
      "Resistance: Fall of Man":
        BCUS98107: [ 01.00 ]
        BCES00001: [ 01.00 ]
    Author: Whatcookie
    Notes: *r1fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001e5db0, 0x60000000 ]
      - [ bef32, 0x00678ed0, 0.00416666  ] # set minimum timestep size
  Extended FOV:
    Games:
      "Resistance: Fall of Man":
        BCUS98107: [ 01.00 ]
        BCES00001: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x06b6390, 0.7  ]

PPU-82555e0b1aaaa6c62ae8f23057e38d1006b7c19c: # game.self
  Unlock FPS:
    Games:
      "Resistance: Fall of Man":
        NPEA00430: [ 01.00 ]
    Author: Whatcookie, illusion
    Notes: *r1fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00418898, 0x4800 ]
      - [ bef32, 0x00768348, 0.00416666 ] # set minimum timestep size
  "Bug Fix: Return to EBOOT.BIN on Quit":
    Games:
      "Resistance: Fall of Man":
        NPEA00430: [ 01.00 ]
    Author: illusion
    Notes: "Avoid recompiling unused PPU modules."
    Patch Version: 1.0
    Patch:
      - [ byte, 0x000334d7, 0x2c ]
  Extended FOV:
    Games:
      "Resistance: Fall of Man":
        NPEA00430: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x007B0494, 0.7 ]

PPU-533d9f764374a5174b4e3c2834e742c4184d7211:
  Unlock FPS:
    Games:
      "Sengoku Basara 4: Sumeragi":
        BLJM61248: [ 01.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

Anchors:
  SHADOWS_FPSnotes: &SHADOWS_FPSnotes "Maximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 31FPS."
  
  SHADOWS_FPS: &SHADOWS_FPS
    - [ be32, 0x009E0CE4, 0x60000000 ] # nop
    - [ be32, 0x009E0D64, 0x60000000 ] # nop
  
  SHADOWS_PPXnotes: &SHADOWS_PPXnotes "Removes post-processing render pass from SceneRenderer. This patch will disable all post-processing effects, including motion blur, DoF, FXAA, image grain, vignette, color grading, and also provides a moderate performance boost."
  
  SHADOWS_PPX: &SHADOWS_PPX
    - [ be32, 0x007DF6A0, 0x38A00000 ] # li r5 0
    - [ be32, 0x007DFFD4, 0x38A00001 ] # li r5 1
    - [ be32, 0x007E014C, 0x38A00000 ] # li r5 0
    - [ be32, 0x007E75AC, 0x60000000 ] # nop

PPU-888f4088d305a6add6f83728bdf917c8245fb72c:
  Unlock FPS:
    Games:
      "Shadows of the Damned":
        BLUS30653: [ All ]
    Author: Whatcookie
    Notes: *SHADOWS_FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *SHADOWS_FPS ]
  Disable Image Grain and other Post-Processing:
    Games:
      "Shadows of the Damned":
        BLUS30653: [ All ]
    Author: boma
    Notes: *SHADOWS_PPXnotes
    Patch Version: 1.0
    Patch:
      - [ load, *SHADOWS_PPX ]

PPU-57b3bd94bab3f0db81625c843cdd9bc04d77cd4a:
  Unlock FPS:
    Games:
      "Shadows of the Damned":
        BLES01276: [ All ]
    Author: Whatcookie, Dante3732
    Notes: *SHADOWS_FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *SHADOWS_FPS ]
  Disable Image Grain and other Post-Processing:
    Games:
      "Shadows of the Damned":
        BLES01276: [ All ]
    Author: boma
    Notes: *SHADOWS_PPXnotes
    Patch Version: 1.0
    Patch:
      - [ load, *SHADOWS_PPX ]

Anchors:
  sly4mlaaEU: &sly4mlaaEU
  - [ be32, 0x00531CC0, 0x38800000 ] # li r4 0x0
  sly4mlaaUK: &sly4mlaaUK 
  - [ be32, 0x00531cb0, 0x38800000 ] # li r4 0x0
  sly4mlaaUS: &sly4mlaaUS
  - [ be32, 0x00531D40, 0x38800000 ] # li r4 0x0

  sly4mlaanotes: &sly4mlaanotes "Disables MLAA, allowing for the use of resolution scaling. Use in conjunction with the SPU MLAA patch for better performance."

PPU-5c741b00514f07966c2820d67f395d945a88d79d: 
  Disable MLAA:
    Games:
      "Sly Cooper: Thieves in Time":
        BCES01284: [ 01.00 ]
    Author: illusion
    Notes: *sly4mlaanotes
    Patch Version: 1.0
    Patch:
        - [ load, *sly4mlaaEU ]

PPU-326bf99e707d7d2be160ec116bb6313ae2f42ebc:
  Disable MLAA:
    Games:
      "Sly Cooper: Thieves in Time":
        BCES01285: [ 01.00 ]
    Author: illusion, YuriNator557
    Notes: *sly4mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *sly4mlaaUK ]

PPU-69acb9900ff44f7d7a3b25b226b213966955aed4: 
  Disable MLAA:
    Games:
      "Sly Cooper: Thieves in Time":
        BCUS98247: [ 01.00 ]
    Author: illusion
    Notes: *sly4mlaanotes
    Patch Version: 1.0
    Patch:
        - [ load, *sly4mlaaUS ]

PPU-fb1e9e9160613b89047715ce62f2da97201118d1: 
  Disable MLAA:
    Games:
      "Sly Cooper: Thieves in Time":
        NPEA00429: [ 01.00 ]
    Author: illusion,.mew21
    Notes: *sly4mlaanotes
    Patch Version: 1.0
    Patch:
        - [ load, *sly4mlaaEU ] 

PPU-cf7f5b0e93e0afb59e8f22fd040086ae554cdbad: 
  Disable MLAA:
    Games:
      "Sly Cooper: Thieves in Time":
        NPUA80875: [ 01.00 ]
    Author: illusion, mew21
    Notes: *sly4mlaanotes
    Patch Version: 1.0
    Patch:
        - [ load, *sly4mlaaUS ]

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:
  16:9 Aspect Ratio:
    Games:
      "Sonic Adventure":
        NPUB30249: [ All ]
        NPEB00304: [ All ]
    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 ]

PPU-5fa63817d4349e8b47e6ddd2425fadfd2914a1fa:
  Custom Time Scale (ingame, menus, FMVs):
    Games:
      "Sonic the Hedgehog (Sonic '06)":
        BLES00028: [ All ]
    Notes: Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Patch:
      - [ bef32, 0x16917E0, 0.016666667 ] # 0.03333333 for 30 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
  Custom Time Scale (cutscenes):
    Games:
      "Sonic the Hedgehog (Sonic '06)":
        BLES00028: [ All ]
    Notes: Cutscene framerate is capped at half Vblank frequency. Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Patch:
      - [ bef32, 0x16920D0, 0.03333333 ] # 0.016666667 for 60 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)

PPU-4b46d0161ca657ab16b0a779d9062810ea5ea2dd:
  Custom Time Scale (ingame, menus, FMVs):
    Games:
      "Sonic the Hedgehog (Sonic '06)":
        BLUS30008: [ All ]
    Notes: Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Patch:
      - [ bef32, 0x16917B0, 0.016666667 ] # 0.03333333 for 30 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
  Custom Time Scale (cutscenes):
    Games:
      "Sonic the Hedgehog (Sonic '06)":
        BLUS30008: [ All ]
    Notes: Cutscene framerate is capped at half Vblank frequency. Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Patch:
      - [ bef32, 0x16920A0, 0.03333333 ] # 0.016666667 for 60 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)

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 a resolution of 880x720. With this patch, it will render at a resolution of 1280x720."
  
  suAspectRatio_v102: &suAspectRatio_v102
  # Aspect ratio. Divide width by height to get the float value.
    - [ bef32, 0x0275DB2C, 2.37037037 ]

  suAspectRatio_Notes: &suAspectRatio_Notes "Enables 21:9 aspect ratio support. Users must enable \"Stretch to Display Area\" option to take advantage of this patch."

  su102mb: &su102mb
    - [ be32, 0x00E234E8, 0x38000000 ]
  su102dof: &su102dof
    - [ be32, 0x00E5D7C4, 0x38000000 ]
  su102ds: &su102ds
    - [ be32, 0x00E0464C, 0x38000000 ]
  su102re: &su102re
    - [ be32, 0x00E1EEF0, 0x38000000 ]

  suborkednotes: &suborkednotes "Improves performance at the cost of graphics quality."

PPU-6ebcaf71dc08cd612acb82f8e32738a8693d9347:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.00 ]
        BLES00425: [ 01.00 ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_USEUPhysical ]

PPU-c2911b4248ca2090819299f90d1a2d37f50fd5a8:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_v102 ]
  21:9 Aspect Ratio:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: slashiee
    Notes: *suAspectRatio_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *suAspectRatio_v102 ]
  Disable Depth of Field:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *su102dof ]
  Disable Motion Blur:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *su102mb ]
  Disable Dynamic Shadows:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: illusion
    Notes: *suborkednotes
    Patch Version: 1.0
    Patch:
      - [ load, *su102ds ]
  Disable Real-time Reflections:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLUS30244: [ 01.02 ]
    Author: illusion
    Notes: *suborkednotes
    Patch Version: 1.0
    Patch:
      - [ load, *su102re ]

PPU-dfe27b6a57f3fd01f310e402e97a297836b46ceb:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_v102 ]
  21:9 Aspect Ratio:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: slashiee
    Notes: *suAspectRatio_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *suAspectRatio_v102 ]
  Disable Depth of Field:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *su102dof ]
  Disable Motion Blur:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *su102mb ]
  Disable Dynamic Shadows:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: illusion
    Notes: *suborkednotes
    Patch Version: 1.0
    Patch:
      - [ load, *su102ds ]
  Disable Real-time Reflections:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLES00425: [ 01.02 ]
    Author: illusion
    Notes: *suborkednotes
    Patch Version: 1.0
    Patch:
      - [ load, *su102re ]

PPU-fbb2149d0f9ad51398eed59cbd26db5367d6376e:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLJM60112: [ 01.00 ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *swa1280x720_BLJM60112 ]

PPU-4b48caf21e1f10d47aa9a20acce8ecd8c055755e:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLJM60112: [ 01.02 ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_v102 ]
  21:9 Aspect Ratio:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        BLJM60112: [ 01.02 ]
    Author: slashiee
    Notes: *suAspectRatio_Notes
    Patch Version: 1.0
    Patch:
      - [ load, *suAspectRatio_v102 ]

PPU-88b57d524597bbee38df3a452eb0e86c5e789f73:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        NPUB31204: [ All ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_Digital ]

PPU-d0bf7a33f1763725609feaa87e0e4d18ab9e8acd:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        NPEB01347: [ All ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_Digital ]

PPU-bd76a566ab62386b90443711206c3f5063b5ab38:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        NPUB90194: [ All ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_NPUB90194_Demo ]

PPU-7d9105cac7fb9c8ebbbd791693c27986b12c98ad:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        NPEB90132: [ All ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *su1280x720_NPEB90132_Demo ]

PPU-8bc924308cd72132d78bae70fb9a1fa82af03c19:
  1280x720 Resolution:
    Games:
      "Sonic Unleashed (Sonic World Adventure)":
        NPJB90162: [ All ]
    Author: TGEnigma, slashiee
    Notes: *su1280x720_Notes
    Patch Version: 1.3
    Patch:
      - [ load, *swa1280x720_NPJB90162_Demo ]

PPU-2f6778a8e97be84833e47ef273ff10cc2bd6809e:
  21:9 Aspect Ratio:
    Games:
      "Space Channel 5: Part 2":
        NPUB30353: [ All ]
    Author: Esppiral
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x5839D4, 0x3F99999A ] # ZOOM+ (21.9)
      - [ be32, 0x57EF84, 0x3F400000 ] # VERT+ (21.9)

PPU-dd7337070bf5a57a46f74c243995009319e2748b: # OBLIVION [BLUS30087] GOTY
  Unlock FPS:
    Games:
      "The Elder Scrolls IV: Oblivion":
        BLUS30087: [ 01.00 ]
        BLES00163: [ 01.00 ]
    Author: Whatcookie
    Notes: Completely unlocks FPS and doesn't require any special settings. Use Framelimit or VSync option to cap the maximum framerate.
    Patch Version: 1.00
    Patch:
      - [ be32, 0x00aaed04, 0x60000000 ]
      - [ be32, 0x00aaec4c, 0x60000000 ]
      - [ be32, 0x00682100, 0x60000000 ]

Anchors:
  UT3_FPS: &UT3_FPS
    - [ be32, 0x0057B760, 0x60000000 ]

PPU-d4452078fad5d1d71a6ccb30d8349259749f38e7:
  Unlock FPS:
    Games:
      "Unreal Tournament 3":
        BLES00200: [ 02.00 ]
    Author: Whatcookie, illusion
    Notes: "Last modified: 30 November 2020\nMaximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 58FPS."
    Patch Version: 1.1
    Patch:
      - [ load, *UT3_FPS ]

PPU-a14d9bfcebd7226221bc81c9885dab16d688ae5c:
  Unlock FPS:
    Games:
      "Unreal Tournament 3":
        BLUS30086: [ 02.00 ]
    Author: Whatcookie, illusion
    Notes: "Last modified: 30 November 2020\nMaximum framerate with the patch is half the Vblank frequency. Without the patch, adjusting Vblank frequency increases the maximum framerate up to about 58FPS."
    Patch Version: 1.1
    Patch:
      - [ load, *UT3_FPS ]

PPU-9c0d4079af9107fa762bbcba4d2c69478f5484a6: # cod_ps3f.elf
  Extended FOV:
    Games:
      "Call of Duty 3":
        BLES00016: [ All ] # needs all tag otherwise patch doesn't get applied even though game version is the same in param.sfo
    Author: illusion
    Notes: Needs testing on other versions
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x12248E8, 0.64 ]

PPU-7bf98dfa97ff84d8db49fcf198e2ecb9d9975ac6: # bin\s4_g.self
  60 FPS:
    Games:
      "SOCOM 4: U.S. Navy SEALs (Special Forces)":
        BCES00938: [ 01.00 ]
        BCUS98135: [ 01.00 ]
    Author: illusion
    Notes: "Set Clock scale to 200% for 60FPS\nIGC might still be double speed."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x16F2ECC, 0x3F00 ]
  Extended FOV:
    Games:
      "SOCOM 4: U.S. Navy SEALs (Special Forces)":
        BCES00938: [ 01.00 ]
        BCUS98135: [ 01.00 ]
    Author: illusion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x16EFE34, 0.65 ]
  Disable MLAA:
    Games:
      "SOCOM 4: U.S. Navy SEALs (Special Forces)":
        BCES00938: [ 01.00 ]
        BCUS98135: [ 01.00 ]
    Author: illusion
    Notes: "Allows for the use of resolution scaling.\nSome effects like fire, smoke, muzzle flashes and possibly more will be missing due to the particle rendering system being tied into mlaa function." # ugh, who thought this would be a good idea
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001ec268, 0x38600000 ] # EdgeMlaa3d
      - [ be32, 0x001EC298, 0x38C00000 ]

Anchors:
  ms3psndsr: &ms3psndsr
    - [ be32, 0x00469CF0, 0x38600000 ] # li r3 0x0

  ms3psnmb: &ms3psnmb
    - [ be32, 0x00469D24, 0x38600000 ] # li r3 0x0

  ms3psnssao: &ms3psnssao
    - [ be32, 0x00469DFC, 0x38600000 ] # li r3 0x0

  ms3psnmlaa: &ms3psnmlaa
    - [ be32, 0x0044CB14, 0x38800000 ] # li r4 0x0 // EdgePostEffects

  ms3psnfps: &ms3psnfps
    - [ be32, 0x005BA9DC, 0x38800001 ] #vfps
    - [ be32, 0x005BA514, 0x60000000 ] #target fps

  ms3100dsr: &ms3100dsr
    - [ be32, 0x004760F0, 0x38600000 ] # li r3 0x0

  ms3100mb: &ms3100mb
    - [ be32, 0x00476124, 0x38600000 ] # li r3 0x0

  ms3100ssao: &ms3100ssao
    - [ be32, 0x004761FC, 0x38600000 ] # li r3 0x0

  ms3100mlaa: &ms3100mlaa
    - [ be32, 0x00456C94, 0x38800000 ] # li r4 0x0 // EdgePostEffects

  ms3100fps: &ms3100fps
    - [ be32, 0x005EE690, 0x38800001 ] #vfps
    - [ be32, 0x005EE42C, 0x60000000 ] #target fps

  ms3100intro: &ms3100intro
    - [ be32, 0x007fb744, 0x3084345f ]

  ms3100dev: &ms3100dev
    - [ utf8, 0x010f3460, "\x00" ]

  ms3106dsr: &ms3106dsr
    - [ be32, 0x00469E90, 0x38600000 ] # li r3 0x0

  ms3106mb: &ms3106mb
    - [ be32, 0x00469EC4, 0x38600000 ] # li r3 0x0

  ms3106ssao: &ms3106ssao
    - [ be32, 0x00469F9C, 0x38600000 ] # li r3 0x0

  ms3106mlaa: &ms3106mlaa
    - [ be32, 0x0044CCB4, 0x38800000 ] # li r4 0x0 // EdgePostEffects

  ms3106fps: &ms3106fps
    - [ be32, 0x005BC2AC, 0x38800001 ]
    - [ be32, 0x005BBDE4, 0x60000000 ]

  ms3106intro: &ms3106intro
    - [ utf8, 0x00f965d4, "\x00"]

  ms3mlaanotes: &ms3mlaanotes "Allows for the use of Resolution Scaling in the title.\nMust be used with Disable Dynamic Resolution Scale patch for proper upscaling and improved performance.\nSet Resolution Scale Threshold to 256x256 Partially fixes screen pattern on bloom when using Resolution Scaling."

  ms3fpsnotes: &ms3fpsnotes "Updated with a new version that has correct game speed above 15FPS.\nIncrease Vblank above 60Hz to go above 60FPS.\nSome UI elements are still tied to target FPS."

  ms3ssaonotes: &ms3ssaonotes "Disabling SSAO (Screen Space Ambient Occlusion) does not improve performance, and makes the game look worse. Optional patch for those that wish to use it."

  ms3drsnotes: &ms3drsnotes "Must be used with the MLAA patch for proper upscaling and improved performance."

PPU-c3a2c4075b9ff3c2b142c2df606bb1663c097d5b:
  "Skip Intro":
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100intro ]
  "Enable Dev Menu":
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dev ]
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3100fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.00 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mlaa ]
      
PPU-69a95ded717d716cdcd77ed0b51fa90bf1cb4fa3:
  "Skip Intro":
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100intro ]
  "Enable Dev Menu":
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dev ]
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3100fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.00 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mlaa ]

PPU-bc3b923ec314051c7c61d3134ea9c01f24eaf4f7:
  "Skip Intro":
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100intro ]
  "Enable Dev Menu":
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dev ]
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3100fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.00 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3100mlaa ]

PPU-41644f9f5fda72efc62e7146620db9679969bff6:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3106fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mlaa ]
  Skip Intro:
    Games:
      "Motorstorm: Apocalypse":
        BCES00484: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106intro ]

PPU-f5136a68b1293dd7341878005674f05ffa5ff16a:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3106fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mlaa ]
  Skip Intro:
    Games:
      "Motorstorm: Apocalypse":
        BCES01104: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106intro ]

PPU-d39f3ed2bf15a49d28486c7bad52b72c8933cbe8:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ load, *ms3106fps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106dsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106ssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106mlaa ]
  Skip Intro:
    Games:
      "Motorstorm: Apocalypse":
        BCUS98242: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ load, *ms3106intro ]

PPU-507b9d34380cff4bc03d7c64ce6342180779c84b:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        NPUA80661: [ 01.06 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
     - [ load, *ms3psnfps ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        NPUA80661: [ 01.06 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psndsr ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        NPUA80661: [ 01.06 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnssao ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        NPUA80661: [ 01.06 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnmb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        NPUA80661: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnmlaa ]

PPU-fe5be566e6cf8bb0b405c8f2b6689e33c471b143:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse":
        NPEA00315: [ 01.06 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
     - [ load, *ms3psnfps ]
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse":
        NPEA00315: [ 01.06 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnssao ]
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse":
        NPEA00315: [ 01.06 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psndsr ]
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse":
        NPEA00315: [ 01.06 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnmb ]
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse":
        NPEA00315: [ 01.06 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
     - [ load, *ms3psnmlaa ]

PPU-afb6e2e47e170711041775e0280707e503469d85:
  Unlock FPS:
    Games:
      "Motorstorm: Apocalypse Singleplayer Demo":
        NPEA90090: [ 01.00 ]
    Author: illusion
    Notes: *ms3fpsnotes
    Patch Version: 2.0
    Patch:
      - [ be32, 0x005EA630, 0x60000000 ] #vfps
      - [ be32, 0x005EA3CC, 0x60000000 ] #target fps
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: Apocalypse Singleplayer Demo":
        NPEA90090: [ 01.00 ]
    Author: illusion
    Notes: *ms3drsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00471D40, 0x38600000 ] # li r3 0x0
  Disable SSAO:
    Games:
      "Motorstorm: Apocalypse Singleplayer Demo":
        NPEA90090: [ 01.00 ]
    Author: illusion
    Notes: *ms3ssaonotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00471E4C, 0x38600000 ] # li r3 0x0
  Disable Motion blur:
    Games:
      "Motorstorm: Apocalypse Singleplayer Demo":
        NPEA90090: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00471D74, 0x38600000 ] # li r3 0x0
  Disable MLAA:
    Games:
      "Motorstorm: Apocalypse Singleplayer Demo":
        NPEA90090: [ 01.00 ]
    Author: illusion
    Notes: *ms3mlaanotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004528E4, 0x38800000 ] # li r4 0x0 // EdgePostEffects

PPU-7b13f30153c465c62995ff4710961f3ae7d2e378:
  Unlock FPS:
    Games:
      "Life is Strange":
        NPEB02197: [ 01.07 ]
        NPUB31636: [ 01.08 ]
    Author: illusion
    Notes: "Removes 62FPS limit.\nMaximum framerate with the patch is half the Vblank frequency."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0042C4FC, 0x60000000 ]

PPU-9940a863ed7bf977c5a15cff5eec8d0649a8552f:
  Unlock FPS:
    Games:
      "Life is Strange":
        NPJB00789: [ 01.00 ]
    Author: illusion
    Notes: "Removes 62FPS limit.\nMaximum framerate with the patch is half the Vblank frequency."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0042C1EC, 0x60000000 ]

PPU-11f50d10f4626cdd59837e2fe44b701a9d9bfeac: # SHGAME.SELF
  Unlock FPS:
    Games:
      "Silent Hill Downpour":
        BLES01446: [ 01.01 ]
        BLUS30565: [ 01.01 ]
    Author: illusion
    Notes: "Removes 62FPS limit.\nMaximum framerate with the patch is half the Vblank frequency."
    Patch Version: 1.0
    Patch:
      - [ be32, 0x002A1250, 0x60000000 ]

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 ]
    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 ]
        NPEA90125: [ 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\nThe Ratchet & Clank Trilogy" ]
    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 ]

PPU-7a8b0571c168093a30c04ad706040370a17c21b0:
  Extended FOV:
    Games:
      "The Darkness Demo":
        NPEB90006: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x10AEB44, 1.25 ]

PPU-eb133a3b9430baa45d39e9e00ba8cf9cea89154c:
  Extended FOV:
    Games:
      "The Darkness":
        BLES00058: [ 01.03 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x10AEAEC, 1.25 ]

PPU-9ef94f24f84f5923f9c88557e33c2ffab380fb7b:
  Extended FOV:
    Games:
      "The Darkness":
        BLUS30035: [ 01.03 ]
    Author: illusion, Aphelion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x10AEAA4, 1.25 ]

PPU-4050da6fa9d7eed65e7d748b03a6ba89023b90c3:
  Debug Menu:
    Games:
      "Batman: Arkham Asylum GOTY":
        BLUS30515: [ 01.00 ]
    Author: dron_3
    Notes: Press R1+START in-game to access the Debug Menu (god mode, no clip, etc.)
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0121DBAC, 0x38600000 ]

PPU-17a273d69dad20980377e405809f7d888b6c6dce:
  Disable MLAA:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00512F94, 0x38600000 ] # Ps3EdgeMlaaEnable
      - [ be32, 0x016DE8F0, 0x98bf0186 ] # prevent crashing if 83 is disabled first, swapped store byte.
  Disable Bloom:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x016DE8FC, 0x98bf0183 ] # bloom/bubble blur, this won't crash anymore. requires 86 to be loaded with 0!
  Speedup:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Notes: "Compromise visuals for extra performance."
    Author: ZEROx, illusion
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01732b48, 0x991f ]
      - [ be16, 0x01732b54, 0x991f ]
  Blocky depth fix:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Author: ZEROx
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01732a60, 0x991f ]
  Disable Dynamic Lights:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Author: illusion
    Notes: "Last modified: 06 October 2020\n\nCompromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01732b58, 0x991f ]
  Disable Dynamic Spotlights:
    Games:
      "Army of TWO The Devil's Cartel Demo":
        NPEB90470: [ 01.00 ]
        NPUB90862: [ 01.00 ]
    Author: illusion
    Notes: "Compromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01732b5c, 0x991f ]

PPU-d8376f500c89feb12500754ba0ec1483c4aeb5da:
  Disable MLAA:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x004E51A4, 0x38600000 ] # Ps3EdgeMlaaEnable
      - [ be32, 0x01701BF0, 0x98bf0186 ] # prevent crashing if 83 is disabled first, swapped store byte.
  Disable Bloom:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x01701BFC, 0x98bf0183 ] # bloom/bubble blur, this won't crash anymore. requires 86 to be loaded with 0!
  Speedup:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: ZEROx, illusion
    Notes: "Compromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01755BC8, 0x991f ]
      - [ be16, 0x01755BD4, 0x991f ]
  Blocky depth fix:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: ZEROx
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01755ae0, 0x991f ]
  Disable Dynamic Lights:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: illusion
    Notes: "Compromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01755BD8, 0x991f ]
  Disable Dynamic Spotlights:
    Games:
      "Army of TWO The Devil's Cartel":
        NPEB01217: [ 01.01 ]
        NPUB30987: [ 01.01 ]
        BLES01763: [ 01.01 ]
        BLUS31069: [ 01.01 ]
    Author: illusion
    Notes: "Compromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01755BDC, 0x991f ]

PPU-e8d5bbb306b85186133e090b79a5c0fd5d11ccfb: # siren cursed
  60 FPS:
    Games:
      "Siren Blood Curse":
        NPEA00095: [ 01.00 ]
    Author: Esppiral, illusion
    Notes: May break above 60FPS, accelerates the turns of the character by 2 times, speeds up the game by 2 times in splitscreen.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00022D90, 0x60000000 ] #startup
      - [ be32, 0x00022980, 0x60000000 ] #splitscreen

PPU-ccc559bb969d8a52d00597b7ecc5e76e552c2cb6:
  R&C 1 Ultrawide (21:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x4DF144, 2.37037]
  R&C 1 Super Ultrawide (32:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x4DF144, 3.55555]

PPU-f3eccbf6ccf5e2aa99f352b612069e7a20198d68:
  R&C 1 Ultrawide (21:9):
    Games:
      "Ratchet & Clank":
        NPUA80643: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x52CB04, 2.37037]
  R&C 1 Super Ultrawide (32:9):
    Games:
      "Ratchet & Clank":
        NPUA80643: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x52CB04, 3.55555]

PPU-2489bccdbafacc6ec3a36aa68ae3dcbe7e9e2d6c:
  R&C 2 Ultrawide (21:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x10B2574, 2.37037]
  R&C 2 Super Ultrawide (32:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x10B2574, 3.55555]


PPU-756536d2feaab9088d1c3cb086d999be20256feb:
  R&C 2 Ultrawide (21:9):
    Games:
      "Ratchet & Clank 2":
        NPUA80644: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x10B2F04, 2.37037]
  R&C 2 Super Ultrawide (32:9):
    Games:
      "Ratchet & Clank 2":
        NPUA80644: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x10B2F04, 3.55555]

PPU-2b534405de98e28b1368947c8f14d9a386bc53de:
  R&C 3 Ultrawide (21:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x96F544, 2.37037]
  R&C 3 Super Ultrawide (32:9):
    Games:
      "The Ratchet & Clank Trilogy":
        BCES01503: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x96F544, 3.55555]

PPU-835dc9b413a3f538ddb52f24382b93e3fad5164d:
  R&C 3 Ultrawide (21:9):
    Games:
      "Ratchet & Clank 3":
        NPUA80645: [ All ]
    Author: Juhn
    Notes: 21:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x96F6A4, 2.37037]
  R&C 3 Super Ultrawide (32:9):
    Games:
      "Ratchet & Clank 3":
        NPUA80645: [ All ]
    Author: Victoria
    Notes: 32:9
    Patch Version: 1.2
    Patch:
      - [bef32, 0x96F6A4, 3.55555]

PPU-ef1de7a2b91566a4b0e2acc177a6c2f1cecdfd7e:
  Infinite Ammo & Consumables:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion
    Notes: Best used with the Infinite Carry Weight Patch; affects many items in the game, not just ammo and consumables. While this patch is enabled, affected items can't be removed from your inventory, and dropping them will duplicate them. Items can be sold for caps, but they do not leave your inventory.
    Patch Version: 1.1
    Patch:
      - [ be32, 0x004140D8, 0x60000000 ]
      - [ be32, 0x004134E8, 0x60000000 ] 
  Infinite Caps:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion
    Notes: Essentially permanent if you save with this patch enabled - adds over 1 billion caps to your inventory which will remain after the patch is disabled.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0041DE7C, 0x90630004 ]
  No Weapon Degradation:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion
    Notes: Using weapons and armor does not affect their condition. Repairing items brings them to perfect condition.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00386AC8, 0x60000000 ]
  No Reloading:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion
    Notes: Press square to instantly reload single-shot weapons like the Missile Launcher and Fat Man.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0040F980, 0x60000000 ]
  Infinite Carry Weight:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00420594, 0x903F0008 ]
  Unlock FPS:
    Games:
      "Fallout 3 GOTY Edition":
        BLUS30451: [ 01.00 ]
    Author: Aphelion, illusion
    Notes: Set the framelimiter to 60, as things will break over 60 FPS.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00702BCC, 0x60000000 ]

PPU-3760b7d673fc130e13295fa5071164537880adad:
  Infinite Ammo:
    Games:
      "Borderlands":
        BLUS30386: [ 01.07 ]
        NPUB30413: [ 01.07 ]
        BLES00697: [ 01.07 ]
        NPEB00458: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00630D60, 0x60000000 ]
  Max Cash:
    Games:
      "Borderlands":
        BLUS30386: [ 01.07 ]
        NPUB30413: [ 01.07 ]
        BLES00697: [ 01.07 ]
        NPEB00458: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x005D5C28, 0x976302B8 ]
  Demigod Mode:
    Games:
      "Borderlands":
        BLUS30386: [ 01.07 ]
        NPUB30413: [ 01.07 ]
        BLES00697: [ 01.07 ]
        NPEB00458: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0064FC88, 0x80030905 ]
      - [ be32, 0x0064FC8C, 0x60000008 ]
      - [ be32, 0x0064FC90, 0x64008000 ]
      - [ be32, 0x0064FC94, 0x90030905 ]
  Max Experience on Gain:
    Games:
      "Borderlands":
        BLUS30386: [ 01.07 ]
        NPUB30413: [ 01.07 ]
        BLES00697: [ 01.07 ]
        NPEB00458: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x005F2220, 0x3C007000 ]
  Max Weapon Damage:
    Games:
      "Borderlands":
        BLUS30386: [ 01.07 ]
        NPUB30413: [ 01.07 ]
        BLES00697: [ 01.07 ]
        NPEB00458: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x006A3FD0, 0xEC3F07F2 ]
      - [ be32, 0x006A3FD4, 0xEC210072 ]

PPU-70ce632c4b8910f8f2d3eb5ed97ae29fae31d5f0:
  God Mode:
    Games:
      "Borderlands 2":
        BLUS30982: [ 01.15 ]
        BLES01684: [ 01.15 ]
        NPEB01144: [ 01.15 ]
        NPUB30898: [ 01.15 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001AFA04, 0x79200FA4 ]
      - [ be32, 0x001AFA0C, 0x7800F846 ]
  Infinite Ammo:
    Games:
      "Borderlands 2":
        BLUS30982: [ 01.15 ]
        BLES01684: [ 01.15 ]
        NPEB01144: [ 01.15 ]
        NPUB30898: [ 01.15 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x007D3A18, 0x60000000 ]      
  Max Cash:
    Games:
      "Borderlands 2":
        BLUS30982: [ 01.15 ]
        BLES01684: [ 01.15 ]
        NPEB01144: [ 01.15 ]
        NPUB30898: [ 01.15 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00678504, 0x7D6B4A14 ]
      - [ be32, 0x00678508, 0x3C600600 ]
      - [ be32, 0x0067850C, 0x906B0014 ]
  Max Experience on Gain:
    Games:
      "Borderlands 2":
        BLUS30982: [ 01.15 ]
        BLES01684: [ 01.15 ]
        NPEB01144: [ 01.15 ]
        NPUB30898: [ 01.15 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x006A1348, 0x3C007000 ]

PPU-09312c5359ff001526cd7f817d48cb0961bbf515:
  "Jak I: 1280x720 Resolution":
    Games:
      "Jak and Daxter Collection":
        BCUS98281: [ 01.00 ]
      "The Jak and Daxter Trilogy":
        BCES01325: [ 01.00 ]
    Author: "Margen67"
    Notes: "Original resolution is 1024x720."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x3560A, 0x0500 ]

PPU-caef4935039b5cd5fb68999ae67aeff688f3a863:
  "1280x720 Resolution":
    Games:
      "Jak and Daxter: The Precursor Legacy":
        NPEA00338: [ 01.00 ]
        NPUA80706: [ 01.00 ]
    Author: "Margen67"
    Patch Version: 1.0
    Notes: "Original resolution is 1024x720."
    Patch:
      - [ be16, 0x3569E, 0x0500 ]

PPU-9f68cdccee3b1bdd1849b346a472775fab33c2db:
  Infinite Ammo:
    Games:
      "Armored Core 4":
        BLUS30027: [ 01.01 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00AA1C20, 0x60000000 ]

PPU-478ad4a2af14cadc8c1275dc7e5209fce95336e2:
  God Mode:
    Games:
      "Borderlands: The Pre-Sequel":
        BLUS31445: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00187A94, 0x79200FA4 ]
      - [ be32, 0x00187A9C, 0x7800F846 ]     
  Infinite Ammo:
    Games:
      "Borderlands: The Pre-Sequel":
        BLUS31445: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x007B4E44, 0x60000000 ]      
  Max Cash:
    Games:
      "Borderlands: The Pre-Sequel":
        BLUS31445: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0063A6C0, 0x7D6B4A14 ]
      - [ be32, 0x0063A6C4, 0x3C600600 ]
      - [ be32, 0x0063A6C8, 0x906B0010 ]
  Max Experience on Gain:
    Games:
      "Borderlands: The Pre-Sequel":
        BLUS31445: [ 01.07 ]
    Author: dron_3
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0065FE4C, 0x3C007000 ]

Anchors:
  R3FPSnotes: &R3FPSnotes "Maximum framerate with the patch is directly proportionate to Vblank frequency. More than 60 Vblank is not recommended since framerates above 75 can cause issues with left analog-stick input detection that are caused by inherent limitations in the game engine. Some in-game actions, namely ladder climbing, may require several attempts to register a proper interaction."
  R3FPS_v100: &R3FPS_v100
    - [ be32, 0x007EEAC8, 0xC0228DCC ]
    - [ be32, 0x00F02AD4, 0x38D1B717 ]
    - [ be32, 0x00736C44, 0x60000000 ]
  R3FPS_v105: &R3FPS_v105
    - [ be32, 0x00817D48, 0xC0228DD4 ]
    - [ be32, 0x00F330FC, 0x38D1B717 ]
    - [ be32, 0x0075FA54, 0x60000000 ]

PPU-2701cf372814d59f26e771dc9394323d4f799682:
  Unlock FPS:
    Games:
      "Resistance 3":
        BCES01118: [ 01.00 ]
    Author: Whatcookie, boma
    Notes: *R3FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *R3FPS_v100 ]
  Extended FOV:
    Games:
      "Resistance 3":
        BCES01118: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00F0608C, 0.7 ]

PPU-cd72aa19da7e24a00802932d06460034c7d94fc6:
  Unlock FPS:
    Games:
      "Resistance 3":
        BCES01118: [ 01.05 ]
    Author: Whatcookie, boma
    Notes: *R3FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *R3FPS_v105 ]
  Extended FOV:
    Games:
      "Resistance 3":
        BCES01118: [ 01.05 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00F3668C, 0.7 ]

PPU-502feb2351d2b637a2704d5a50cb44bc1b781532:
  Unlock FPS:
    Games:
      "Resistance 3":
        BCUS98176: [ 01.00 ]
    Author: Whatcookie, boma
    Notes: *R3FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *R3FPS_v100 ]
  Extended FOV:
    Games:
      "Resistance 3":
        BCUS98176: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00F0608C, 0.7 ]

PPU-4aa1887bfdd285e3026e6a97d65ed617ddcf4789:
  Unlock FPS:
    Games:
      "Resistance 3":
        BCUS98176: [ 01.05 ]
    Author: Whatcookie, boma
    Notes: *R3FPSnotes
    Patch Version: 1.0
    Patch:
      - [ load, *R3FPS_v105 ]
  Extended FOV:
    Games:
      "Resistance 3":
        BCUS98176: [ 01.05 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x00F3668C, 0.7 ]

PPU-43f93d8813c1ab40afc09dfa47c05c943d71334e:
  Unlock FPS:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes: Set the framelimiter to 60, as things will break over 60 FPS.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0097504C, 0x60000000 ]
  Infinite Ammo & Consumables:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes: <b>Picking up some objects such as blueprints will freeze the game. Best used temporarily to duplicate the items you want.</b><br><br>Affects many items in the game, not just ammo and consumables. While this patch is enabled, affected items can't be removed from your inventory, and dropping them will duplicate them. Items can be sold for caps, but they do not leave your inventory.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0045BB6C, 0x60000000 ]
      - [ be32, 0x0045BA88, 0x60000000 ]
      - [ be32, 0x0045C578, 0x60000000 ]
  Infinite Carry Weight:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00469658, 0x90330008 ]
  Infinite Caps:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes: Essentially permanent if you save with this patch enabled - adds over 1 billion caps to your inventory which will remain after the patch is disabled.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00466CD8, 0x90630004 ]
  No Weapon Degradation:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes: Using weapons and armor does not affect their condition. Repairing items brings them to perfect condition.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x003D6528, 0x60000000 ]
  Infinite Health:
    Games:
      "Fallout New Vegas: Ultimate Edition":
        BLUS30888: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000170CC, 0x60000000 ]

PPU-46bf3c2b3292d77f10d82e3a8729625ab0d3d6c2:
  21:9 Aspect Ratio:
    Games:
      "Dante's Inferno":
        BLUS30405: [ 01.00 ]
        BLES00713: [ 01.00 ]
    Author: boma
    Notes: HUD will be stretched. Users need to enable the "Stretch to Display Area" option in GPU settings.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00f5283c, 0x401851ec ]
      - [ be32, 0x00f5f3f4, 0x401851ec ]
      - [ be32, 0x00f63128, 0x401851ec ]

PPU-539a6d42763b06228b136fa70f42070b34d30529:
  21:9 Aspect Ratio:
    Games:
      "Dante's Inferno":
        BLUS30405: [ 01.04 ]
        BLES00713: [ 01.04 ]
    Author: boma
    Notes: HUD will be stretched. Users need to enable the "Stretch to Display Area" option in GPU settings.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x011bfa38, 0x401851ec ]
      - [ be32, 0x011c3928, 0x401851ec ]
      - [ be32, 0x011b0ae0, 0x401851ec ]

PPU-8f3e573af22dd5fd077fbe91ac79348eb368f9f6:
  Infinite Health:
    Games:
      "Final Fantasy X HD Remaster":
        NPUB31247: [ 01.00 ]
    Author: Aphelion
    Notes: Causes a softlock during a fairly easy boss battle about 1/3 of the way through the game. Enemy health will show as 9999/xxxx in battle if you have the Sensor ability.
    Patch Version: 1.1
    Patch:
      - [ be32, 0x002633A0, 0x988305D0 ]
      - [ be32, 0x00268FA0, 0x3860270F ]
      - [ be32, 0x003839E4, 0x3860270F ]
      - [ be32, 0x00383A54, 0x3860270F ]
  Infinite Mana:
    Games:
      "Final Fantasy X HD Remaster":
        NPUB31247: [ 01.00 ]
    Author: Aphelion
    Notes: 
    Patch Version: 1.1
    Patch:
      - [ be32, 0x00241EFC, 0x909B05D4 ]
      - [ be32, 0x00268FC8, 0x3860270F ]
      - [ be32, 0x00383AD0, 0x3860270F ]
      - [ be32, 0x00383B30, 0x3860270F ]
  Infinite Gil:
    Games:
      "Final Fantasy X HD Remaster":
        NPUB31247: [ 01.00 ]
    Author: Aphelion
    Notes:
    Patch Version: 1.1
    Patch:
      - [ be32, 0x0026F6B4, 0x90833D48 ]

Anchors:
  bf4120_title: &bf4120_title
      "Battlefield 4":
        BLES01832: [ 01.20 ]
        BLUS31162: [ 01.20 ]
        NPUB31148: [ 01.20 ]
        NPEB01303: [ 01.20 ]

PPU-f7ff4ca5d07f753244f290dc5e54907948e03613:
  Disable MLAA:
    Games: *bf4120_title
    Author: illusion
    Notes: "Last modified: 09 October 2020"
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0094EC04, 0x38600000 ]
  Disable Dynamic Lights:
    Games: *bf4120_title
    Author: illusion
    Notes: "Last modified: 14 October 2020\n\nCompromise visuals for extra performance."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01499AB8, 0x98bf ]
      - [ be16, 0x01499ABC, 0x98bf ]
  Disable Bloom:
    Games: *bf4120_title
    Author: illusion
    Notes: "Last modified: 14 October 2020"
    Patch Version: 1.0
    Patch:
      - [ be16, 0x01487934, 0x98bf ]
      - [ be16, 0x01487938, 0x98bf ]

PPU-2845afa9e4dc56df06a61f2e51463468e9a557c7:
  60 FPS:
    Games:
      "Final Fantasy XIII":
        MRTC00003: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008d2e94, 0x38800001 ] # vsync flip rate 60hz // unlimited freeze at SE screen

PPU-7e54736a9aa0a195db2103129972ee0a9a9a4c39:
  "1280x720 Resolution":
    Games:
      SSX:
        BLUS30849: [ 01.00 ]
    Author: Margen67
    Notes: Native resolution is 1120x584.
    Patch Version: 1.0
    Patch:
      - [ be16, 0xB625CE, 0x0500 ]
      - [ be16, 0xB625D2, 0x02D0 ]

Anchors:
  udmlaanotes: &udmlaanotes "Allows for the use of Resolution Scaling in the title and improved performance.\nSome screen effects will be lost.\nWrite Color Buffers is no longer required."

PPU-1151d488c9033962082b3e65ac64a9b83df10015:
  Skip Exception handler:
    Games:
      "Until Dawn":
        TEST70001: [ 01.00 ]
    Author: illusion
    Notes: "Last modified: 13 April 2021\n\nRemoves Exception Handler Check required for game to boot.\nNeeds validation on Real PS3 Console.\nCurrently it can boot on RPCS3 without the use of Debug Console Mode."
    Patch Version: 1.0
    Patch:
      - [ be16, 0x00071708, 0x4800 ] # Todo: provide aob for use on realhw
  Disable MLAA(Post-processing On SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Until Dawn":
        TEST70001: [ 01.00 ]
    Author: illusion
    Notes: [ "Last modified: 12 April 2021\n\n", *udmlaanotes ]
    Patch Version: 1.0
    Patch:
      - [ be16, 0x001D4428, 0x937f ]

PPU-fe4eb5ec50711d92f4d693625147e9a6690ffc09:
  Disable MLAA(Post-processing On SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Until Dawn":
        TEST70006: [ 01.00 ]
    Author: illusion
    Notes: [ "Last modified: 06 April 2021\n\n", *udmlaanotes ]
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001E22F0, 0x38800000 ]
  Extended FOV:
    Games:
      "Until Dawn":
        TEST70006: [ 01.00 ]
    Author: illusion
    Notes: "Last modified: 07 April 2021"
    Patch Version: 1.0
    Patch:
      - [ bef32, 0x0152B930, 0.6 ]
      - [ bef32, 0x0152BA84, 0.6 ]

PPU-e608f6e3e55eda4850e835698d7121caa97b7fa5:
  Disable MLAA(Post-processing On SPU): # Gfx.Post.MLAA PostMLAASPU
    Games:
      "Until Dawn":
        BCES01556: [ 01.00 ]
    Author: illusion
    Notes: [ "Last modified: 06 April 2021\n\n", *udmlaanotes ]
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001E1490, 0x38800000 ]

PPU-2d23777ede9d83e1f1dd3fa4fd61a993fa8d9fea:
  Full resolution:
    Games:
      "Hatsune Miku: Project DIVA Dreamy Theater Extend":
        NPJB00201: [ 01.01 ]
    Author: nastys
    Notes: "Increases the internal resolution from 1024x576 to 1280x720."
    Patch Version: 1.0
    Patch:
      - [be32, 0x3A6C70, 0x2F890500]
      - [be32, 0x3A6C7C, 0x39200500]
      - [be32, 0x3A6C84, 0x380002D0]
      - [be32, 0x3A6FD0, 0x2F8802D0]
      - [be32, 0x3A6FDC, 0x39200500]
      - [be32, 0x3A6FE4, 0x380002D0]

PPU-f0a175f8e0fe7f939223d821dc05fc646ca22a14:
  Full resolution:
    Games:
      "Hatsune Miku: Project DIVA Dreamy Theater 2nd":
        NPJB00134: [ 01.01 ]
    Author: nastys
    Notes: "Increases the internal resolution from 1024x576 to 1280x720."
    Patch Version: 1.0
    Patch:
      - [be32, 0x21E408, 0x2F890500]
      - [be32, 0x21E416, 0x39200500]
      - [be32, 0x21E41C, 0x380002D0]
      - [be32, 0x21E76C, 0x2F8802D0]
      - [be32, 0x21E778, 0x39200500]
      - [be32, 0x21E780, 0x380002D0]

PPU-3c5e08635d6768c273395b9c19e099b25050927b:
  Unlock FPS:
    Games:
      "Skylanders: SWAP Force":
        BLUS31076: [ 01.01 ]
    Author: Fro Zen
    Notes: "Unlocks FPS without additional settings.\nAs a safety measure, set framelimit to 60."
    Patch Version: 
    Patch:
      - [ byte, 0x520c17, 0 ]

PPU-4954615ba4883e0799e933ee8619098b26830416:
  Flat Lighting:
    Games:
      "Sly Cooper and the Thievius Raccoonus":
        NPUA80663: [ 01.00 ]
    Author: VelocityRa
    Notes: Removes shadows and fog.
    Patch Version: 2.2
    Patch:
      - [ be32, 0x001300a8, 0xeda00024 ]
  Spooky Lighting:
    Games:
      "Sly Cooper and the Thievius Raccoonus":
        NPUA80663: [ 01.00 ]
    Author: VelocityRa
    Notes: Changes light colors in an unpredictable manner.
    Patch Version: 2.2
    Patch:
      - [ be32, 0x001300a8, 0xedad6824 ]
  Unskippable Images Intro Skip:
    Games:
      "Sly Cooper and the Thievius Raccoonus":
        NPUA80663: [ 01.00 ]
    Author: VelocityRa
    Notes: Skips the "Warning" & Sanzaru logo intro/splash images.
    Patch Version: 2.2
    Patch:
      - [ be32, 0x039d190, 0x00000000 ]

PPU-d3a99698275b4203d42c7aeccc053299a5811804:
  Unskippable Images Intro Skip:
    Games:
      "Sly 2: Band of Thieves":
        NPEA00342: [ 01.00 ]
    Author: VelocityRa
    Notes: Skips the "WARNING" & Sanzaru logo intro/splash images.
    Patch Version: 2.2
    Patch:
      - [ be32, 0x003fe780, 0x00000000 ]

PPU-3675007cd4110c6e8c2c297e6dde41799e05198c:
  Infinite Draw Distance:
    Games:
      "Sly 3: Honor Among Thieves™":
        NPUA80665: [ 01.00 ]
    Author: VelocityRa
    Notes: Renders all objects, even ones far away
    Patch Version: 2.2
    Patch:
      - [ bef32, 0x0048d148, 0.0 ]
      - [ be32, 0x00099d94, 0xfc000028 ]
      - [ be32, 0x0004cd24, 0xfc000028 ]
      - [ be32, 0x0005b7d0, 0xfc000028 ]

PPU-db1d23f1a43f79ec37c12e8aaa1f6b034b20a237:
  Disable MLAA:
    Games:
      "Motorstorm: RC":
        NPUA80678: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001991cc, 0x9a83e858 ] # stb r20,-0x17a8(r3) // mlaa
  Unlock FPS:
    Games:
      "Motorstorm: RC":
        NPUA80678: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000bda78, 0x38800001 ] # li r4,0x1 // deltatime
      - [ be32, 0x000bda98, 0x38800000 ] # li r4,0x0 // flipmode
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: RC":
        NPUA80678: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001aa470, 0x4e800020 ] # blr

PPU-fdb7654ca4841bce76aa659936ec1e176d463749:
  Disable MLAA:
    Games:
      "Motorstorm: RC":
        NPEA00333: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001990ac, 0x9a83e858 ] # stb r20,-0x17a8(r3) // mlaa
  Unlock FPS:
    Games:
      "Motorstorm: RC":
        NPEA00333: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000bd9d8, 0x38800001 ] # li r4,0x1 // deltatime
      - [ be32, 0x000bd9f8, 0x38800000 ] # li r4,0x0 // flipmode
  Disable Dynamic Resolution Scaling:
    Games:
      "Motorstorm: RC":
        NPEA00333: [ 01.02 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ be32, 0x001aa350, 0x4e800020 ] # blr

PPU-747008575f7585fc5e5449e0ff81ed0c5b3f0f69:
  Unlock FPS:
    Games:
      "Ratchet & Clank Future: Full Frontal Assault/QForce":
        NPUA80642: [ 01.00 ]
    Author: illusion
    Notes: Maximum framerate with the patch is half the Vblank frequency.
    Patch Version: 1.0
    Patch:
      - [ be16,  0x003252b2, 0x3A83 ] # level load (low bits)
      - [ be16,  0x003252be, 0x126F ] # level load (high bits)
      - [ bef64, 0x007943d8, 0.001  ] # init/level load

PPU-5b1fe8f0b8eab817078b6db007de327653bc65dc: # BIOHAZARD CODE: Veronica 完全版 (JP)
  Remove Door Animations:
    Games:
      "BIOHAZARD CODE: Veronica 完全版":
        NPJB00135: [ 01.00 ]
    Author: Kapdap
    Notes: Remove door animations patch for the JP release.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x1AE304, 0x38600000 ]
      
PPU-37f854495138eeb5afdc2db9d4cf6a2d4918beb6: # BIOHAZARD CODE: Veronica 完全版 (JP)
  Remove Door Animations:
    Games:
      "BIOHAZARD CODE: Veronica 完全版":
        NPJB00135: [ 01.00 ]
    Author: Kapdap
    Notes: Remove door animations patch for the JP release.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x1AE304, 0x38600000 ]
      
PPU-b4b1ebe7a069782537a13d5bdbc15d6e900ceb25: # RESIDENT EVIL CODE: Veronica X (US)
  Remove Door Animations:
    Games:
      "RESIDENT EVIL CODE: Veronica X":
        NPUB30467: [ 01.00 ]
    Author: Kapdap
    Notes: Remove door animations patch for the US release.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x1AE25C, 0x38600000 ]
      
PPU-df822d7d47de09c5672201db8cc633009037f54f: # RESIDENT EVIL CODE: Veronica X (EU)
  Remove Door Animations:
    Games:
      "RESIDENT EVIL CODE: Veronica X":
        NPEB00553: [ 01.00 ]
    Author: Kapdap
    Notes: Remove door animations patch for the EU release.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x1AFCCC, 0x38600000 ]

PPU-8854da0c79e5c5bf386cb32e280f83c89cab40ff:
  "60 FPS":
    Games:
      "The Elder Scrolls V: Skyrim":
        BLUS30778: [ 01.09 ]
        BLES01329: [ 02.09 ]
    Author: "illusion"
    Notes: Camera speeds up while having 60+ FPS.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008edb64, 0xf8051c60 ]
      
PPU-ce80647b91654477032788d990641cde6412a74f:
  "60 FPS":
    Games:
      "The Elder Scrolls V: Skyrim":
        BLES01885: [ 01.00 ]
        BLUS31202: [ 01.00 ]
    Author: "illusion"
    Notes: Camera speeds up while having 60+ FPS.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x008edb64, 0xf8051c60 ]

PPU-cfa4d1b380b8ebfa5acd59fa9378c50e3059865c:
  "Fix pad initialization":
    Games:
      "The Simpsons Game":
        BLES00142: [ 01.00 ]
        BLES00146: [ 01.00 ]
        BLUS30065: [ 01.00 ]
    Author: "nastys"
    Patch Version: 1.0
    Notes: "Fixes pad initialization when using the keyboard handler."
    Patch:
      - [ be32, 0x0044eba0, 0x60000000 ]
  60 FPS:
    Games:
      "The Simpsons Game":
        BLES00142: [ 01.00 ]
        BLES00146: [ 01.00 ]
        BLUS30065: [ 01.00 ]
    Author: illusion
    Patch Version: 1.0
    Patch:
      - [ byte, 0x005b4ebf, 1 ]

PPU-179c21b99e97c6a575236708c16f98066fcb8fc2:
  Disable Depth of Field:
    Games:
      "Megamind":
        BLES00867: [ 01.00 ]
    Author: illusion
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ byte, 0x001CFA4D, 0x6a ]
  • Need to document the steps at a later time. 5/13/2022