Fixing up license stuff.

This commit is contained in:
Ben Vanik 2014-01-04 23:57:39 -08:00
parent 6f7855817e
commit 9f1a3795b7
1 changed files with 12 additions and 5 deletions

View File

@ -25,15 +25,22 @@ namespace kernel {
SHIM_CALL XamContentGetLicenseMask_shim( SHIM_CALL XamContentGetLicenseMask_shim(
PPCContext* ppc_state, KernelState* state) { PPCContext* ppc_state, KernelState* state) {
uint32_t unk0_ptr = SHIM_GET_ARG_32(0); uint32_t mask_ptr = SHIM_GET_ARG_32(0);
uint32_t unk1_ptr = SHIM_GET_ARG_32(1); uint32_t overlapped_ptr = SHIM_GET_ARG_32(1);
XELOGD( XELOGD(
"XamContentGetLicenseMask(%.8X, %.8X)", "XamContentGetLicenseMask(%.8X, %.8X)",
unk0_ptr, mask_ptr,
unk1_ptr); overlapped_ptr);
SHIM_SET_RETURN(X_STATUS_NOT_IMPLEMENTED); XEASSERTZERO(overlapped_ptr);
// Arcade games seem to call this and check the result mask for random bits.
// If we fail, the games seem to use a hardcoded mask, which is likely trial.
// To be clever, let's just try setting all the bits.
SHIM_SET_MEM_32(mask_ptr, 0xFFFFFFFF);
SHIM_SET_RETURN(X_ERROR_SUCCESS);
} }