diff --git a/fpPS4.lpr b/fpPS4.lpr index 5ec906bc..a834d92b 100644 --- a/fpPS4.lpr +++ b/fpPS4.lpr @@ -244,6 +244,12 @@ begin Result:=0; end; +function ps4_sceSharePlayInitialize(pHeap:Pointer;heapSize:qword):Integer; SysV_ABI_CDecl; +begin + Writeln('sceSharePlayInitialize:',HexStr(pHeap),':',heapSize); + Result:=0; +end; + function ResolveImport(elf:Telf_file;Info:PResolveImportInfo;data:Pointer):Pointer; var lib:PLIBRARY; @@ -308,6 +314,11 @@ begin QWORD($92F604C369419DD9):Result:=@ps4_sceGameLiveStreamingInitialize; end; + 'libSceSharePlay': + Case Info^.nid of + QWORD($8ACAEEAAD86961CC):Result:=@ps4_sceSharePlayInitialize; + end; + end; end; @@ -330,6 +341,8 @@ begin 'libSceAudioOut':; 'libc':; 'libSceLibcInternal':; + 'libScePosix':; + 'libSceDiscMap':; else Case RawByteString(ps4libdoc.GetFunctName(Info^.Nid)) of @@ -353,6 +366,7 @@ begin 'scePthreadCondTimedwait':; 'scePthreadYield':; 'nanosleep':; + 'sceKernelGetProcessTime':; 'sceKernelGetProcessTimeCounter':; 'clock_gettime':; 'pthread_mutex_init':; @@ -382,8 +396,6 @@ begin 'sceFiosIOFilterPsarcDearchiver':; 'sceFiosFHReadSync':; 'sceFiosFHTell':; - 'sceNgs2VoiceGetState':; - 'sceNgs2SystemRender':; 'sceAudioOutOutputs':; '__tls_get_addr':; 'scePthreadRwlockRdlock':; diff --git a/kernel/ps4_map_mm.pas b/kernel/ps4_map_mm.pas index 7d3d1f96..ebbb9baf 100644 --- a/kernel/ps4_map_mm.pas +++ b/kernel/ps4_map_mm.pas @@ -6,7 +6,6 @@ interface uses Windows, - g23tree, RWLock, sys_types, mmap, @@ -527,9 +526,10 @@ begin rwlock_unlock(MMLock); _sig_unlock; + info^:=Default(SceKernelDirectMemoryQueryInfo); + if (Result=0) then begin - info^:=Default(SceKernelDirectMemoryQueryInfo); info^.start:=ROut.Offset; info^.__end:=ROut.Offset+ROut.Size; info^.mType:=ROut.F.mtype; @@ -985,10 +985,11 @@ begin rwlock_unlock(MMLock); _sig_unlock; + info^:=Default(SceKernelVirtualQueryInfo); + if (Result=0) then begin Committed:=(VOut.F.Free=0) and (VOut.F.reserv=0); - info^:=Default(SceKernelVirtualQueryInfo); info^.pstart :=VOut.Offset; info^.pend :=VOut.Offset+VOut.Size; info^.offset :=VOut.addr;