Page values for "The Last of Us"

From RPCS3 Wiki

"Patch" values

1 row is stored for this page
version   1.2
patch   

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
  1. 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
  1. 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, 0x0069f7b0, 0x4b9c0129 ] #bl SUB_0005f8d8
 - [ be32, 0x0005f8d8, 0x3fe00142 ] # lis r31,0x142
 - [ be32, 0x0005f8dc, 0x801f9ef4 ] # lwz r0,-0x610c(r31)
 - [ be32, 0x0005f8e0, 0x3c8040bd ] # lis param_2,0x40bd
 - [ be32, 0x0005f8e4, 0x38848ef0 ] # subiparam_2,param_2,0x7110
 - [ be32, 0x0005f8e8, 0x7f802000 ] # cmpwcr7,r0,param_2
 - [ be32, 0x0005f8ec, 0x419e0054 ] # beq cr7,LAB_0005f940
 - [ be32, 0x0005f8f0, 0x38800000 ] # li  param_2,0x0
 - [ be32, 0x0005f8f4, 0x6484a467 ] # orisparam_2,param_2,0xa467
 - [ be32, 0x0005f8f8, 0x3884f0cf ] # subiparam_2,param_2,0xf31
 - [ be32, 0x0005f8fc, 0x7f802000 ] # cmpwcr7,r0,param_2
 - [ be32, 0x0005f900, 0x419e0040 ] # beq cr7,LAB_0005f940
 - [ be32, 0x0005f904, 0x38800000 ] # li  param_2,0x0
 - [ be32, 0x0005f908, 0x64849ab6 ] # orisparam_2,param_2,0x9ab6
 - [ be32, 0x0005f90c, 0x3884066a ] # addiparam_2,param_2,0x66a
 - [ be32, 0x0005f910, 0x7f802000 ] # cmpwcr7,r0,param_2
 - [ be32, 0x0005f914, 0x419e002c ] # beq cr7,LAB_0005f940
 - [ be32, 0x0005f918, 0x3c801181 ] # lis param_2,0x1181
 - [ be32, 0x0005f91c, 0x38845d5c ] # addiparam_2,param_2,0x5d5c
 - [ be32, 0x0005f920, 0x7f802000 ] # cmpwcr7,r0,param_2
 - [ be32, 0x0005f924, 0x419e001c ] # beq cr7,LAB_0005f940
 - [ be32, 0x0005f928, 0x3c804ad3 ] # lis param_2,0x4ad3 4ad35fc8
 - [ be32, 0x0005f92c, 0x38845fc8 ] # addiparam_2,param_2,0x5fc8
 - [ be32, 0x0005f930, 0x7f802000 ] # cmpwcr7,r0,param_2
 - [ be32, 0x0005f934, 0x419e000c ] # beq cr7,LAB_0005f940
 - [ be32, 0x0005f938, 0x78001fe2 ] # rldir0,r0,0x23,0x3f
 - [ be32, 0x0005f93c, 0x48000008 ] # b   LAB_0005f944
 - [ be32, 0x0005f940, 0x38000001 ] # li  r0,0x1
 - [ be32, 0x0005f944, 0x389b0070 ] # addiparam_2,r27,0x70
 - [ be32, 0x0005f948, 0x4e800020 ] # blr
 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: dron_3, HdHereidme, illusion, ZEROx
   Notes: *debugmenunotes
   Patch Version: 1.01
   Patch:
     - [ be16, 0x0003bf9c, 0x419e ]
     - [ byte, 0x0003bfbf, 1 ]
     - [ be16, 0x009da99a, 0x2db6 ]
     - [ be16, 0x009da9a2, 0x2db6 ]
     - [ be32, 0x00a1a200, 0x60000000 ] #Remove "!" model render
 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 ]
type   PPU