Example #1
0
int sceKernelSysEventDispatch(int ev_type_mask, int ev_id, char* ev_name, void* param, int* result, int break_nonzero, SceSysEventHandler **break_handler)
{
    int oldGp = pspGetGp();
    int ret = 0;
    int oldIntr = suspendIntr();
    SceSysEventHandler *cur = g_sysEvHandlers;
    // C928
    while (cur != NULL)
    {
        if ((cur->type_mask & ev_type_mask) != 0)
        {
            // C984
            cur->busy = 1;
            resumeIntr(oldIntr);
            pspSetGp(cur->gp);
            ret = cur->handler(ev_id, ev_name, param, result);
            oldIntr = suspendIntr();
            cur->busy = 0;
            if (ret < 0 && break_nonzero != 0)
            {
                // C9D8
                if (break_handler != NULL)
                    *break_handler = cur;
                break;
            }
            ret = 0;
        }
        // C934
        cur = cur->next;
    }
    // C940
    resumeIntr(oldIntr);
    pspSetGp(oldGp);
    return ret;
}
Example #2
0
/* param replaceStatus: 1 prohibited, 2 allowed */
static s32 _setUmdReplaceStatus(u32 replaceStatus)
{
    s32 status;
   
    if (g_mediaMan.umdReplaceCallback == NULL)
        return SCE_UMD_ERROR_NO_MEDIUM;
 
    s32 oldGp = pspSetGp(g_mediaMan.umdReplaceCallbackGp);
       
    status = g_mediaMan.umdReplaceCallback(replaceStatus);
       
    pspSetGp(oldGp);
    return status;
}
Example #3
0
static s32 sub_0000094C(void)
{
    s32 status;
   
    if (g_mediaMan.unk60 == NULL)
        return SCE_UMD_ERROR_NO_MEDIUM;
 
    s32 oldGp = pspSetGp(g_mediaMan.unk36);
       
    status = g_mediaMan.unk60();
       
    pspSetGp(oldGp);
    return status;
}
Example #4
0
//Subroutine sub_000004DC - Address 0x000004DC
static s32 sub_000004DC(void)
{
    u32 oldGp;
    s32 status;
    
	if (g_mediaMan.umdMediaPresentCallback == NULL)
        return SCE_ERROR_OK;
    
	oldGp = pspSetGp(g_mediaMan.umdMediaPresentCallbackGp);
    
	status = g_mediaMan.umdMediaPresentCallback(g_mediaMan.umdMediaPresentCallbackParam);
    
    pspSetGp(oldGp);
    return status;
}
Example #5
0
//Subroutine sub_00000278 - Address 0x00000278 
static s32 sub_00000278(s32 mode)
{
    s32 oldGp;
    s32 status;
    
    if (g_mediaMan.umdDeactivateCallback == NULL)
        return SCE_UMD_ERROR_NO_MEDIUM;
    
    oldGp = pspSetGp(g_mediaMan.umdDeactivateCallbackGp);
    
    status = g_mediaMan.umdDeactivateCallback(mode, g_mediaMan.umdDeactivateCallbackParam);
    
    pspSetGp(oldGp);
    return status;
}
Example #6
0
File: suspend.c Project: esxgx/uofw
int sceKernelDispatchResumeHandlers(int unk)
{
    int oldGp = pspGetGp();
    SceResumeHandler *cur = &g_resumeHandlers[31];
    // CF40
    int i;
    for (i = 0; i < 32; i++)
    {
        if (cur->handler != NULL)
        {
            // CF80
            pspSetGp(cur->gp);
            cur->handler(unk, cur->param);
        }
        cur--;
    }
    pspSetGp(oldGp);
    return 0;
}
Example #7
0
File: suspend.c Project: esxgx/uofw
int sceKernelDispatchSuspendHandlers(int unk)
{
    int oldGp = pspGetGp();
    SceSuspendHandler *cur = &g_suspendHandlers[0];
    int i;
    // CEB0
    for (i = 0; i < 32; i++)
    {
        if (cur->handler != NULL)
        {
            // CEF0
            pspSetGp(cur->gp);
            cur->handler(unk, cur->param);
        }
        // CEC0
        cur++;
    }
    pspSetGp(oldGp);
    return 0;
}
Example #8
0
//Subroutine _umdGetDiscInfo - Address 0x00000000
static s32 _umdGetDiscInfo(SceUmdDiscInfo *pDiscInfo)
{
    s32 oldGp;
    s32 status;
    
    if (pDiscInfo == NULL)
        return SCE_ERROR_ERRNO_INVALID_ARGUMENT;
    
    if (g_mediaMan.umdInfoCallback == NULL)
        return SCE_UMD_ERROR_NO_MEDIUM;
    
    oldGp = pspSetGp(g_mediaMan.umdInfoCallbackGp);
    
    status = g_mediaMan.umdInfoCallback(g_mediaMan.umdInfoCallbackDiscInfo);
    
    pspSetGp(oldGp);
    
    pDiscInfo->uiSize = sizeof(SceUmdDiscInfo); //0x00000068
    pDiscInfo->uiMediaType = g_mediaMan.umdInfoCallbackDiscInfo->uiMediaType;
    
    return status;
}