mirror of https://github.com/red-prig/fpPS4.git
libSceVoice and libSceSystemService functions (#158)
* sceVoiceDeletePort * sceVoiceGetPortInfo * sceSystemServiceReportAbnormalTermination * sceSystemServiceLoadExec * sceSystemServiceGetRenderingMode * Fixes * Fix and TODO sceSystemServiceLoadExec must be implemented sceSystemServiceReportAbnormalTermination is an abnormal termination of the program * + --------- Co-authored-by: red-prig <vdpasha@mail.ru>
This commit is contained in:
parent
a6d0ebb1b1
commit
21ef724919
|
@ -157,6 +157,10 @@ type
|
||||||
minToneMapLuminance :Single;
|
minToneMapLuminance :Single;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
pSceSystemServiceAbnormalTerminationInfo=^SceSystemServiceAbnormalTerminationInfo;
|
||||||
|
SceSystemServiceAbnormalTerminationInfo=packed record
|
||||||
|
end;
|
||||||
|
|
||||||
pSceSystemServiceEventType=^SceSystemServiceEventType;
|
pSceSystemServiceEventType=^SceSystemServiceEventType;
|
||||||
SceSystemServiceEventType=packed record
|
SceSystemServiceEventType=packed record
|
||||||
eventType:Integer; //SceSystemServiceEventType
|
eventType:Integer; //SceSystemServiceEventType
|
||||||
|
@ -407,6 +411,25 @@ begin
|
||||||
Result:=SCE_SYSTEM_SERVICE_ERROR_NO_EVENT;
|
Result:=SCE_SYSTEM_SERVICE_ERROR_NO_EVENT;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function ps4_sceSystemServiceReportAbnormalTermination(const info:pSceSystemServiceAbnormalTerminationInfo):Integer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Writeln(StdErr,'sceSystemServiceReportAbnormalTermination');
|
||||||
|
Assert(false);
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ps4_sceSystemServiceLoadExec(const path:PChar;const argv:PChar):Integer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Writeln(StdErr,'TODO:sceSystemServiceLoadExec:',path);
|
||||||
|
Assert(false);
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ps4_sceSystemServiceGetRenderingMode():Integer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
function ps4_sceSystemServiceEnableSuspendNotification:Integer; SysV_ABI_CDecl;
|
function ps4_sceSystemServiceEnableSuspendNotification:Integer; SysV_ABI_CDecl;
|
||||||
|
@ -439,6 +462,9 @@ begin
|
||||||
lib^.set_proc($98FA4FC6FE4266DE,@ps4_sceSystemServiceGetHdrToneMapLuminance);
|
lib^.set_proc($98FA4FC6FE4266DE,@ps4_sceSystemServiceGetHdrToneMapLuminance);
|
||||||
lib^.set_proc($ACFA3AB55F03F5B3,@ps4_sceSystemServiceGetStatus);
|
lib^.set_proc($ACFA3AB55F03F5B3,@ps4_sceSystemServiceGetStatus);
|
||||||
lib^.set_proc($EB9E8B3104AB83A5,@ps4_sceSystemServiceReceiveEvent);
|
lib^.set_proc($EB9E8B3104AB83A5,@ps4_sceSystemServiceReceiveEvent);
|
||||||
|
lib^.set_proc($DECF1C1E20812811,@ps4_sceSystemServiceReportAbnormalTermination);
|
||||||
|
lib^.set_proc($26806A490B75CB20,@ps4_sceSystemServiceLoadExec);
|
||||||
|
lib^.set_proc($8C0EB6F4F70C08A5,@ps4_sceSystemServiceGetRenderingMode);
|
||||||
|
|
||||||
lib:=Result._add_lib('libSceSystemServiceSuspend');
|
lib:=Result._add_lib('libSceSystemServiceSuspend');
|
||||||
lib^.set_proc($6B92A38EAE8781C5,@ps4_sceSystemServiceEnableSuspendNotification);
|
lib^.set_proc($6B92A38EAE8781C5,@ps4_sceSystemServiceEnableSuspendNotification);
|
||||||
|
|
|
@ -10,6 +10,9 @@ uses
|
||||||
Classes,
|
Classes,
|
||||||
SysUtils;
|
SysUtils;
|
||||||
|
|
||||||
|
const
|
||||||
|
SCE_VOICE_ERROR_ARGUMENT_INVALID=-2142369787;
|
||||||
|
|
||||||
type
|
type
|
||||||
pSceVoiceInitParam=^SceVoiceInitParam;
|
pSceVoiceInitParam=^SceVoiceInitParam;
|
||||||
SceVoiceInitParam=packed record
|
SceVoiceInitParam=packed record
|
||||||
|
@ -32,6 +35,17 @@ type
|
||||||
//
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
pSceVoiceBasePortInfo=^SceVoiceBasePortInfo;
|
||||||
|
SceVoiceBasePortInfo=packed record
|
||||||
|
portType :Integer; //SceVoicePortType
|
||||||
|
state :Integer; //SceVoicePortState
|
||||||
|
pEdge :PDWORD;
|
||||||
|
numByte :DWORD;
|
||||||
|
frameSize:DWORD;
|
||||||
|
numEdge :WORD;
|
||||||
|
reserved :WORD;
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
function ps4_sceVoiceInit(pArg:pSceVoiceInitParam;
|
function ps4_sceVoiceInit(pArg:pSceVoiceInitParam;
|
||||||
|
@ -56,6 +70,11 @@ begin
|
||||||
Result:=0;
|
Result:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function ps4_sceVoiceDeletePort(portId:DWORD):Integer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
function ps4_sceVoiceConnectIPortToOPort(ips,ops:DWORD):Integer; SysV_ABI_CDecl;
|
function ps4_sceVoiceConnectIPortToOPort(ips,ops:DWORD):Integer; SysV_ABI_CDecl;
|
||||||
begin
|
begin
|
||||||
Result:=0;
|
Result:=0;
|
||||||
|
@ -66,6 +85,20 @@ begin
|
||||||
Result:=0;
|
Result:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function ps4_sceVoiceGetPortInfo(portId:DWORD;pInfo:pSceVoiceBasePortInfo):Integer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (pInfo=nil) then Exit(SCE_VOICE_ERROR_ARGUMENT_INVALID);
|
||||||
|
|
||||||
|
pInfo^.portType :=0;
|
||||||
|
pInfo^.state :=3;
|
||||||
|
pInfo^.numByte :=0;
|
||||||
|
pInfo^.frameSize:=1;
|
||||||
|
pInfo^.numEdge :=0;
|
||||||
|
pInfo^.reserved :=0;
|
||||||
|
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
function Load_libSceVoice(Const name:RawByteString):TElf_node;
|
function Load_libSceVoice(Const name:RawByteString):TElf_node;
|
||||||
var
|
var
|
||||||
lib:PLIBRARY;
|
lib:PLIBRARY;
|
||||||
|
@ -76,8 +109,10 @@ begin
|
||||||
lib^.set_proc($F53AE1B86CDB7AB4,@ps4_sceVoiceInit);
|
lib^.set_proc($F53AE1B86CDB7AB4,@ps4_sceVoiceInit);
|
||||||
lib^.set_proc($E78A613C7D8B665B,@ps4_sceVoiceStart);
|
lib^.set_proc($E78A613C7D8B665B,@ps4_sceVoiceStart);
|
||||||
lib^.set_proc($9D7A637B9C8DA5A1,@ps4_sceVoiceCreatePort);
|
lib^.set_proc($9D7A637B9C8DA5A1,@ps4_sceVoiceCreatePort);
|
||||||
|
lib^.set_proc($6FB90923E9F1DA18,@ps4_sceVoiceDeletePort);
|
||||||
lib^.set_proc($A15F4601D276DC6C,@ps4_sceVoiceConnectIPortToOPort);
|
lib^.set_proc($A15F4601D276DC6C,@ps4_sceVoiceConnectIPortToOPort);
|
||||||
lib^.set_proc($6A3563DD01B6BA6E,@ps4_sceVoiceDisconnectIPortFromOPort);
|
lib^.set_proc($6A3563DD01B6BA6E,@ps4_sceVoiceDisconnectIPortFromOPort);
|
||||||
|
lib^.set_proc($0AB2EA0F058BA173,@ps4_sceVoiceGetPortInfo);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Load_libSceVoiceQoS(Const name:RawByteString):TElf_node;
|
function Load_libSceVoiceQoS(Const name:RawByteString):TElf_node;
|
||||||
|
|
Loading…
Reference in New Issue