[PR #3024] [MERGED] Core: Emulate libSceGnmDriver initialization behavior (again) #3157

Closed
opened 2026-02-27 22:02:39 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3024
Author: @StevenMiller123
Created: 6/2/2025
Status: Merged
Merged: 6/3/2025
Merged by: @georgemoralis

Base: mainHead: nba-fix-again


📝 Commits (1)

  • 2377924 Emulate libSceGnmDriver's init behavior

📊 Changes

1 file changed (+12 additions, -0 deletions)

View changed files

📝 src/core/linker.cpp (+12 -0)

📄 Description

This PR is similar to #2807, attempting to emulate the libSceGnmDriver initialization behavior needed for NBA 2K18 (CUSA08500) to progress further.

Unlike my previous attempt, this time I perform the memory mapping after our Linker::LoadSharedLibraries call, which places the memory mapping after the early memory mappings seen in GFD engine games, fixing the regressions that occurred last time I tried doing this.

A better long-term solution would be to perform this mapping in libSceGnmDriver's HLE initialization, though moving any HLE module initialization this far into the game loading process would take a fairly sizable rework of our module loading logic from what I can tell.

Tests would be appreciated, as this could cause regressions.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/3024 **Author:** [@StevenMiller123](https://github.com/StevenMiller123) **Created:** 6/2/2025 **Status:** ✅ Merged **Merged:** 6/3/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `nba-fix-again` --- ### 📝 Commits (1) - [`2377924`](https://github.com/shadps4-emu/shadPS4/commit/2377924751bcd061a6ed7dc415feb3cb7cac14a8) Emulate libSceGnmDriver's init behavior ### 📊 Changes **1 file changed** (+12 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/core/linker.cpp` (+12 -0) </details> ### 📄 Description This PR is similar to #2807, attempting to emulate the libSceGnmDriver initialization behavior needed for NBA 2K18 (CUSA08500) to progress further. Unlike my previous attempt, this time I perform the memory mapping after our `Linker::LoadSharedLibraries` call, which places the memory mapping after the early memory mappings seen in GFD engine games, fixing the regressions that occurred last time I tried doing this. A better long-term solution would be to perform this mapping in libSceGnmDriver's HLE initialization, though moving any HLE module initialization this far into the game loading process would take a fairly sizable rework of our module loading logic from what I can tell. Tests would be appreciated, as this could cause regressions. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:02:39 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3157
No description provided.