Game Index

Patches

For use with py-patch program.

Installation Guide

Download all patch files.

Opening the file preview below may freeze your browser on Chrome based browsers. Instead you can preview the file on GitHub.

Patch archive built on: 2022-05-13 23:48:29 Friday (UTC +0000)

Patch file: _patch0/orbis/Bloodborne-Orbis.yml

File to be patched: eboot.bin

Author: illusion, manfightdragon

Contents of patch file (Click to Expand)
- game: "Bloodborne"
  app_ver: "01.09"
  patch_ver: "1.0"
  name: "30 FPS Fix (Proper Frame Pacing)"
  author: "illusion, Lance McDonald (manfightdragon)"
  note: "Caps framerate to 30 with proper frame pacing."
  arch: orbis
  patch_list:
        - [ float32, 0x02434883, 0.016666667 ]
        # SceVideoOutFliprate(handle, 1);
        # return;
        - [ bytes, 0x02ad61df, "be010000004989dc9090909090" ]

- game: "Bloodborne"
  app_ver: "01.09"
  patch_ver: "1.0"
  name: "Disable Chromatic Aberration"
  author: "illusion"
  arch: orbis
  patch_list:
        - [ bytes, 0x0269faa8, "c783ac000000000000009090" ]

- game: "Bloodborne"
  app_ver: "01.09"
  patch_ver: "1.0"
  name: "Disable Motion Blur"
  author: "illusion"
  arch: orbis
  patch_list:
        - [ bytes, 0x026a057b, "eb16" ]

- game: "Bloodborne"
  app_ver: "01.09"
  patch_ver: "1.0"
  name: "60 FPS (With Deltatime)"
  author: "Lance McDonald (manfightdragon)"
  arch: orbis
  patch_list:
        # Diff generated from: https://www.patreon.com/posts/47314774
        # Todo: figure out what all these do
        # Every blank line is beginning diff'd areas

        # assertion skip
        - [ bytes, 0x00fbc40f, "eb1d" ]                 # JMP 0x00fbc42e
        # free up code space for next section 
        - [ bytes, 0x013d2e16, "eb19" ]                 # JMP 0x013d2e31
        # multiply something by 2x
        - [ bytes, 0x013d2e18, "4156" ]                 # PUSH R14
        - [ bytes, 0x013d2e1a, "41c746080000003f" ]     # MOV dword ptr [R14 + 0x8],0x3f000000
        - [ bytes, 0x013d2e22, "c4c17a5e4608" ]         # VDIVSS XMM0,XMM0,dword ptr [R14 + 0x8]
        - [ bytes, 0x013d2e28, "415e" ]                 # POP R14
        - [ bytes, 0x013d2e2a, "e933070000" ]           # JMP 0x013d3562
        - [ bytes, 0x013d2e2f, "90" ]                   # NOP
        - [ bytes, 0x013d2e30, "90" ]                   # NOP
        # 0.5 to xmm0
        - [ bytes, 0x013d3557, "c4c17a104608" ]         # VMOVSS XMM0,dword ptr [R14 + 0x8]
        - [ bytes, 0x013d355d, "e9b6f8ffff" ]           # JMP 0x013d2e18
        # deltatime code cave
        - [ bytes, 0x01bf9b71, "e933010000" ]           # JMP 0x01bf9ca9
        - [ bytes, 0x01bf9b76, "90" ]                   # NOP
        - [ bytes, 0x01bf9b77, "90" ]                   # NOP
        # get and write physics deltatime to game logic
        - [ bytes, 0x01bf9ca9, "488d054868d403" ]       # LEA RAX,[0x59404f8]
        - [ bytes, 0x01bf9cb0, "488b00" ]               # MOV RAX,qword ptr [RAX]
        - [ bytes, 0x01bf9cb3, "8b8064020000" ]         # MOV EAX,dword ptr [RAX + 0x264]
        - [ bytes, 0x01bf9cb9, "8945b8" ]               # MOV dword ptr [RBP + -0x48],EAX
        - [ bytes, 0x01bf9cbc, "90" ]                   # NOP
        - [ bytes, 0x01bf9cbd, "90" ]                   # NOP
        - [ bytes, 0x01bf9cbe, "90" ]                   # NOP
        - [ bytes, 0x01bf9cbf, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc0, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc1, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc2, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc3, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc4, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc5, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc6, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc7, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc8, "90" ]                   # NOP
        - [ bytes, 0x01bf9cc9, "90" ]                   # NOP
        - [ bytes, 0x01bf9cca, "90" ]                   # NOP
        - [ bytes, 0x01bf9ccb, "90" ]                   # NOP
        - [ bytes, 0x01bf9ccc, "90" ]                   # NOP
        - [ bytes, 0x01bf9ccd, "90" ]                   # NOP
        - [ bytes, 0x01bf9cce, "90" ]                   # NOP
        - [ bytes, 0x01bf9ccf, "90" ]                   # NOP
        - [ bytes, 0x01bf9cd0, "90" ]                   # NOP
        - [ bytes, 0x01bf9cd1, "90" ]                   # NOP
        - [ bytes, 0x01bf9cd2, "e9a1feffff" ]           # JMP 0x01bf9b78
        # string redirect
        - [ bytes, 0x020367c7, "488d351cd2c702" ]       # LEA RSI,[0x4cb39ea]
        - [ bytes, 0x020369e8, "488d35b5cfc702" ]       # LEA RSI,[0x4cb39a4]
        # write deltatime to something
        - [ bytes, 0x021bc181, "488d3d70437803" ]       # LEA RDI,[0x59404f8]
        - [ bytes, 0x021bc188, "488b3f" ]               # MOV RDI,qword ptr [RDI]
        - [ bytes, 0x021bc18b, "c5fa598764020000" ]     # VMULSS XMM0,XMM0,dword ptr [RDI + 0x264]
        - [ bytes, 0x021bc193, "90" ]                   # NOP
        - [ bytes, 0x021bc194, "90" ]                   # NOP
        - [ bytes, 0x021bc195, "90" ]                   # NOP
        - [ bytes, 0x021bc196, "90" ]                   # NOP
        - [ bytes, 0x021bc197, "90" ]                   # NOP
        - [ bytes, 0x021bc198, "90" ]                   # NOP
        - [ bytes, 0x021bc199, "90" ]                   # NOP
        - [ bytes, 0x021bc19a, "90" ]                   # NOP
        - [ bytes, 0x021bc19b, "90" ]                   # NOP
        - [ bytes, 0x021bc19c, "90" ]                   # NOP
        - [ bytes, 0x021bc19d, "e96e010000" ]           # JMP 0x021bc310
        # deltatime code cave
        - [ bytes, 0x021bc308, "e974feffff" ]           # JMP 0x021bc181
        - [ bytes, 0x021bc30d, "90" ]                   # NOP
        - [ bytes, 0x021bc30e, "90" ]                   # NOP
        - [ bytes, 0x021bc30f, "90" ]                   # NOP
        # write deltatime to something
        - [ bytes, 0x02377cea, "eb24" ]                 # JMP 0x02377d10
        - [ bytes, 0x02377cec, "488d1d05885c03" ]       # LEA RBX,[0x59404f8]
        - [ bytes, 0x02377cf3, "488b1b" ]               # MOV RBX,qword ptr [RBX]
        - [ bytes, 0x02377cf6, "c5fa108364020000" ]     # VMOVSS XMM0,dword ptr [RBX + 0x264]
        - [ bytes, 0x02377cfe, "90" ]                   # NOP
        - [ bytes, 0x02377cff, "90" ]                   # NOP
        - [ bytes, 0x02377d00, "90" ]                   # NOP
        - [ bytes, 0x02377d01, "90" ]                   # NOP
        - [ bytes, 0x02377d02, "90" ]                   # NOP
        - [ bytes, 0x02377d03, "90" ]                   # NOP
        - [ bytes, 0x02377d04, "90" ]                   # NOP
        - [ bytes, 0x02377d05, "90" ]                   # NOP
        - [ bytes, 0x02377d06, "90" ]                   # NOP
        - [ bytes, 0x02377d07, "90" ]                   # NOP
        - [ bytes, 0x02377d08, "90" ]                   # NOP
        - [ bytes, 0x02377d09, "90" ]                   # NOP
        - [ bytes, 0x02377d0a, "90" ]                   # NOP
        - [ bytes, 0x02377d0b, "90" ]                   # NOP
        - [ bytes, 0x02377d0c, "90" ]                   # NOP
        - [ bytes, 0x02377d0d, "90" ]                   # NOP
        - [ bytes, 0x02377d0e, "eb42" ]                 # JMP 0x02377d52
        - [ bytes, 0x02377d48, "eba2" ]                 # JMP 0x02377cec
        # write deltatime to something
        - [ bytes, 0x02418e3d, "8b8364020000" ]         # MOV EAX,dword ptr [RBX + 0x264]
        - [ bytes, 0x02418e43, "8945c8" ]               # MOV dword ptr [RBP + -0x38],EAX
        - [ bytes, 0x02418e46, "90" ]                   # NOP
        - [ bytes, 0x02418e47, "90" ]                   # NOP
        - [ bytes, 0x02418e48, "90" ]                   # NOP
        - [ bytes, 0x02418e49, "90" ]                   # NOP
        - [ bytes, 0x02418e4a, "90" ]                   # NOP
        - [ bytes, 0x02418e4b, "90" ]                   # NOP
        - [ bytes, 0x02418e4c, "90" ]                   # NOP
        - [ bytes, 0x02418e4d, "90" ]                   # NOP
        - [ bytes, 0x02418e4e, "90" ]                   # NOP
        - [ bytes, 0x02418e4f, "90" ]                   # NOP
        - [ bytes, 0x02418e50, "90" ]                   # NOP
        - [ bytes, 0x02418e51, "90" ]                   # NOP
        - [ bytes, 0x02418e52, "90" ]                   # NOP
        - [ bytes, 0x02418e53, "90" ]                   # NOP
        - [ bytes, 0x02418e54, "90" ]                   # NOP
        - [ bytes, 0x02418e55, "90" ]                   # NOP
        - [ bytes, 0x02418e56, "90" ]                   # NOP
        - [ bytes, 0x02418e57, "90" ]                   # NOP
        - [ bytes, 0x02418e58, "90" ]                   # NOP
        - [ bytes, 0x02418e59, "90" ]                   # NOP
        - [ bytes, 0x02418e5a, "90" ]                   # NOP
        - [ bytes, 0x02418e5b, "90" ]                   # NOP
        - [ bytes, 0x02418e5c, "90" ]                   # NOP
        - [ bytes, 0x02418e5d, "90" ]                   # NOP
        - [ bytes, 0x02418e5e, "90" ]                   # NOP
        - [ bytes, 0x02418e5f, "90" ]                   # NOP
        - [ bytes, 0x02418e60, "90" ]                   # NOP
        - [ bytes, 0x02418e61, "90" ]                   # NOP
        - [ bytes, 0x02418e62, "90" ]                   # NOP
        - [ bytes, 0x02418e63, "90" ]                   # NOP
        - [ bytes, 0x02418e64, "488d05a5765203" ]       # LEA RAX,[0x5940510]
        # frame update to 16.67ms
        - [ bytes, 0x0243487e, "41c74424188988883c" ]   # MOV dword ptr [R12 + 0x18],0x3c888889
        - [ bytes, 0x02434887, "48b90000000001000000" ] # MOV RCX,0x100000000

        - [ bytes, 0x02483ec1, "c3" ]                   # RET
        - [ bytes, 0x02483ec2, "90" ]                   # NOP
        - [ bytes, 0x02483ec3, "90" ]                   # NOP
        - [ bytes, 0x02483ec4, "90" ]                   # NOP
        - [ bytes, 0x02483ec5, "90" ]                   # NOP

        - [ bytes, 0x02715d71, "e881090000" ]           # CALL 0x027166f7
        - [ bytes, 0x02715d76, "90" ]                   # NOP
        - [ bytes, 0x02715d77, "90" ]                   # NOP
        - [ bytes, 0x02715d78, "90" ]                   # NOP

        # Text
        - [ utf16, 0x04cb39ea, "This 60fps patch was\x00\x00" ]
        - [ utf16, 0x04cb39a4, "Made with love, by Lance McDonald\x00\x00" ]

- game: "Bloodborne"
  app_ver: "01.09"
  patch_ver: "1.0"
  name: "Resolution Patch (720p)"
  author: "Lance McDonald (manfightdragon)"
  arch: orbis
  patch_list:
        # Render Target
        - [ bytes32, 0x055289f8, 1280 ]
        - [ bytes32, 0x055289fc, 720  ]
        # Reticle Fix
        - [ bytes, 0x01a44c55, "b880070000" ]           # MOV EAX,0x780
        - [ bytes, 0x01a44c5a, "90" ]                   # NOP
        - [ bytes, 0x01a44c5b, "90" ]                   # NOP
        - [ bytes, 0x01a44c5c, "90" ]                   # NOP
        - [ bytes, 0x01a44c5d, "90" ]                   # NOP
        - [ bytes, 0x01a44c5e, "c4e1fa2ac8" ]           # VCVTSI2SS XMM1,XMM0,RAX
        - [ bytes, 0x01a44c63, "b838040000" ]           # MOV EAX,0x438
        - [ bytes, 0x01a44c68, "90" ]                   # NOP
        - [ bytes, 0x01a44c69, "90" ]                   # NOP
        - [ bytes, 0x01a44c6a, "90" ]                   # NOP
        - [ bytes, 0x01a44c6b, "90" ]                   # NOP
        # Reticle Fix
        - [ bytes, 0x01a452c7, "b880070000" ]           # MOV EAX,0x780
        - [ bytes, 0x01a452cc, "90" ]                   # NOP
        - [ bytes, 0x01a452cd, "90" ]                   # NOP
        - [ bytes, 0x01a452ce, "90" ]                   # NOP
        - [ bytes, 0x01a452cf, "90" ]                   # NOP
        - [ bytes, 0x01a452d0, "c4e1fa2ac8" ]           # VCVTSI2SS XMM1,XMM0,RAX
        - [ bytes, 0x01a452d5, "b838040000" ]           # MOV EAX,0x438
        - [ bytes, 0x01a452da, "90" ]                   # NOP
        - [ bytes, 0x01a452db, "90" ]                   # NOP
        - [ bytes, 0x01a452dc, "90" ]                   # NOP
        - [ bytes, 0x01a452dd, "90" ]                   # NOP