Repository navigation
inFAMOUS Second Son (CUSA00223) #8214
Andretuta
started this conversation in
Game bring-up
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Existing thread
Title
inFAMOUS Second Son (CUSA00223)
Content version tested
01.00 (
param.sfoAPP_VER), US disc dump of my own copy. No game files, hashes of game files or game code in this thread: only offsets, NIDs and log messages.AnyPS5 commit
Local test branch:
mainc942b37 + open #8166 and #7660 + the PS4 commits of #6977 (3b158c1e4,ab9d21afc,57dbfcadd,91117ec4d,b93b5d3da,5d1c67c6d,a2facb640,d604ae745,ffd6c7276,93eeee014) cherry-picked onto it. Conflicts resolved by hand, so this is not a clean build of any PR:GuestImageReader.cpp: kept main's RELATIVE handling, added the PR's own-section-symbol TLS case.libSceAgcDriverEvent.cpp(PR version with main'sboolreturn ofAgcDriverDeliverEopInterrupt),Texture.cpp,TextureDetiler.cpp,GuestTextureResource.cpp;libSceNpTus/Export.cppkept from main.sceVideoOutCursor*stubs inlibSceVideoOut/Unimplemented.cppandsceNpAuthGetAuthorizationCode()inlibSceNpAuth/Export.cpp.System tested
Windows 10 Pro 10.0.19045, WinLibs GCC 15.2.0 r7 (UCRT), AMD Ryzen 5 5500, NVIDIA GeForce RTX 3060 12 GB (Vulkan driver 617.14)
Furthest point
Converts; does not start (missing imports).
What is shown
Conversion
FAIL: Unsupported Windows guest TLS instruction (bytes: 65 ff ff) (offset 0x6510cc)(eboot output image stage).main+ fix(relinker): treat data between PS4 unwind functions as data in the syscall scan and the code roots #8166 + fix(relinker): resume scans after undecodable bytes between PS4 unwind functions #7660 alone:FAIL: ...libSceFios2.prx: Invalid guest TLS relocation(fixed by3b158c1e4from feat: run PS4 games on the AGC driver — Limbo (CUSA01664) in game (integration branch) #6977).relinker --windows --windows-gui --registryconvertseboot.bin(908 external prx references) and the bundledlibc.prxandlibSceFios2.prx(Converted modules: 2).Import audit (
tools/import_audit.py --libs <built libs>on the eboot and both guest module registries; 366 libraries built from the same branch)Absent imports by library (84 named from a NID table, 24 not named):
Run:
eboot.exeexits at once with0xC0000139(GetLastError: 127), as expected with absent imports.Reading: the blocker is
libSceGnmDriver(47 absent). The game uses direct and indirect dispatches, indirect multi-draws, embedded VS shaders,SetPsShader350-style setters and workload streams, which go beyond what Limbo needs. ThelibSceFios2andlibcentries may resolve against the title's own bundled modules; I did not check that.Full list of absent imports
sceGnmSetEmbeddedVsShader(+AFvOEXrKJk),sceGnmDispatchDirect(0BzLGljcwBo),sceGnmDrawIndirect(4v+otIIdjqg),sceGnmDrawIndexIndirectMulti(5q95ravnueg),sceGnmSetPsShader350(5uFKckiJYRM),sceGnmCreateWorkloadStream(5udAm+6boVg),sceGnmRequestFlipAndSubmitDoneForWorkload(6YRHhh5mHCs),sceGnmMapComputeQueueWithPriority(A+uGq+3KFtQ),sceGnmDrawIndexIndirect(ED9-Fjr8Ta4),sceGnmGetOffChipTessellationBufferSize(FFVZcCu3zWU),sceGnmEndWorkload(Fa3x75OOLRA),sceGnmDrawIndexAuto(GGsn7jMTxw4),sceGnmUpdateHsShader(GNlx+y7xPdE),sceGnmSubmitAndFlipCommandBuffersForWorkload(Ga6r7H6Y0RI),sceGnmDrawIndex(HlTPoZ-oY7Y),sceGnmGetNumTcaUnits(KnldROUkWJY),sceGnmSetCsShaderWithModifier(Kx-h-nWQJ8A),sceGnmResetVgtControl(MYRtYhojKdA),sceGnmInsertDingDongMarker(NfvOrNzy6sk),sceGnmDriverTraceInProgress(R6z1xM3pW-w),sceGnmInsertThreadTraceMarker(URDgJcXhQOs),sceGnmDestroyWorkloadStream(UtObDRQiGbs),sceGnmUpdateVsShader(V31V01UiScY),sceGnmSetEmbeddedPsShader(X9Omw9dwv5M),sceGnmSetWaveLimitMultipliers(XiyzNZ9J4nQ),sceGnmDispatchIndirect(Z43vKp5k7r0),sceGnmDingDongForWorkload(byXlqupd8cE),sceGnmSetVgtControl(cFCp0NX8wf0),sceGnmDrawIndirectCountMulti(cUCo8OvArrw),sceGnmDrawIndirectMulti(f5QQLp9rzGk),sceGnmGetProtectionFaultTimeStamp(fzJdEihTFV4),sceGnmGetLastWaitedAddress(iFirFzgYsvw),sceGnmBeginWorkload(ihxrbsoSKWc),sceGnmDrawInitToDefaultContextState400(im2ZuItabu4),sceGnmDrawIndexMultiInstanced(jHdPvIzlpKc),sceGnmSubmitCommandBuffersForWorkload(jRcI8VcgTz4),sceGnmGetShaderStatus(k7iGTvDQPLQ),sceGnmUpdatePsShader350(mLVL7N7BVBg),sceGnmGetShaderProgramBaseAddress(nEyFbYUloIM),sceGnmUpdateGsShader(nLM2i2+65hA),sceGnmGetGpuBlockStatus(oL4hGI1PMpw),sceGnmDrawIndexOffset(oYM+YzfCm2Y),sceGnmDrawOpaqueAuto(stDSYW2SBVM),sceGnmGetGpuInfoStatus(tZCSL5ulnB4),sceGnmDrawIndexIndirectCountMulti(thbPcG7E7qk),sceGnmDispatchIndirectOnMec(wED4ZXCFJT0),sceGnmDrawInitDefaultHardwareState350(yb2cRhagD1I)sceFiosOpGetActualCount(+FRvKknUj1I),sceFiosDirectoryCreate(-ULUBK21QgE),sceFiosDHCloseSync(0-p4O8FINmU),sceFiosOpDelete(5cyEcilO-J0),sceFiosFHCloseSync(AOujSGqU+ms),sceFiosFHReadSync(Bn2ZF4ZjeuQ),sceFiosFHSyncSync(EzzSJz6yuMc),sceFiosRenameSync(G-39lsdSgXo),sceFiosDHOpenSync(GGqucL9F+YI),sceFiosFHWriteSync(Kl-TbrDU9YM),sceFiosDeleteSync(KsVTc04kN9k),sceFiosFHTell(MrRFrdgpsx8),sceFiosOpWait(SnoQQWnGK9I),sceFiosFHOpenSync(b44anV2D7K0),sceFiosFileDeleteSync(bDupEgbQ6Fk),sceFiosStatSync(jayvY07C5dk),sceFiosDHReadSync(odjOGg8harg),sceFiosDHOpen(uCkgJOrYUL4),sceFiosFHSeek(xReSebwKApA)_Stoll(7pNKcscKrf8),_FSin(ZtjspkJQ+vw),_Stod(c41UEHVtiEA),_Sin(cCXjU72Z0Ow),_FLog(jjjRS7l1MPM),_Log(zXCi78bYrEI)sceNpCheckNpAvailabilityA(8Z2Jc5GvGDI),sceNpRegisterGamePresenceCallbackA(KswxLxk4c1Y),sceNpGetGamePresenceStatusA(oPO9U42YpgI)sceVideoOutConfigureOutputMode_(N1bEoJ4SRw4),sceVideoOutGetDeviceCapabilityInfo_(kGVLc3htQE8),sceVideoOutModeSetAny_(pjkDsgxli6c)sceKernelIsNeoMode(WslcK1FQcGI),sceKernelPrintBacktraceWithModuleInfo(Wl2o5hOVZdw)sceSaveDataMount2(0z45PIH+SNI)scePlayGoSetLanguageMask(LosLlHOpNqQ)sceVideodecQueryResourceInfo(leCAscipfFY)sceDiscMap_7C980FFB0AA27E7A(fJgP+wqifno)+SeQg8c1WC0,2ZaHWy3IhKQ,3HAgZPl1v+4,5sYNBNK+W3g,ERmiOK9VT0g,F1dCP7qkqok,FA7dUleeGik,FdjoqFQOlt0,NUkBGOZARi4,NwOHMRM2Ppw,OIGbkgGOu6E,OOuvHKTu4Oc,PbxGVfOvUQY,QKsI9N7K1zE,YfTBBU5nONQ,ahIXyuwF0-o,e+hi-tOrDZU,er6TkQFUvp0,lgITuBsRo2o,nWuza0ZdfqA,nomcox0J32k,pIU8u6VsLM8,rR8wq7YFRZs,wAKZ-det+yoI can rerun the conversion and the audit on a newer branch, and test boot once the Gnm paths exist.
AI-assisted: yes (Claude Code)
All reactions