void hle_execute(struct hle_t* hle)
{
    if (is_task(hle)) {
        if (!try_fast_task_dispatching(hle))
            normal_task_dispatching(hle);
        rsp_break(hle, SP_STATUS_TASKDONE);
    } else {
        non_task_dispatching(hle);
        rsp_break(hle, 0);
    }
}
Beispiel #2
0
EXPORT unsigned int CALL DoRspCycles(unsigned int Cycles)
{
    if (is_task()) {
        if (!try_fast_task_dispatching())
            normal_task_dispatching();
        rsp_break(RSP_STATUS_TASKDONE);
    } else {
        non_task_dispatching();
        rsp_break(0);
    }

    return Cycles;
}
Beispiel #3
0
void CHle::hle_execute(void)
{
    if (is_task())
    {
        if (!try_fast_task_dispatching())
        {
            normal_task_dispatching();
        }
        rsp_break(SP_STATUS_SIG2);
    }
    else
    {
        non_task_dispatching();
        rsp_break(0);
    }
}