From 6cab4d7100abdd7c7bd41dcb18355cf2c8fb49d1 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Fri, 30 Jan 2015 15:19:01 +0300 Subject: [PATCH] Some functions added --- rpcs3/Emu/ARMv7/Modules/sceGxm.cpp | 12 +- rpcs3/Emu/ARMv7/Modules/sceNet.h | 6 +- rpcs3/Emu/ARMv7/Modules/sceNgs.cpp | 549 ++++++++++++++++--- rpcs3/Emu/ARMv7/Modules/sceRtc.cpp | 260 +++++++-- rpcs3/Emu/ARMv7/Modules/sceSas.cpp | 204 ++++++- rpcs3/Emu/ARMv7/Modules/sceSystemGesture.cpp | 276 +++++++++- rpcs3/Emu/ARMv7/Modules/sceTouch.cpp | 35 +- rpcs3/Emu/ARMv7/Modules/sceTouch.h | 36 ++ rpcs3/Emu/ARMv7/Modules/sceVoice.cpp | 2 +- rpcs3/Emu/Memory/vm_ptr.h | 2 + rpcs3/Emu/SysCalls/Modules/sceNp.h | 2 +- rpcs3/Emu/SysCalls/Modules/sceNpClans.h | 2 +- rpcs3/emucore.vcxproj | 1 + rpcs3/emucore.vcxproj.filters | 3 + 14 files changed, 1199 insertions(+), 191 deletions(-) create mode 100644 rpcs3/Emu/ARMv7/Modules/sceTouch.h diff --git a/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp b/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp index 3614803537..f65f49b349 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceGxm.cpp @@ -257,23 +257,23 @@ void sceGxmSetBackPolygonMode(vm::psv::ptr context, SceGxmPolygon throw __FUNCTION__; } -void sceGxmSetFrontStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, uint8_t compareMask, uint8_t writeMask) +void sceGxmSetFrontStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, u8 compareMask, u8 writeMask) { throw __FUNCTION__; } -void sceGxmSetBackStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, uint8_t compareMask, uint8_t writeMask) +void sceGxmSetBackStencilFunc(vm::psv::ptr context, SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, u8 compareMask, u8 writeMask) { throw __FUNCTION__; } -void sceGxmSetFrontDepthBias(vm::psv::ptr context, int32_t factor, int32_t units) +void sceGxmSetFrontDepthBias(vm::psv::ptr context, s32 factor, s32 units) { throw __FUNCTION__; } -void sceGxmSetBackDepthBias(vm::psv::ptr context, int32_t factor, int32_t units) +void sceGxmSetBackDepthBias(vm::psv::ptr context, s32 factor, s32 units) { throw __FUNCTION__; } @@ -463,12 +463,12 @@ s32 sceGxmDepthStencilSurfaceInitDisabled(vm::psv::ptr surface) +u8 sceGxmDepthStencilSurfaceGetBackgroundStencil(vm::psv::ptr surface) { throw __FUNCTION__; } -void sceGxmDepthStencilSurfaceSetBackgroundStencil(vm::psv::ptr surface, uint8_t backgroundStencil) +void sceGxmDepthStencilSurfaceSetBackgroundStencil(vm::psv::ptr surface, u8 backgroundStencil) { throw __FUNCTION__; } diff --git a/rpcs3/Emu/ARMv7/Modules/sceNet.h b/rpcs3/Emu/ARMv7/Modules/sceNet.h index 1d30bdfdd0..6dc25e1ea9 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceNet.h +++ b/rpcs3/Emu/ARMv7/Modules/sceNet.h @@ -35,15 +35,15 @@ struct SceNetSockaddr struct SceNetEpollDataExt { s32 id; - u32 u32; + u32 data; }; union SceNetEpollData { vm::psv::ptr ptr; s32 fd; - u32 u32; - u64 u64; + u32 _u32; + u64 _u64; SceNetEpollDataExt ext; }; diff --git a/rpcs3/Emu/ARMv7/Modules/sceNgs.cpp b/rpcs3/Emu/ARMv7/Modules/sceNgs.cpp index 5798792b12..f09993ba24 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceNgs.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceNgs.cpp @@ -4,6 +4,431 @@ extern psv_log_base sceNgs; +struct SceNgsVoiceDefinition; + +typedef u32 SceNgsModuleID; +typedef u32 SceNgsParamsID; +typedef vm::psv::ptr SceNgsHVoice; +typedef vm::psv::ptr SceNgsHPatch; +typedef vm::psv::ptr SceNgsHSynSystem; +typedef vm::psv::ptr SceNgsHRack; + +struct SceNgsModuleParamHeader +{ + s32 moduleId; + s32 chan; +}; + +struct SceNgsParamsDescriptor +{ + SceNgsParamsID id; + u32 size; +}; + +struct SceNgsBufferInfo +{ + vm::psv::ptr data; + u32 size; +}; + +struct SceNgsVoicePreset +{ + s32 nNameOffset; + u32 uNameLength; + s32 nPresetDataOffset; + u32 uSizePresetData; + s32 nBypassFlagsOffset; + u32 uNumBypassFlags; +}; + +struct SceNgsSystemInitParams +{ + s32 nMaxRacks; + s32 nMaxVoices; + s32 nGranularity; + s32 nSampleRate; + s32 nMaxModules; +}; + +struct SceNgsRackDescription +{ + vm::psv::ptr pVoiceDefn; + s32 nVoices; + s32 nChannelsPerVoice; + s32 nMaxPatchesPerInput; + s32 nPatchesPerOutput; + vm::psv::ptr pUserReleaseData; +}; + +struct SceNgsPatchSetupInfo +{ + SceNgsHVoice hVoiceSource; + s32 nSourceOutputIndex; + s32 nSourceOutputSubIndex; + SceNgsHVoice hVoiceDestination; + s32 nTargetInputIndex; +}; + +struct SceNgsVolumeMatrix +{ + float m[2][2]; +}; + +struct SceNgsPatchRouteInfo +{ + s32 nOutputChannels; + s32 nInputChannels; + SceNgsVolumeMatrix vols; +}; + +struct SceNgsVoiceInfo +{ + u32 uVoiceState; + u32 uNumModules; + u32 uNumInputs; + u32 uNumOutputs; + u32 uNumPatchesPerOutput; +}; + +struct SceNgsCallbackInfo +{ + SceNgsHVoice hVoiceHandle; + SceNgsHRack hRackHandle; + SceNgsModuleID uModuleID; + s32 nCallbackData; + s32 nCallbackData2; + vm::psv::ptr pCallbackPtr; + vm::psv::ptr pUserData; +}; + +typedef vm::psv::ptr pCallbackInfo)> SceNgsCallbackFunc; + +typedef SceNgsCallbackFunc SceNgsRackReleaseCallbackFunc; +typedef SceNgsCallbackFunc SceNgsModuleCallbackFunc; +typedef SceNgsCallbackFunc SceNgsParamsErrorCallbackFunc; + +struct SceSulphaNgsConfig +{ + u32 maxNamedObjects; + u32 maxTraceBufferBytes; +}; + +s32 sceNgsSystemGetRequiredMemorySize(vm::psv::ptr pSynthParams, vm::psv::ptr pnSize) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemInit(vm::psv::ptr pSynthSysMemory, const u32 uMemSize, vm::psv::ptr pSynthParams, vm::psv::ptr pSystemHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemUpdate(SceNgsHSynSystem hSystemHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemRelease(SceNgsHSynSystem hSystemHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemLock(SceNgsHSynSystem hSystemHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemUnlock(SceNgsHSynSystem hSystemHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemSetParamErrorCallback(SceNgsHSynSystem hSystemHandle, const SceNgsParamsErrorCallbackFunc callbackFuncPtr) +{ + throw __FUNCTION__; +} + +s32 sceNgsSystemSetFlags(SceNgsHSynSystem hSystemHandle, const u32 uSystemFlags) +{ + throw __FUNCTION__; +} + +s32 sceNgsRackGetRequiredMemorySize(SceNgsHSynSystem hSystemHandle, vm::psv::ptr pRackDesc, vm::psv::ptr pnSize) +{ + throw __FUNCTION__; +} + +s32 sceNgsRackInit(SceNgsHSynSystem hSystemHandle, vm::psv::ptr pRackBuffer, vm::psv::ptr pRackDesc, vm::psv::ptr pRackHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsRackGetVoiceHandle(SceNgsHRack hRackHandle, const u32 uIndex, vm::psv::ptr pVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsRackRelease(SceNgsHRack hRackHandle, const SceNgsRackReleaseCallbackFunc callbackFuncPtr) +{ + throw __FUNCTION__; +} + +s32 sceNgsRackSetParamErrorCallback(SceNgsHRack hRackHandle, const SceNgsParamsErrorCallbackFunc callbackFuncPtr) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceInit(SceNgsHVoice hVoiceHandle, vm::psv::ptr pPreset, const u32 uInitFlags) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoicePlay(SceNgsHVoice hVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceKeyOff(SceNgsHVoice hVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceKill(SceNgsHVoice hVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoicePause(SceNgsHVoice hVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceResume(SceNgsHVoice hVoiceHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceSetPreset(SceNgsHVoice hVoiceHandle, vm::psv::ptr pVoicePreset) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceLockParams(SceNgsHVoice hVoiceHandle, const u32 uModule, const SceNgsParamsID uParamsInterfaceId, vm::psv::ptr pParamsBuffer) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceUnlockParams(SceNgsHVoice hVoiceHandle, const u32 uModule) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceSetParamsBlock(SceNgsHVoice hVoiceHandle, vm::psv::ptr pParamData, const u32 uSize, vm::psv::ptr pnErrorCount) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceBypassModule(SceNgsHVoice hVoiceHandle, const u32 uModule, const u32 uBypassFlag) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceSetModuleCallback(SceNgsHVoice hVoiceHandle, const u32 uModule, const SceNgsModuleCallbackFunc callbackFuncPtr, vm::psv::ptr pUserData) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceSetFinishedCallback(SceNgsHVoice hVoiceHandle, const SceNgsCallbackFunc callbackFuncPtr, vm::psv::ptr pUserData) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetStateData(SceNgsHVoice hVoiceHandle, const u32 uModule, vm::psv::ptr pMem, const u32 uMemSize) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetInfo(SceNgsHVoice hVoiceHandle, vm::psv::ptr pInfo) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetModuleType(SceNgsHVoice hVoiceHandle, const u32 uModule, vm::psv::ptr pModuleType) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetModuleBypass(SceNgsHVoice hVoiceHandle, const u32 uModule, vm::psv::ptr puBypassFlag) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetParamsOutOfRange(SceNgsHVoice hVoiceHandle, const u32 uModule, vm::psv::ptr pszMessageBuffer) +{ + throw __FUNCTION__; +} + +s32 sceNgsPatchCreateRouting(vm::psv::ptr pPatchInfo, vm::psv::ptr pPatchHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsPatchGetInfo(SceNgsHPatch hPatchHandle, vm::psv::ptr pRouteInfo, vm::psv::ptr pSetup) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoiceGetOutputPatch(SceNgsHVoice hVoiceHandle, const s32 nOutputIndex, const s32 nSubIndex, vm::psv::ptr pPatchHandle) +{ + throw __FUNCTION__; +} + +s32 sceNgsPatchRemoveRouting(SceNgsHPatch hPatchHandle) +{ + throw __FUNCTION__; +} + +//s32 sceNgsVoicePatchSetVolume(SceNgsHPatch hPatchHandle, const s32 nOutputChannel, const s32 nInputChannel, const float fVol) +//{ +// throw __FUNCTION__; +//} + +s32 sceNgsVoicePatchSetVolumes(SceNgsHPatch hPatchHandle, const s32 nOutputChannel, vm::psv::ptr pVolumes, const s32 nVols) +{ + throw __FUNCTION__; +} + +s32 sceNgsVoicePatchSetVolumesMatrix(SceNgsHPatch hPatchHandle, vm::psv::ptr pMatrix) +{ + throw __FUNCTION__; +} + +s32 sceNgsModuleGetNumPresets(SceNgsHSynSystem hSystemHandle, const SceNgsModuleID uModuleID, vm::psv::ptr puNumPresets) +{ + throw __FUNCTION__; +} + +s32 sceNgsModuleGetPreset(SceNgsHSynSystem hSystemHandle, const SceNgsModuleID uModuleID, const u32 uPresetIndex, vm::psv::ptr pParamsBuffer) +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetCompressorBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetCompressorSideChainBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetDelayBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetDistortionBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetEnvelopeBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetEqBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetMasterBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetMixerBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetPauserBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetReverbBuss() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetSasEmuVoice() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetSimpleVoice() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetTemplate1() +{ + throw __FUNCTION__; +} + +vm::psv::ptr sceNgsVoiceDefGetAtrac9Voice() +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsGetDefaultConfig(vm::psv::ptr config) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsGetNeededMemory(vm::psv::ptr config, vm::psv::ptr sizeInBytes) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsInit(vm::psv::ptr config, vm::psv::ptr buffer, u32 sizeInBytes) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsShutdown() +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsSetSynthName(SceNgsHSynSystem synthHandle, vm::psv::ptr name) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsSetRackName(SceNgsHRack rackHandle, vm::psv::ptr name) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsSetVoiceName(SceNgsHVoice voiceHandle, vm::psv::ptr name) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsSetSampleName(vm::psv::ptr location, u32 length, vm::psv::ptr name) +{ + throw __FUNCTION__; +} + +s32 sceSulphaNgsTrace(vm::psv::ptr message) +{ + throw __FUNCTION__; +} + + #define REG_FUNC(nid, name) reg_psv_func(nid, &sceNgs, #name, name) psv_log_base sceNgs("SceNgs", []() @@ -12,67 +437,67 @@ psv_log_base sceNgs("SceNgs", []() sceNgs.on_unload = nullptr; sceNgs.on_stop = nullptr; - //REG_FUNC(0x6CE8B36F, sceNgsSystemGetRequiredMemorySize); - //REG_FUNC(0xED14CF4A, sceNgsSystemInit); - //REG_FUNC(0x684F080C, sceNgsSystemUpdate); - //REG_FUNC(0x4A25BEBC, sceNgsSystemRelease); - //REG_FUNC(0xB9D971F2, sceNgsSystemLock); - //REG_FUNC(0x0A93EA96, sceNgsSystemUnlock); - //REG_FUNC(0x5ADD22DC, sceNgsSystemSetParamErrorCallback); - //REG_FUNC(0x64D80013, sceNgsSystemSetFlags); - //REG_FUNC(0x477318C0, sceNgsRackGetRequiredMemorySize); - //REG_FUNC(0x0A92E4EC, sceNgsRackInit); - //REG_FUNC(0xFE1A98E9, sceNgsRackGetVoiceHandle); - //REG_FUNC(0xDD5CA10B, sceNgsRackRelease); - //REG_FUNC(0x534B6E3F, sceNgsRackSetParamErrorCallback); - //REG_FUNC(0x1DDBEBEB, sceNgsVoiceInit); - //REG_FUNC(0xFA0A0F34, sceNgsVoicePlay); - //REG_FUNC(0xBB13373D, sceNgsVoiceKeyOff); - //REG_FUNC(0x0E291AAD, sceNgsVoiceKill); - //REG_FUNC(0xD7786E99, sceNgsVoicePause); - //REG_FUNC(0x54CFB981, sceNgsVoiceResume); - //REG_FUNC(0x8A88E665, sceNgsVoiceSetPreset); - //REG_FUNC(0xAB6BEF8F, sceNgsVoiceLockParams); - //REG_FUNC(0x3D46D8A7, sceNgsVoiceUnlockParams); - //REG_FUNC(0xFB8174B1, sceNgsVoiceSetParamsBlock); - //REG_FUNC(0x9AB87E71, sceNgsVoiceBypassModule); - //REG_FUNC(0x24E909A8, sceNgsVoiceSetModuleCallback); - //REG_FUNC(0x17A6F564, sceNgsVoiceSetFinishedCallback); - //REG_FUNC(0xC9B8C0B4, sceNgsVoiceGetStateData); - //REG_FUNC(0x5551410D, sceNgsVoiceGetInfo); - //REG_FUNC(0xB307185E, sceNgsVoiceGetModuleType); - //REG_FUNC(0x431BF3AB, sceNgsVoiceGetModuleBypass); - //REG_FUNC(0xD668B49C, sceNgsPatchCreateRouting); - //REG_FUNC(0x98703DBC, sceNgsPatchGetInfo); - //REG_FUNC(0x01A52E3A, sceNgsVoiceGetOutputPatch); - //REG_FUNC(0xD0C9AE5A, sceNgsPatchRemoveRouting); + REG_FUNC(0x6CE8B36F, sceNgsSystemGetRequiredMemorySize); + REG_FUNC(0xED14CF4A, sceNgsSystemInit); + REG_FUNC(0x684F080C, sceNgsSystemUpdate); + REG_FUNC(0x4A25BEBC, sceNgsSystemRelease); + REG_FUNC(0xB9D971F2, sceNgsSystemLock); + REG_FUNC(0x0A93EA96, sceNgsSystemUnlock); + REG_FUNC(0x5ADD22DC, sceNgsSystemSetParamErrorCallback); + REG_FUNC(0x64D80013, sceNgsSystemSetFlags); + REG_FUNC(0x477318C0, sceNgsRackGetRequiredMemorySize); + REG_FUNC(0x0A92E4EC, sceNgsRackInit); + REG_FUNC(0xFE1A98E9, sceNgsRackGetVoiceHandle); + REG_FUNC(0xDD5CA10B, sceNgsRackRelease); + REG_FUNC(0x534B6E3F, sceNgsRackSetParamErrorCallback); + REG_FUNC(0x1DDBEBEB, sceNgsVoiceInit); + REG_FUNC(0xFA0A0F34, sceNgsVoicePlay); + REG_FUNC(0xBB13373D, sceNgsVoiceKeyOff); + REG_FUNC(0x0E291AAD, sceNgsVoiceKill); + REG_FUNC(0xD7786E99, sceNgsVoicePause); + REG_FUNC(0x54CFB981, sceNgsVoiceResume); + REG_FUNC(0x8A88E665, sceNgsVoiceSetPreset); + REG_FUNC(0xAB6BEF8F, sceNgsVoiceLockParams); + REG_FUNC(0x3D46D8A7, sceNgsVoiceUnlockParams); + REG_FUNC(0xFB8174B1, sceNgsVoiceSetParamsBlock); + REG_FUNC(0x9AB87E71, sceNgsVoiceBypassModule); + REG_FUNC(0x24E909A8, sceNgsVoiceSetModuleCallback); + REG_FUNC(0x17A6F564, sceNgsVoiceSetFinishedCallback); + REG_FUNC(0xC9B8C0B4, sceNgsVoiceGetStateData); + REG_FUNC(0x5551410D, sceNgsVoiceGetInfo); + REG_FUNC(0xB307185E, sceNgsVoiceGetModuleType); + REG_FUNC(0x431BF3AB, sceNgsVoiceGetModuleBypass); + REG_FUNC(0xD668B49C, sceNgsPatchCreateRouting); + REG_FUNC(0x98703DBC, sceNgsPatchGetInfo); + REG_FUNC(0x01A52E3A, sceNgsVoiceGetOutputPatch); + REG_FUNC(0xD0C9AE5A, sceNgsPatchRemoveRouting); //REG_FUNC(0xA3C807BC, sceNgsVoicePatchSetVolume); - //REG_FUNC(0xBD6F57F0, sceNgsVoicePatchSetVolumes); - //REG_FUNC(0xA0F5402D, sceNgsVoicePatchSetVolumesMatrix); - //REG_FUNC(0xF6B68C31, sceNgsVoiceDefGetEnvelopeBuss); - //REG_FUNC(0x9DCF50F5, sceNgsVoiceDefGetReverbBuss); - //REG_FUNC(0x214485D6, sceNgsVoiceDefGetPauserBuss); - //REG_FUNC(0xE0AC8776, sceNgsVoiceDefGetMixerBuss); - //REG_FUNC(0x79A121D1, sceNgsVoiceDefGetMasterBuss); - //REG_FUNC(0x0E0ACB68, sceNgsVoiceDefGetCompressorBuss); - //REG_FUNC(0x1AF83512, sceNgsVoiceDefGetCompressorSideChainBuss); - //REG_FUNC(0xAAD90DEB, sceNgsVoiceDefGetDistortionBuss); - //REG_FUNC(0xF964120E, sceNgsVoiceDefGetEqBuss); - //REG_FUNC(0xE9B572B7, sceNgsVoiceDefGetTemplate1); - //REG_FUNC(0x0D5399CF, sceNgsVoiceDefGetSimpleVoice); - //REG_FUNC(0x1F51C2BA, sceNgsVoiceDefGetSasEmuVoice); - //REG_FUNC(0x4CBE08F3, sceNgsVoiceGetParamsOutOfRange); - //REG_FUNC(0x14EF65A0, sceNgsVoiceDefGetAtrac9Voice); - //REG_FUNC(0x4D705E3E, sceNgsVoiceDefGetDelayBuss); - //REG_FUNC(0x5FD8AEDB, sceSulphaNgsGetDefaultConfig); - //REG_FUNC(0x793E3E8C, sceSulphaNgsGetNeededMemory); - //REG_FUNC(0xAFCD824F, sceSulphaNgsInit); - //REG_FUNC(0xD124BFB1, sceSulphaNgsShutdown); - //REG_FUNC(0x2F3F7515, sceSulphaNgsSetSynthName); - //REG_FUNC(0x251AF6A9, sceSulphaNgsSetRackName); - //REG_FUNC(0x508975BD, sceSulphaNgsSetVoiceName); - //REG_FUNC(0x54EC5B8D, sceSulphaNgsSetSampleName); - //REG_FUNC(0xDC7C0F05, sceSulphaNgsTrace); - //REG_FUNC(0x5C71FE09, sceNgsModuleGetNumPresets); - //REG_FUNC(0xC58298A7, sceNgsModuleGetPreset); + REG_FUNC(0xBD6F57F0, sceNgsVoicePatchSetVolumes); + REG_FUNC(0xA0F5402D, sceNgsVoicePatchSetVolumesMatrix); + REG_FUNC(0xF6B68C31, sceNgsVoiceDefGetEnvelopeBuss); + REG_FUNC(0x9DCF50F5, sceNgsVoiceDefGetReverbBuss); + REG_FUNC(0x214485D6, sceNgsVoiceDefGetPauserBuss); + REG_FUNC(0xE0AC8776, sceNgsVoiceDefGetMixerBuss); + REG_FUNC(0x79A121D1, sceNgsVoiceDefGetMasterBuss); + REG_FUNC(0x0E0ACB68, sceNgsVoiceDefGetCompressorBuss); + REG_FUNC(0x1AF83512, sceNgsVoiceDefGetCompressorSideChainBuss); + REG_FUNC(0xAAD90DEB, sceNgsVoiceDefGetDistortionBuss); + REG_FUNC(0xF964120E, sceNgsVoiceDefGetEqBuss); + REG_FUNC(0xE9B572B7, sceNgsVoiceDefGetTemplate1); + REG_FUNC(0x0D5399CF, sceNgsVoiceDefGetSimpleVoice); + REG_FUNC(0x1F51C2BA, sceNgsVoiceDefGetSasEmuVoice); + REG_FUNC(0x4CBE08F3, sceNgsVoiceGetParamsOutOfRange); + REG_FUNC(0x14EF65A0, sceNgsVoiceDefGetAtrac9Voice); + REG_FUNC(0x4D705E3E, sceNgsVoiceDefGetDelayBuss); + REG_FUNC(0x5FD8AEDB, sceSulphaNgsGetDefaultConfig); + REG_FUNC(0x793E3E8C, sceSulphaNgsGetNeededMemory); + REG_FUNC(0xAFCD824F, sceSulphaNgsInit); + REG_FUNC(0xD124BFB1, sceSulphaNgsShutdown); + REG_FUNC(0x2F3F7515, sceSulphaNgsSetSynthName); + REG_FUNC(0x251AF6A9, sceSulphaNgsSetRackName); + REG_FUNC(0x508975BD, sceSulphaNgsSetVoiceName); + REG_FUNC(0x54EC5B8D, sceSulphaNgsSetSampleName); + REG_FUNC(0xDC7C0F05, sceSulphaNgsTrace); + REG_FUNC(0x5C71FE09, sceNgsModuleGetNumPresets); + REG_FUNC(0xC58298A7, sceNgsModuleGetPreset); }); diff --git a/rpcs3/Emu/ARMv7/Modules/sceRtc.cpp b/rpcs3/Emu/ARMv7/Modules/sceRtc.cpp index 72d81d8e15..96d44a3686 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceRtc.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceRtc.cpp @@ -4,6 +4,192 @@ extern psv_log_base sceRtc; +u32 sceRtcGetTickResolution() +{ + throw __FUNCTION__; +} + +s32 sceRtcGetCurrentTick(vm::psv::ptr pTick) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetCurrentClock(vm::psv::ptr pTime, s32 iTimeZone) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetCurrentClockLocalTime(vm::psv::ptr pTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetCurrentNetworkTick(vm::psv::ptr pTick) +{ + throw __FUNCTION__; +} + +s32 sceRtcConvertUtcToLocalTime(vm::psv::ptr pUtc, vm::psv::ptr pLocalTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcConvertLocalTimeToUtc(vm::psv::ptr pLocalTime, vm::psv::ptr pUtc) +{ + throw __FUNCTION__; +} + +s32 sceRtcIsLeapYear(s32 year) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetDaysInMonth(s32 year, s32 month) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetDayOfWeek(s32 year, s32 month, s32 day) +{ + throw __FUNCTION__; +} + +s32 sceRtcCheckValid(vm::psv::ptr pTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcSetTime_t(vm::psv::ptr pTime, time_t iTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcSetTime64_t(vm::psv::ptr pTime, u64 ullTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetTime_t(vm::psv::ptr pTime, vm::psv::ptr piTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetTime64_t(vm::psv::ptr pTime, vm::psv::ptr pullTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcSetDosTime(vm::psv::ptr pTime, u32 uiDosTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetDosTime(vm::psv::ptr pTime, vm::psv::ptr puiDosTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcSetWin32FileTime(vm::psv::ptr pTime, u64 ulWin32Time) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetWin32FileTime(vm::psv::ptr pTime, vm::psv::ptr ulWin32Time) +{ + throw __FUNCTION__; +} + +s32 sceRtcSetTick(vm::psv::ptr pTime, vm::psv::ptr pTick) +{ + throw __FUNCTION__; +} + +s32 sceRtcGetTick(vm::psv::ptr pTime, vm::psv::ptr pTick) +{ + throw __FUNCTION__; +} + +s32 sceRtcCompareTick(vm::psv::ptr pTick1, vm::psv::ptr pTick2) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddTicks(vm::psv::ptr pTick0, vm::psv::ptr pTick1, u64 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddMicroseconds(vm::psv::ptr pTick0, vm::psv::ptr pTick1, u64 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddSeconds(vm::psv::ptr pTick0, vm::psv::ptr pTick1, u64 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddMinutes(vm::psv::ptr pTick0, vm::psv::ptr pTick1, u64 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddHours(vm::psv::ptr pTick0, vm::psv::ptr pTick1, s32 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddDays(vm::psv::ptr pTick0, vm::psv::ptr pTick1, s32 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddWeeks(vm::psv::ptr pTick0, vm::psv::ptr pTick1, s32 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddMonths(vm::psv::ptr pTick0, vm::psv::ptr pTick1, s32 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcTickAddYears(vm::psv::ptr pTick0, vm::psv::ptr pTick1, s32 lAdd) +{ + throw __FUNCTION__; +} + +s32 sceRtcFormatRFC2822(vm::psv::ptr pszDateTime, vm::psv::ptr pUtc, s32 iTimeZoneMinutes) +{ + throw __FUNCTION__; +} + +s32 sceRtcFormatRFC2822LocalTime(vm::psv::ptr pszDateTime, vm::psv::ptr pUtc) +{ + throw __FUNCTION__; +} + +s32 sceRtcFormatRFC3339(vm::psv::ptr pszDateTime, vm::psv::ptr pUtc, s32 iTimeZoneMinutes) +{ + throw __FUNCTION__; +} + +s32 sceRtcFormatRFC3339LocalTime(vm::psv::ptr pszDateTime, vm::psv::ptr pUtc) +{ + throw __FUNCTION__; +} + +s32 sceRtcParseDateTime(vm::psv::ptr pUtc, vm::psv::ptr pszDateTime) +{ + throw __FUNCTION__; +} + +s32 sceRtcParseRFC3339(vm::psv::ptr pUtc, vm::psv::ptr pszDateTime) +{ + throw __FUNCTION__; +} + + #define REG_FUNC(nid, name) reg_psv_func(nid, &sceRtc, #name, name) psv_log_base sceRtc("SceRtc", []() @@ -12,41 +198,41 @@ psv_log_base sceRtc("SceRtc", []() sceRtc.on_unload = nullptr; sceRtc.on_stop = nullptr; - //REG_FUNC(0x23F79274, sceRtcGetCurrentTick); - //REG_FUNC(0xCDDD25FE, sceRtcGetCurrentNetworkTick); - //REG_FUNC(0x70FDE8F1, sceRtcGetCurrentClock); - //REG_FUNC(0x0572EDDC, sceRtcGetCurrentClockLocalTime); - //REG_FUNC(0x1282C436, sceRtcConvertUtcToLocalTime); - //REG_FUNC(0x0A05E201, sceRtcConvertLocalTimeToUtc); - //REG_FUNC(0x42CA8EB5, sceRtcFormatRFC2822LocalTime); - //REG_FUNC(0x147F2138, sceRtcFormatRFC2822); - //REG_FUNC(0x742250A9, sceRtcFormatRFC3339LocalTime); - //REG_FUNC(0xCCEA2B54, sceRtcFormatRFC3339); - //REG_FUNC(0xF17FD8B5, sceRtcIsLeapYear); - //REG_FUNC(0x49EB4556, sceRtcGetDaysInMonth); - //REG_FUNC(0x2F3531EB, sceRtcGetDayOfWeek); - //REG_FUNC(0xD7622935, sceRtcCheckValid); - //REG_FUNC(0x3A332F81, sceRtcSetTime_t); - //REG_FUNC(0xA6C36B6A, sceRtcSetTime64_t); - //REG_FUNC(0x8DE6FEB7, sceRtcGetTime_t); - //REG_FUNC(0xC995DE02, sceRtcGetTime64_t); - //REG_FUNC(0xF8B22B07, sceRtcSetDosTime); - //REG_FUNC(0x92ABEBAF, sceRtcGetDosTime); - //REG_FUNC(0xA79A8846, sceRtcSetWin32FileTime); - //REG_FUNC(0x8A95E119, sceRtcGetWin32FileTime); - //REG_FUNC(0x811313B3, sceRtcGetTickResolution); - //REG_FUNC(0xCD89F464, sceRtcSetTick); - //REG_FUNC(0xF2B238E2, sceRtcGetTick); - //REG_FUNC(0xC7385158, sceRtcCompareTick); - //REG_FUNC(0x4559E2DB, sceRtcTickAddTicks); - //REG_FUNC(0xAE26D920, sceRtcTickAddMicroseconds); - //REG_FUNC(0x979AFD79, sceRtcTickAddSeconds); - //REG_FUNC(0x4C358871, sceRtcTickAddMinutes); - //REG_FUNC(0x6F193F55, sceRtcTickAddHours); - //REG_FUNC(0x58DE3C70, sceRtcTickAddDays); - //REG_FUNC(0xE713C640, sceRtcTickAddWeeks); - //REG_FUNC(0x6321B4AA, sceRtcTickAddMonths); - //REG_FUNC(0xDF6C3E1B, sceRtcTickAddYears); - //REG_FUNC(0x2347CE12, sceRtcParseDateTime); - //REG_FUNC(0x2D18AEEC, sceRtcParseRFC3339); + REG_FUNC(0x23F79274, sceRtcGetCurrentTick); + REG_FUNC(0xCDDD25FE, sceRtcGetCurrentNetworkTick); + REG_FUNC(0x70FDE8F1, sceRtcGetCurrentClock); + REG_FUNC(0x0572EDDC, sceRtcGetCurrentClockLocalTime); + REG_FUNC(0x1282C436, sceRtcConvertUtcToLocalTime); + REG_FUNC(0x0A05E201, sceRtcConvertLocalTimeToUtc); + REG_FUNC(0x42CA8EB5, sceRtcFormatRFC2822LocalTime); + REG_FUNC(0x147F2138, sceRtcFormatRFC2822); + REG_FUNC(0x742250A9, sceRtcFormatRFC3339LocalTime); + REG_FUNC(0xCCEA2B54, sceRtcFormatRFC3339); + REG_FUNC(0xF17FD8B5, sceRtcIsLeapYear); + REG_FUNC(0x49EB4556, sceRtcGetDaysInMonth); + REG_FUNC(0x2F3531EB, sceRtcGetDayOfWeek); + REG_FUNC(0xD7622935, sceRtcCheckValid); + REG_FUNC(0x3A332F81, sceRtcSetTime_t); + REG_FUNC(0xA6C36B6A, sceRtcSetTime64_t); + REG_FUNC(0x8DE6FEB7, sceRtcGetTime_t); + REG_FUNC(0xC995DE02, sceRtcGetTime64_t); + REG_FUNC(0xF8B22B07, sceRtcSetDosTime); + REG_FUNC(0x92ABEBAF, sceRtcGetDosTime); + REG_FUNC(0xA79A8846, sceRtcSetWin32FileTime); + REG_FUNC(0x8A95E119, sceRtcGetWin32FileTime); + REG_FUNC(0x811313B3, sceRtcGetTickResolution); + REG_FUNC(0xCD89F464, sceRtcSetTick); + REG_FUNC(0xF2B238E2, sceRtcGetTick); + REG_FUNC(0xC7385158, sceRtcCompareTick); + REG_FUNC(0x4559E2DB, sceRtcTickAddTicks); + REG_FUNC(0xAE26D920, sceRtcTickAddMicroseconds); + REG_FUNC(0x979AFD79, sceRtcTickAddSeconds); + REG_FUNC(0x4C358871, sceRtcTickAddMinutes); + REG_FUNC(0x6F193F55, sceRtcTickAddHours); + REG_FUNC(0x58DE3C70, sceRtcTickAddDays); + REG_FUNC(0xE713C640, sceRtcTickAddWeeks); + REG_FUNC(0x6321B4AA, sceRtcTickAddMonths); + REG_FUNC(0xDF6C3E1B, sceRtcTickAddYears); + REG_FUNC(0x2347CE12, sceRtcParseDateTime); + REG_FUNC(0x2D18AEEC, sceRtcParseRFC3339); }); diff --git a/rpcs3/Emu/ARMv7/Modules/sceSas.cpp b/rpcs3/Emu/ARMv7/Modules/sceSas.cpp index 0db6b65e16..3d11ff98f1 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceSas.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceSas.cpp @@ -4,6 +4,152 @@ extern psv_log_base sceSas; +s32 sceSasGetNeededMemorySize(vm::psv::ptr config, vm::psv::ptr outSize) +{ + throw __FUNCTION__; +} + +s32 sceSasInit(vm::psv::ptr config, vm::psv::ptr buffer, u32 bufferSize) +{ + throw __FUNCTION__; +} + +s32 sceSasInitWithGrain(vm::psv::ptr config, u32 grain, vm::psv::ptr buffer, u32 bufferSize) +{ + throw __FUNCTION__; +} + +s32 sceSasExit(vm::psv::ptr> outBuffer, vm::psv::ptr outBufferSize) +{ + throw __FUNCTION__; +} + +s32 sceSasSetGrain(u32 grain) +{ + throw __FUNCTION__; +} + +s32 sceSasGetGrain() +{ + throw __FUNCTION__; +} + +s32 sceSasSetOutputmode(u32 outputmode) +{ + throw __FUNCTION__; +} + +s32 sceSasGetOutputmode() +{ + throw __FUNCTION__; +} + +s32 sceSasCore(vm::psv::ptr out) +{ + throw __FUNCTION__; +} + +s32 sceSasCoreWithMix(vm::psv::ptr inOut, s32 lvol, s32 rvol) +{ + throw __FUNCTION__; +} + +s32 sceSasSetVoice(s32 iVoiceNum, vm::psv::ptr vagBuf, u32 size, u32 loopflag) +{ + throw __FUNCTION__; +} + +s32 sceSasSetVoicePCM(s32 iVoiceNum, vm::psv::ptr pcmBuf, u32 size, s32 loopsize) +{ + throw __FUNCTION__; +} + +s32 sceSasSetNoise(s32 iVoiceNum, u32 uClk) +{ + throw __FUNCTION__; +} + +s32 sceSasSetVolume(s32 iVoiceNum, s32 l, s32 r, s32 wl, s32 wr) +{ + throw __FUNCTION__; +} + +s32 sceSasSetPitch(s32 iVoiceNum, s32 pitch) +{ + throw __FUNCTION__; +} + +s32 sceSasSetADSR(s32 iVoiceNum, u32 flag, u32 ar, u32 dr, u32 sr, u32 rr) +{ + throw __FUNCTION__; +} + +s32 sceSasSetADSRmode(s32 iVoiceNum, u32 flag, u32 am, u32 dm, u32 sm, u32 rm) +{ + throw __FUNCTION__; +} + +s32 sceSasSetSL(s32 iVoiceNum, u32 sl) +{ + throw __FUNCTION__; +} + +s32 sceSasSetSimpleADSR(s32 iVoiceNum, u16 adsr1, u16 adsr2) +{ + throw __FUNCTION__; +} + +s32 sceSasSetKeyOn(s32 iVoiceNum) +{ + throw __FUNCTION__; +} + +s32 sceSasSetKeyOff(s32 iVoiceNum) +{ + throw __FUNCTION__; +} + +s32 sceSasSetPause(s32 iVoiceNum, u32 pauseFlag) +{ + throw __FUNCTION__; +} + +s32 sceSasGetPauseState(s32 iVoiceNum) +{ + throw __FUNCTION__; +} + +s32 sceSasGetEndState(s32 iVoiceNum) +{ + throw __FUNCTION__; +} + +s32 sceSasGetEnvelope(s32 iVoiceNum) +{ + throw __FUNCTION__; +} + +s32 sceSasSetEffect(s32 drySwitch, s32 wetSwitch) +{ + throw __FUNCTION__; +} + +s32 sceSasSetEffectType(s32 type) +{ + throw __FUNCTION__; +} + +s32 sceSasSetEffectVolume(s32 valL, s32 valR) +{ + throw __FUNCTION__; +} + +s32 sceSasSetEffectParam(u32 delayTime, u32 feedback) +{ + throw __FUNCTION__; +} + + #define REG_FUNC(nid, name) reg_psv_func(nid, &sceSas, #name, name) psv_log_base sceSas("SceSas", []() @@ -28,36 +174,36 @@ psv_log_base sceSas("SceSas", []() //REG_FUNC(0xC72F1EEF, sceAsRender); //REG_FUNC(0xCE23F057, sceAsLockUpdate); //REG_FUNC(0x8BEF3C92, sceAsUnlockUpdate); - //REG_FUNC(0x180C6824, sceSasGetNeededMemorySize); - //REG_FUNC(0x449B5974, sceSasInit); - //REG_FUNC(0x820D5F82, sceSasInitWithGrain); - //REG_FUNC(0xBB7D6790, sceSasExit); - //REG_FUNC(0x2B4A207C, sceSasSetGrain); - //REG_FUNC(0x2BEA45BC, sceSasGetGrain); - //REG_FUNC(0x44DDB3C4, sceSasSetOutputmode); - //REG_FUNC(0x2C36E150, sceSasGetOutputmode); - //REG_FUNC(0x7A4672B2, sceSasCore); - //REG_FUNC(0xBD496983, sceSasCoreWithMix); - //REG_FUNC(0x2B75F9BC, sceSasSetVoice); - //REG_FUNC(0xB1756EFC, sceSasSetVoicePCM); - //REG_FUNC(0xF1C63CB9, sceSasSetNoise); - //REG_FUNC(0x0BE8204D, sceSasSetVolume); + REG_FUNC(0x180C6824, sceSasGetNeededMemorySize); + REG_FUNC(0x449B5974, sceSasInit); + REG_FUNC(0x820D5F82, sceSasInitWithGrain); + REG_FUNC(0xBB7D6790, sceSasExit); + REG_FUNC(0x2B4A207C, sceSasSetGrain); + REG_FUNC(0x2BEA45BC, sceSasGetGrain); + REG_FUNC(0x44DDB3C4, sceSasSetOutputmode); + REG_FUNC(0x2C36E150, sceSasGetOutputmode); + REG_FUNC(0x7A4672B2, sceSasCore); + REG_FUNC(0xBD496983, sceSasCoreWithMix); + REG_FUNC(0x2B75F9BC, sceSasSetVoice); + REG_FUNC(0xB1756EFC, sceSasSetVoicePCM); + REG_FUNC(0xF1C63CB9, sceSasSetNoise); + REG_FUNC(0x0BE8204D, sceSasSetVolume); //REG_FUNC(0x011788BE, sceSasSetDistortion); - //REG_FUNC(0x2C48A08C, sceSasSetPitch); - //REG_FUNC(0x18A5EFA2, sceSasSetADSR); - //REG_FUNC(0x5207F9D2, sceSasSetADSRmode); - //REG_FUNC(0xDE6227B8, sceSasSetSL); - //REG_FUNC(0xECCE0DB8, sceSasSetSimpleADSR); - //REG_FUNC(0xC838DB6F, sceSasSetKeyOn); - //REG_FUNC(0x5E42ADAB, sceSasSetKeyOff); - //REG_FUNC(0x59C7A9DF, sceSasSetPause); - //REG_FUNC(0x007E63E6, sceSasGetEndState); - //REG_FUNC(0xFD1A0CBF, sceSasGetPauseState); - //REG_FUNC(0x296A9910, sceSasGetEnvelope); - //REG_FUNC(0xB0444E69, sceSasSetEffect); - //REG_FUNC(0xCDF2DDD5, sceSasSetEffectType); - //REG_FUNC(0x55EDDBFA, sceSasSetEffectVolume); - //REG_FUNC(0xBAD546A0, sceSasSetEffectParam); + REG_FUNC(0x2C48A08C, sceSasSetPitch); + REG_FUNC(0x18A5EFA2, sceSasSetADSR); + REG_FUNC(0x5207F9D2, sceSasSetADSRmode); + REG_FUNC(0xDE6227B8, sceSasSetSL); + REG_FUNC(0xECCE0DB8, sceSasSetSimpleADSR); + REG_FUNC(0xC838DB6F, sceSasSetKeyOn); + REG_FUNC(0x5E42ADAB, sceSasSetKeyOff); + REG_FUNC(0x59C7A9DF, sceSasSetPause); + REG_FUNC(0x007E63E6, sceSasGetEndState); + REG_FUNC(0xFD1A0CBF, sceSasGetPauseState); + REG_FUNC(0x296A9910, sceSasGetEnvelope); + REG_FUNC(0xB0444E69, sceSasSetEffect); + REG_FUNC(0xCDF2DDD5, sceSasSetEffectType); + REG_FUNC(0x55EDDBFA, sceSasSetEffectVolume); + REG_FUNC(0xBAD546A0, sceSasSetEffectParam); //REG_FUNC(0xB6642276, sceSasGetDryPeak); //REG_FUNC(0x4314F0E9, sceSasGetWetPeak); //REG_FUNC(0x1568017A, sceSasGetPreMasterPeak); diff --git a/rpcs3/Emu/ARMv7/Modules/sceSystemGesture.cpp b/rpcs3/Emu/ARMv7/Modules/sceSystemGesture.cpp index b70a5a27c4..0e894f79fb 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceSystemGesture.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceSystemGesture.cpp @@ -2,8 +2,250 @@ #include "Emu/System.h" #include "Emu/ARMv7/PSVFuncList.h" +#include "sceTouch.h" + extern psv_log_base sceSystemGesture; +enum SceSystemGestureTouchState : s32 +{ + SCE_SYSTEM_GESTURE_TOUCH_STATE_INACTIVE = 0, + SCE_SYSTEM_GESTURE_TOUCH_STATE_BEGIN = 1, + SCE_SYSTEM_GESTURE_TOUCH_STATE_ACTIVE = 2, + SCE_SYSTEM_GESTURE_TOUCH_STATE_END = 3 +}; + +enum SceSystemGestureType : s32 +{ + SCE_SYSTEM_GESTURE_TYPE_TAP = 1, + SCE_SYSTEM_GESTURE_TYPE_DRAG = 2, + SCE_SYSTEM_GESTURE_TYPE_TAP_AND_HOLD = 4, + SCE_SYSTEM_GESTURE_TYPE_PINCH_OUT_IN = 8 +}; + +struct SceSystemGestureVector2 +{ + s16 x; + s16 y; +}; + +struct SceSystemGestureRectangle +{ + s16 x; + s16 y; + s16 width; + s16 height; +}; + +struct SceSystemGesturePrimitiveTouchEvent +{ + SceSystemGestureTouchState eventState; + u16 primitiveID; + SceSystemGestureVector2 pressedPosition; + s16 pressedForce; + SceSystemGestureVector2 currentPosition; + s16 currentForce; + SceSystemGestureVector2 deltaVector; + s16 deltaForce; + u64 deltaTime; + u64 elapsedTime; + u8 reserved[56]; +}; + +struct SceSystemGesturePrimitiveTouchRecognizerParameter +{ + u8 reserved[64]; +}; + +struct SceSystemGestureTouchRecognizer +{ + u64 reserved[307]; +}; + +struct SceSystemGestureTouchRecognizerInformation +{ + SceSystemGestureType gestureType; + u32 touchPanelPortID; + SceSystemGestureRectangle rectangle; + u64 updatedTime; + u8 reserved[256]; +}; + +struct SceSystemGestureTapRecognizerParameter +{ + u8 maxTapCount; + u8 reserved[63]; +}; + +struct SceSystemGestureDragRecognizerParameter +{ + u8 reserved[64]; +}; + +struct SceSystemGestureTapAndHoldRecognizerParameter +{ + u64 timeToInvokeEvent; + u8 reserved[56]; +}; + +struct SceSystemGesturePinchOutInRecognizerParameter +{ + u8 reserved[64]; +}; + +union SceSystemGestureTouchRecognizerParameter +{ + u8 parameterBuf[64]; + SceSystemGestureTapRecognizerParameter tap; + SceSystemGestureDragRecognizerParameter drag; + SceSystemGestureTapAndHoldRecognizerParameter tapAndHold; + SceSystemGesturePinchOutInRecognizerParameter pinchOutIn; +}; + +struct SceSystemGestureTapEventProperty +{ + u16 primitiveID; + SceSystemGestureVector2 position; + u8 tappedCount; + u8 reserved[57]; +}; + +struct SceSystemGestureDragEventProperty +{ + u16 primitiveID; + SceSystemGestureVector2 deltaVector; + SceSystemGestureVector2 currentPosition; + SceSystemGestureVector2 pressedPosition; + u8 reserved[50]; +}; + +struct SceSystemGestureTapAndHoldEventProperty +{ + u16 primitiveID; + SceSystemGestureVector2 pressedPosition; + u8 reserved[58]; +}; + +struct SceSystemGesturePinchOutInEventProperty +{ + float scale; + + struct + { + u16 primitiveID; + SceSystemGestureVector2 currentPosition; + SceSystemGestureVector2 deltaVector; + SceSystemGestureVector2 pairedPosition; + } primitive[2]; + + u8 reserved[32]; +}; + +struct SceSystemGestureTouchEvent +{ + u32 eventID; + SceSystemGestureTouchState eventState; + SceSystemGestureType gestureType; + u8 padding[4]; + u64 updatedTime; + + union + { + u8 propertyBuf[64]; + SceSystemGestureTapEventProperty tap; + SceSystemGestureDragEventProperty drag; + SceSystemGestureTapAndHoldEventProperty tapAndHold; + SceSystemGesturePinchOutInEventProperty pinchOutIn; + } property; + + u8 reserved[56]; +}; + +s32 sceSystemGestureInitializePrimitiveTouchRecognizer(vm::psv::ptr parameter) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureFinalizePrimitiveTouchRecognizer() +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureResetPrimitiveTouchRecognizer() +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureUpdatePrimitiveTouchRecognizer(vm::psv::ptr pFrontData, vm::psv::ptr pBackData) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetPrimitiveTouchEvents(vm::psv::ptr primitiveEventBuffer, const u32 capacityOfBuffer, vm::psv::ptr numberOfEvent) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetPrimitiveTouchEventsCount() +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetPrimitiveTouchEventByIndex(const u32 index, vm::psv::ptr primitiveTouchEvent) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetPrimitiveTouchEventByPrimitiveID(const u16 primitiveID, vm::psv::ptr primitiveTouchEvent) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureCreateTouchRecognizer(vm::psv::ptr touchRecognizer, const SceSystemGestureType gestureType, const u8 touchPanelPortID, vm::psv::ptr rectangle, vm::psv::ptr touchRecognizerParameter) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetTouchRecognizerInformation(vm::psv::ptr touchRecognizer, vm::psv::ptr information) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureResetTouchRecognizer(vm::psv::ptr touchRecognizer) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureUpdateTouchRecognizer(vm::psv::ptr touchRecognizer) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureUpdateTouchRecognizerRectangle(vm::psv::ptr touchRecognizer, vm::psv::ptr rectangle) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetTouchEvents(vm::psv::ptr touchRecognizer, vm::psv::ptr eventBuffer, const u32 capacityOfBuffer, vm::psv::ptr numberOfEvent) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetTouchEventsCount(vm::psv::ptr touchRecognizer) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetTouchEventByIndex(vm::psv::ptr touchRecognizer, const u32 index, vm::psv::ptr touchEvent) +{ + throw __FUNCTION__; +} + +s32 sceSystemGestureGetTouchEventByEventID(vm::psv::ptr touchRecognizer, const u32 eventID, vm::psv::ptr touchEvent) +{ + throw __FUNCTION__; +} + + #define REG_FUNC(nid, name) reg_psv_func(nid, &sceSystemGesture, #name, name) psv_log_base sceSystemGesture("SceSystemGesture", []() @@ -12,21 +254,21 @@ psv_log_base sceSystemGesture("SceSystemGesture", []() sceSystemGesture.on_unload = nullptr; sceSystemGesture.on_stop = nullptr; - //REG_FUNC(0x6078A08B, sceSystemGestureInitializePrimitiveTouchRecognizer); - //REG_FUNC(0xFD5A6504, sceSystemGestureResetPrimitiveTouchRecognizer); - //REG_FUNC(0xB3875104, sceSystemGestureFinalizePrimitiveTouchRecognizer); - //REG_FUNC(0xDF4C665A, sceSystemGestureUpdatePrimitiveTouchRecognizer); - //REG_FUNC(0xC750D3DA, sceSystemGestureGetPrimitiveTouchEvents); - //REG_FUNC(0xBAB8ECCB, sceSystemGestureGetPrimitiveTouchEventsCount); - //REG_FUNC(0xE0577765, sceSystemGestureGetPrimitiveTouchEventByIndex); - //REG_FUNC(0x480564C9, sceSystemGestureGetPrimitiveTouchEventByPrimitiveID); - //REG_FUNC(0xC3367370, sceSystemGestureCreateTouchRecognizer); - //REG_FUNC(0xF0DB1AE5, sceSystemGestureGetTouchRecognizerInformation); - //REG_FUNC(0x0D941B90, sceSystemGestureResetTouchRecognizer); - //REG_FUNC(0x851FB144, sceSystemGestureUpdateTouchRecognizer); - //REG_FUNC(0xA9DB29F6, sceSystemGestureUpdateTouchRecognizerRectangle); - //REG_FUNC(0x789D867C, sceSystemGestureGetTouchEvents); - //REG_FUNC(0x13AD2218, sceSystemGestureGetTouchEventsCount); - //REG_FUNC(0x74724147, sceSystemGestureGetTouchEventByIndex); - //REG_FUNC(0x5570B83E, sceSystemGestureGetTouchEventByEventID); + REG_FUNC(0x6078A08B, sceSystemGestureInitializePrimitiveTouchRecognizer); + REG_FUNC(0xFD5A6504, sceSystemGestureResetPrimitiveTouchRecognizer); + REG_FUNC(0xB3875104, sceSystemGestureFinalizePrimitiveTouchRecognizer); + REG_FUNC(0xDF4C665A, sceSystemGestureUpdatePrimitiveTouchRecognizer); + REG_FUNC(0xC750D3DA, sceSystemGestureGetPrimitiveTouchEvents); + REG_FUNC(0xBAB8ECCB, sceSystemGestureGetPrimitiveTouchEventsCount); + REG_FUNC(0xE0577765, sceSystemGestureGetPrimitiveTouchEventByIndex); + REG_FUNC(0x480564C9, sceSystemGestureGetPrimitiveTouchEventByPrimitiveID); + REG_FUNC(0xC3367370, sceSystemGestureCreateTouchRecognizer); + REG_FUNC(0xF0DB1AE5, sceSystemGestureGetTouchRecognizerInformation); + REG_FUNC(0x0D941B90, sceSystemGestureResetTouchRecognizer); + REG_FUNC(0x851FB144, sceSystemGestureUpdateTouchRecognizer); + REG_FUNC(0xA9DB29F6, sceSystemGestureUpdateTouchRecognizerRectangle); + REG_FUNC(0x789D867C, sceSystemGestureGetTouchEvents); + REG_FUNC(0x13AD2218, sceSystemGestureGetTouchEventsCount); + REG_FUNC(0x74724147, sceSystemGestureGetTouchEventByIndex); + REG_FUNC(0x5570B83E, sceSystemGestureGetTouchEventByEventID); }); diff --git a/rpcs3/Emu/ARMv7/Modules/sceTouch.cpp b/rpcs3/Emu/ARMv7/Modules/sceTouch.cpp index ee13162e61..b6ce6ccc77 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceTouch.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceTouch.cpp @@ -2,40 +2,7 @@ #include "Emu/System.h" #include "Emu/ARMv7/PSVFuncList.h" -extern psv_log_base sceTouch; - -struct SceTouchPanelInfo -{ - s16 minAaX; - s16 minAaY; - s16 maxAaX; - s16 maxAaY; - s16 minDispX; - s16 minDispY; - s16 maxDispX; - s16 maxDispY; - u8 minForce; - u8 maxForce; - u8 rsv[30]; -}; - -struct SceTouchReport -{ - u8 id; - u8 force; - s16 x; - s16 y; - s8 rsv[8]; - u16 info; -}; - -struct SceTouchData -{ - u64 timeStamp; - u32 status; - u32 reportNum; - SceTouchReport report[8]; -}; +#include "sceTouch.h" s32 sceTouchGetPanelInfo(u32 port, vm::psv::ptr pPanelInfo) { diff --git a/rpcs3/Emu/ARMv7/Modules/sceTouch.h b/rpcs3/Emu/ARMv7/Modules/sceTouch.h new file mode 100644 index 0000000000..a71f6003c2 --- /dev/null +++ b/rpcs3/Emu/ARMv7/Modules/sceTouch.h @@ -0,0 +1,36 @@ +#pragma once + +struct SceTouchPanelInfo +{ + s16 minAaX; + s16 minAaY; + s16 maxAaX; + s16 maxAaY; + s16 minDispX; + s16 minDispY; + s16 maxDispX; + s16 maxDispY; + u8 minForce; + u8 maxForce; + u8 rsv[30]; +}; + +struct SceTouchReport +{ + u8 id; + u8 force; + s16 x; + s16 y; + s8 rsv[8]; + u16 info; +}; + +struct SceTouchData +{ + u64 timeStamp; + u32 status; + u32 reportNum; + SceTouchReport report[8]; +}; + +extern psv_log_base sceTouch; diff --git a/rpcs3/Emu/ARMv7/Modules/sceVoice.cpp b/rpcs3/Emu/ARMv7/Modules/sceVoice.cpp index cb0cfc8f53..cddc5f43d2 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceVoice.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceVoice.cpp @@ -174,7 +174,7 @@ s32 sceVoiceDeletePort(u32 portId) throw __FUNCTION__; } -s32 sceVoiceWriteToIPort(u32 ips, vm::psv::ptr data, vm::psv::ptr size, int16_t frameGaps) +s32 sceVoiceWriteToIPort(u32 ips, vm::psv::ptr data, vm::psv::ptr size, s16 frameGaps) { throw __FUNCTION__; } diff --git a/rpcs3/Emu/Memory/vm_ptr.h b/rpcs3/Emu/Memory/vm_ptr.h index ead6e577a0..0c588cd7ee 100644 --- a/rpcs3/Emu/Memory/vm_ptr.h +++ b/rpcs3/Emu/Memory/vm_ptr.h @@ -108,6 +108,8 @@ namespace vm AT m_addr; public: + static_assert(!std::is_pointer::value, "vm::_ptr_base<> error: invalid type (pointer)"); + static_assert(!std::is_reference::value, "vm::_ptr_base<> error: invalid type (reference)"); typedef typename std::remove_cv::type type; __forceinline static const u32 data_size() diff --git a/rpcs3/Emu/SysCalls/Modules/sceNp.h b/rpcs3/Emu/SysCalls/Modules/sceNp.h index ddce57f3dd..35be94177a 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNp.h +++ b/rpcs3/Emu/SysCalls/Modules/sceNp.h @@ -1957,7 +1957,7 @@ struct SceNpScoreClanRankData CellRtcTick recordDate; SceNpId npId; SceNpOnlineName onlineName; - uint8_t reserved[32]; + u8 reserved[32]; }; // Clan ranking information to be obtained for a specified clan ID diff --git a/rpcs3/Emu/SysCalls/Modules/sceNpClans.h b/rpcs3/Emu/SysCalls/Modules/sceNpClans.h index faf47e3062..d870d5bd07 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNpClans.h +++ b/rpcs3/Emu/SysCalls/Modules/sceNpClans.h @@ -109,7 +109,7 @@ enum // Request handle for clan API struct SceNpClansRequest; -typedef SceNpClansRequest* SceNpClansRequestHandle; +typedef vm::ptr SceNpClansRequestHandle; // Paging request structure struct SceNpClansPagingRequest diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 69cbaaf944..1e6d47a50e 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -341,6 +341,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index 7935e1ddc6..ac1531ee30 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -1498,5 +1498,8 @@ Emu\CPU\ARMv7\Modules + + Emu\CPU\ARMv7\Modules + \ No newline at end of file