mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-29 12:15:39 +00:00
fix(mbus): restore routing and user setting arguments
This commit is contained in:
1 parent
952b8ab038
commit
ab4a949f07
2 files changed
+23
-20
No files matched your search
@@ -5,6 +5,7 @@ struct MbusDeviceInfo;
|
||||
struct MbusSimulatedHandleStatus;
|
||||
struct MbusSparkState;
|
||||
struct MbusDriverCallbacks;
|
||||
struct MbusUsbPowerEntry;
|
||||
struct MbusEvent;
|
||||
struct MbusEventCallbacks;
|
||||
struct MbusProcessInfo;
|
||||
@@ -466,27 +467,27 @@ int APS5_VABI sceMbusResolveByDeviceId(std::int32_t deviceClass, std::uint64_t d
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusResolveByHandle() {
|
||||
int APS5_VABI sceMbusResolveByHandle(std::int32_t deviceClass, std::int32_t handle, std::int32_t flags) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusResolveByPlayerId() {
|
||||
int APS5_VABI sceMbusResolveByPlayerId(std::uint32_t deviceClass, std::uint32_t playerId, std::uint32_t first, std::uint32_t second) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusResolveByUserId() {
|
||||
int APS5_VABI sceMbusResolveByUserId(std::uint32_t deviceClass, std::int32_t userId, std::uint32_t first, std::uint32_t second) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetAutoLoginMode() {
|
||||
int APS5_VABI sceMbusSetAutoLoginMode(std::uint32_t mode) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetCameraAppModuleFocus() {
|
||||
int APS5_VABI sceMbusSetCameraAppModuleFocus(std::int32_t moduleId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -496,37 +497,37 @@ int APS5_VABI sceMbusSetDeviceFunctionState() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetDuckingSetting() {
|
||||
int APS5_VABI sceMbusSetDuckingSetting(std::int32_t setting) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetProxy() {
|
||||
int APS5_VABI sceMbusSetProxy(std::int32_t processId, std::int32_t first, std::int32_t second, std::int32_t third, std::uint64_t deviceId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetRoutingMode() {
|
||||
int APS5_VABI sceMbusSetRoutingMode(std::int32_t mode) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetScratchData() {
|
||||
int APS5_VABI sceMbusSetScratchData(std::uint64_t deviceId, std::int32_t first, std::int32_t second) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetScratchDataUpdatedEventMask() {
|
||||
int APS5_VABI sceMbusSetScratchDataUpdatedEventMask(std::uint32_t mask) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetSocialScreenAudioMode() {
|
||||
int APS5_VABI sceMbusSetSocialScreenAudioMode(std::int32_t first, std::int32_t second) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetTestFlag() {
|
||||
int APS5_VABI sceMbusSetTestFlag(std::uint32_t flags) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -536,17 +537,17 @@ int APS5_VABI sceMbusSetThreadParam(std::int32_t priority, std::uint64_t affinit
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetUsbPowerBlackList() {
|
||||
int APS5_VABI sceMbusSetUsbPowerBlackList(std::int32_t first, std::uint8_t count, const MbusUsbPowerEntry* entries) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetUserMuteStatus() {
|
||||
int APS5_VABI sceMbusSetUserMuteStatus(std::int32_t userId, std::int32_t status) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusSetVolumeDown() {
|
||||
int APS5_VABI sceMbusSetVolumeDown(std::uint32_t deviceClass, std::uint8_t volume) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -556,7 +557,7 @@ int APS5_VABI sceMbusStartAudioOutAuxBroadcast() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusStartAudioOutSharePlay() {
|
||||
int APS5_VABI sceMbusStartAudioOutSharePlay(std::int32_t mode) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -575,17 +576,17 @@ int APS5_VABI sceMbusTerm() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusUnregisterDriver() {
|
||||
int APS5_VABI sceMbusUnregisterDriver(std::int32_t driverId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusUserLogin() {
|
||||
int APS5_VABI sceMbusUserLogin(std::int32_t userId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceMbusUserLogout() {
|
||||
int APS5_VABI sceMbusUserLogout(std::int32_t userId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
- [sceDeviceServiceQueryDeviceInfo_](../../../core/libs/prx/libSceMbus/Export.cpp): the 112-byte device-info layout and the third argument's meaning remain unresolved. The second argument is a six-byte HID usage filter pointer, not an integer. Initialization takes an optional 16-byte parameter structure with an optional thread configuration; custom scheduling throws because the host has no event worker. `sceDeviceServiceGetEventState` takes a clear flag, not a device type.
|
||||
|
||||
- [libSceMbus firmware 3.20 pending exports](../../../core/libs/prx/libSceMbus/PendingExports.cpp) - remaining symbol names are present in [the PS5 3.20 libSceMbus export list](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceMbus.c). Their signatures and console behaviour are unverified. The declarations use the existing no-parameter unknown-signature convention solely to resolve imports, and every call throws through `NotImplemented_nid_no_patch`.
|
||||
- [sceMbus remaining declarations](../../../core/libs/prx/libSceMbus/PendingExports.cpp): GetDeviceInfoByConditionForDeviceService, GetDeviceInfoByCondition_ and SetDeviceFunctionState still require by-value aggregate layouts. AcquireControlList and Term return constants without reading incoming arguments, so their original parameter lists cannot be established from the callees. All protected stub bodies remain unchanged.
|
||||
|
||||
- [sceMbusAddHandleByDeviceId](../../../core/libs/prx/libSceMbus/PendingExports.cpp): the six-argument ABI is confirmed, including the 64-bit device ID. The meanings of the last three 32-bit fields require the device-service backend.
|
||||
|
||||
@@ -19,3 +19,5 @@
|
||||
- [sceMbus event subscriptions](../../../core/libs/prx/libSceMbus/PendingExports.cpp): the subscription transports two 32-bit and two 64-bit fields whose service-side meanings remain unresolved. EventCreate uses 80-byte queue records and copies a 16-byte callback table; callback signatures and event fields still require the dispatch path. EventCallbackFuncsInit only clears memory and has no defined return value; its protected stub retains the existing integer return. Eight dump/BGM wrappers have confirmed zero-argument ABIs. EventBusStatusChangeUnsubscribe ignores its first incoming argument and consumes a 32-bit second argument; its first parameter type remains unresolved.
|
||||
|
||||
- [sceMbus device and driver payloads](../../../core/libs/prx/libSceMbus/PendingExports.cpp): device-info records occupy 256 bytes, descriptions 264 bytes, simulated-handle status and Spark state 16 bytes each. Their service-side fields remain unresolved. Driver registration copies four callback pointers; driver-event notification transports two 64-bit values without dereferencing them. Init, IsBgmProhibited, ReenableBgmForShellUi and RemoveCameraAppModuleFocus consume no incoming arguments.
|
||||
|
||||
- [sceMbus settings](../../../core/libs/prx/libSceMbus/PendingExports.cpp): USB power-list entries occupy 12 bytes, with an 8-bit count limited to 100; their fields remain unresolved. Several routing, scratch-data and proxy scalar meanings still require the service handler. Start/StopAudioOutAuxBroadcast and StopAudioOutSharePlay have confirmed zero-argument ABIs.
|
||||
Reference in new issue
Block a user