Skip to content

Releases: Mrsuss60/bloodborne_pc_windows_port

bloodborne_pc_windows_port v0.4.0 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 10 Oct 21:29

Bloodborne PC (Native Windows Port) - v0.4.0

Highlights

Vulkan Rendering Pipeline & Performance Optimization

  • Background Pipeline Compilation (vk_pipeline_cache):
    • Implemented an asynchronous compilation worker pool that compiles SPIR-V pipelines in background threads.
    • Added streak tracking to dynamically throttle compilation workload during draw bursts.
    • Preserved synchronous compilation fallback for quad draws and indirect dispatches to prevent dropped geometry.
      (Adapted from deadinside28/bloodborne_pc commit ea8ec76)
  • VRAM Eviction & Texture Thrashing Prevention (texture_cache):
    • Added LRU age grace periods before releasing texture allocations, eliminating rapid texture thrashing across zone transitions.
    • Restructured mirror defragmentation to avoid out-of-memory errors on 6 GB and 8 GB GPUs.
      (Adapted from deadinside28/bloodborne_pc commit 38a1bd2)
  • Fine-Grained DMA Host-Copy Tracking (liverpool, vk_scheduler):
    • Replaced global pipeline flushes on every WRITE_DATA command with direct-mapped 64 KiB memory page tracking (NoteHostCopySource / WaitHostCopiesFor).
    • CPU-side synchronization now waits only when in-flight GPU DMA operations intersect the modified memory range, reducing frame-time spikes during entity updates.
      (Adapted from deadinside28/bloodborne_pc commit c7e3e55 / 0.5)

Engine Stability & Crash Safeguards

  • Indirect Dispatch Bounds Check (vk_indirect_guard):
    • Added a Vulkan compute shader guard (indirect_guard.comp) that bounds-checks indirect draw and dispatch parameters against physical hardware device limits before execution.
    • Added trailing zero-padding loops in liverpool.cpp to prevent buffer overflow crashes on padded command buffers.
  • Null Command Chunk Protection (vk_scheduler):
    • Guarded against null chunk dereferences via thread-safe atomic chunk swaps during command buffer submission handoffs (Issue deadinside28#100).
  • Atomic Shader Cache Storage & Corruption Protection (cache_storage, serdes, vk_pipeline_serialization):
    • Implemented atomic cache file writes using staging files (.tmp) paired with Windows-native MoveFileExW (MOVEFILE_REPLACE_EXISTING), eliminating file sharing collisions and partial writes on process exit.
    • Added bounds checking across serialized archives with explicit CorruptData exceptions.
    • Added SPIR-V magic header verification (0x07230203u) and automatic cache regeneration in WarmUp() to cleanly recover from damaged cache files without crashing.
      (Adapted from deadinside28/bloodborne_pc commit daa7165)

Mouse & Keyboard Overhaul

  • Mouse Acceleration Implementation (Closes Issue #52):
    • Replaced raw linear delta mapping with a progressive radial power curve.
    • Added continuous deadzone subtraction in polar coordinates to eliminate center jitter without angular drift.
    • Micro-adjustments retain precision for aiming (Monocular and firearms), while fast swipes ramp smoothly up to 3.2x acceleration for responsive camera turns.
  • Authentic Bloodborne Control Layout:
    • Removed incorrect crouch bindings (Bloodborne has no crouch mechanic).
    • Realigned keybindings to match original PlayStation 4 controller layout:
      • F / V: Use Blood Vial / Heal (Triangle)
      • R: Use Equipped Consumable (Square)
      • Shift + RMB / Tab: Trick Weapon Transform (L1)
      • C / Z: Jump / Gestures (L3)
      • G: Gestures Menu (Touchpad Left)
      • Backspace: Personal Effects / Inventory (Touchpad Right)
      • 1 / 2 / 3 / 4: D-Pad Quick Actions (Blood Bullets, Item Cycling, Left/Right Weapon Swapping)
  • Launcher Reference Table:
    • Updated the Mouse & Keyboard Settings dialog to display accurate action mappings matching in-game behavior.

Installation

  1. Extract the release archive.
  2. Run launch_gui.bat.
  3. Select your decrypted 1.09 eboot.bin path.
  4. Configure graphics and controls as desired.
  5. Click Launch Bloodborne.

Credits & Upstream References

This release adapts key rendering optimizations and stability patches from upstream deadinside28/bloodborne_pc:

  • Background pipeline compilation worker pool (ea8ec76)
  • VRAM texture eviction grace threshold (38a1bd2)
  • Page-granule host-copy DMA tracking (c7e3e55)
  • Atomic shader cache serialization and corruption recovery (daa7165)

All patches adapted and ported to native Windows Vulkan / Win32 APIs by the Bloodborne PC Windows Port team.

bloodborne_pc_windows_port v0.3.0 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 09 Oct 22:59

Bloodborne PC (Native Windows Port) - v0.3.0

Highlights

Full Mouse and Keyboard Support

  • Native mouse camera look with configurable sensitivity, smoothing, deadzone filtering, and X/Y inversion.
  • Keyboard bindings.
  • Added Mouse & Keyboard configuration dialog accessible directly from the launcher.
  • Settings persist to bbport.ini and reload live without restarting the game.

Renderer & Resolution Scaling Fixes

  • Fixed native 1080p render pipeline:
    • Corrected resolution classification so native 1080p is treated as an unscaled session.
    • Fixed premature UI composition triggering on 1080p 3D scene viewports, resolving unlit/dark scene rendering.
    • Fixed Scaleform HUD health and stamina bar horizontal stretching (2.5x distortion) caused by invalid intermediate target scaling.
    • Bypassed redundant resolution patch templates when running at native 1080p executable layout.
  • Fixed 2D HUD depth clipping: Scaleform HUD elements (health/stamina bars, item icons) now pass depth tests cleanly across all resolutions without geometry occlusion.

Launcher Improvements

  • Added dedicated Mouse & Keyboard configuration panel with real-time sync.
  • Normalized resolution selection with explicit 1920x1080 (Native) baseline alongside scaled presets (720p, 1440p, 4K).
  • Streamlined configuration modal action bar to Cancel and Save & Close.

Installation

  1. Extract the release archive.
  2. Run launch_gui.bat.
  3. Select your decrypted 1.09 eboot.bin path.
  4. Configure graphics and controls as desired.
  5. Click Launch Bloodborne.

Note:

Press F11 or Shift + Tab to toggle the performance HUD.

bloodborne_pc_windows_port v0.2.2 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 09 Oct 17:48

Bloodborne PC (Native Windows Port) - v0.2.2

Changes in v0.2.2

Performance Telemetry HUD

  • Added an in-game HUD overlay displaying:
    • Real-time framerate and frametime.
    • 120-frame frametime history plot for diagnosing micro-stutter.
    • Vulkan VRAM allocation and total budget through VMA.
    • GPU utilization supporting NVIDIA (NVML) and AMD/Intel (Windows PDH).
    • Aggregate CPU load and system RAM usage.
  • Overlay toggle: F11 or Shift + Tab.
  • Screen quadrant, opacity, and scale can be configured in the overlay menu (Insert / L3 + R3) and are saved to bbport.ini.

Mouse Cursor Auto-Hide

  • Mouse cursor hides automatically after 3 seconds of inactivity while hovering over the game window.
  • Cursor visibility restores on mouse movement or when opening the overlay menu.

Fullscreen Mode Toggle

  • Added a Fullscreen checkbox to the launcher interface (PR #39 by wizardnun).
  • Controls fullscreen window state on startup via BB_FULLSCREEN.

Launcher Cleanup

  • Removed developer-focused toggles from the main interface (Watchdog, Debug tracing, GPU draw prep workers, Object motion vectors).
  • Added a HUD stats toggle directly to the features list.

Requirements

  • 64-bit Windows 10 or Windows 11
  • Vulkan 1.3 capable GPU (NVIDIA GTX 10-series+, AMD RX 400-series+, Intel Arc)
  • Python 3.10+ (for launch_gui.bat and patch generation)
  • Decrypted Bloodborne PS4 dump (CUSA03173, version 1.09)

Instructions

  1. Extract the release archive.
  2. Run launch_gui.bat.
  3. Select your eboot.bin or game directory.
  4. Configure desired resolution and framerate settings.
  5. Click Launch Bloodborne.

bloodborne_pc_windows_port v0.2.1 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 08 Oct 21:48

Bloodborne PC (Native Windows Port) - v0.2.1

Changes in v0.2.1

Crash Fixes & Stability

  • Map load crash resolved: Fixed an access violation (0xc0000005) that triggered while entering maps when reading unbound user-data tables (ReadUdReg dereferencing address 0x8). The shader recompiler now returns a clean empty descriptor when table pointers resolve to null, allowing vertex specialization to fall back safely. Fixed by @parsifal295 in #36.
  • High-resolution memory crash resolved: Fixed a crash at guest offset 0x443025 when setting internal rendering above 1080p directly in the launcher. run.bat now provisions a 9152 MiB direct memory pool (BB_DMEM_MB) for resolutions higher than 1920x1080 (1440p, 4K, and Ultrawide), matching the increased heap patch requirements. Fixed by @parsifal295 in #37.
  • Window hook and read-probe compatibility: Fixed an immediate exit code 139 on startup for users with third-party software, screen utilities, or DRM hooks that invoke IsBadReadPtr during CreateWindowExW. The Vectored Exception Handler now checks function unwind metadata for IsBadReadPtr and lets Windows Structured Exception Handling catch the probe instead of killing the process. Fixed by @parsifal295 in #35.

Runtime & Packaging

  • Bundled missing multimedia DLLs: Packaged all transitive FFmpeg, AV1, and image decoders (libaom.dll, libjxl.dll, libjxl_threads.dll, liblc3-1.dll, libhwy.dll, libcrypto-3-x64.dll, etc.) directly into out/. This fixes the missing DLL errors when launching bbport.exe on systems without a full MSYS2 environment.
  • Launcher configuration defaults: Set the baseline configuration to 60 FPS, default 1080p rendering, and Skip Intro enabled, with FSR upscaling disabled by default for maximum startup stability.

Requirements

  • 64-bit Windows 10 or Windows 11
  • Vulkan 1.3 capable GPU (NVIDIA GTX 10-series or newer, AMD RX 400-series or newer, Intel Arc)
  • Python 3.10 or newer (for the launcher GUI and patch generation)
  • Decrypted Bloodborne PS4 dump (CUSA03173, version 1.09)

How to Run

  1. Download and extract the release zip.
  2. Run launch_gui.bat.
  3. Select your eboot.bin file or game folder.
  4. Click Launch Bloodborne.

bloodborne_pc_windows_port v0.2 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 07 Oct 10:29

Bloodborne PC (Windows Port) - v0.2

What's New & Fixed

Character Creation & New Game Crash Fix

  • Fixed an issue where clicking "Finalize" during New Game character creation crashed the game.
  • Corrected save data re-mount behavior: the save manager now safely reuses active save slots (SPRJ0005) when the game requests write permissions to write userdata0002.
  • Fixed save parameter bounds checking that previously led to memory corruption on character metadata.
  • Resolved buffer termination handling in the internal IME text conversion to prevent out-of-bounds writes.
  • Added host allocator fallbacks to the video player (AvPlayer) so video frame buffers do not abort the process under memory pressure during cutscene transitions.

Keyboard Menu Navigation

  • Keyboard input now works concurrently with physical gamepads and virtual controller adapters (it no longer disables keyboard controls when a gamepad receiver is detected).
  • Arrow keys (Up, Down, Left, Right) are mapped to the D-Pad for menu browsing.
  • Basic navigation mapping:
    • Enter / Space: Confirm / Cross
    • Esc / Backspace / Left Shift: Cancel / Back / Circle
    • W, A, S, D: Left Stick movement
    • E: Square
    • Q: Triangle
    • Tab: Touchpad click

On-Screen Character Name Input

  • Added an on-screen dialog centered on display when the game requests character name entry. This ensures text input is visible in borderless windowed and fullscreen modes where the window title bar is hidden.
  • Automatically suspends game controller inputs while typing so keystrokes do not trigger rolls, attacks, or menu jumps.
  • Press Enter to confirm the entered name, or Esc to use the default name.

Crash Logging & Stability

  • Hardened exception handling in the Vectored Exception Handler (VEH) against invalid instruction pointers.
  • Crash dumps now capture registers, thread states, and stack traces into out/crash_*.log for easier debugging.

Installation

  1. Extract Bloodborne-Windows-Port-Release.zip into your game directory (next to eboot.bin and the dvdroot_ps4 folder).
  2. Launch the game using launcher.py or bbport.exe.

bloodborne_pc_windows_port v0.1 - Native Windows Port

Choose a tag to compare

@Mrsuss60 Mrsuss60 released this 06 Oct 23:18
8e5d2f2

Initial standalone Windows release of bloodborne_pc_windows_port.

Requirements

  • 64-bit Windows 10 or 11
  • Vulkan 1.3 capable GPU (NVIDIA GTX 10-series+, AMD RX 400+, Intel Arc)
  • Python 3.10+
  • Decrypted Bloodborne PS4 dump (CUSA03173, version 1.09)

How to Run

  1. Download and extract bloodborne_pc_windows_port_v0.2_release.zip.
  2. Double-click launch_gui.bat.
  3. Browse to your eboot.bin file and select your desired frame rate and resolution.
  4. Click Launch Bloodborne.
    (On the character creation menu, navigate to the player name and press Enter on the keyboard)

Tested on:

i5-4590 - 14GB RAM DDR3 - GTX 1650 4GB VRAM
Performance is alright, though it stutters and has occasional FPS drops, it’s still way better than using an emulator with similar specs.

Note:

If the game crashes when creating a new character/new game, boot the game again, hit Load Game, and your new game will be there!