コード例 #1
0
void ARMul_EnvokeEvent(ARMul_State *state)
{static unsigned long then ;

 then = state->Now ;
 state->Now = ARMul_Time(state) % EVENTLISTSIZE ;
 if (then < state->Now) /* schedule events */
    EnvokeList(state,then,state->Now) ;
 else if (then > state->Now) { /* need to wrap around the list */
    EnvokeList(state,then,EVENTLISTSIZE-1L) ;
    EnvokeList(state,0L,state->Now) ;
    }
 }
コード例 #2
0
void ARMul_ScheduleEvent(ARMul_State *state, unsigned long delay, unsigned (*what)())
{unsigned long when ;
 struct EventNode *event ;

 if (state->EventSet++ == 0)
    state->Now = ARMul_Time(state) ;
 when = (state->Now + delay) % EVENTLISTSIZE ;
 event = (struct EventNode *)malloc(sizeof(struct EventNode)) ;
 event->func = what ;
 event->next = *(state->EventPtr + when) ;
 *(state->EventPtr + when) = event ;
}
コード例 #3
0
ファイル: armsupp.cpp プロジェクト: Antidote/citra
void
ARMul_ScheduleEvent (ARMul_State * state, unsigned int delay,
		     unsigned (*what) (ARMul_State *))
{
	unsigned int when;
	struct EventNode *event;

	if (state->EventSet++ == 0)
		state->Now = ARMul_Time (state);
	when = (state->Now + delay) % EVENTLISTSIZE;
	event = (struct EventNode *) malloc (sizeof (struct EventNode));
	_dbg_assert_msg_(ARM11, event, "SKYEYE:ARMul_ScheduleEvent: malloc event error\n");
	event->func = what;
	event->next = *(state->EventPtr + when);
	*(state->EventPtr + when) = event;
}
コード例 #4
0
ファイル: armsupp.cpp プロジェクト: IRntGreat/citra
void
ARMul_ScheduleEvent (ARMul_State * state, unsigned int delay,
                     unsigned (*what) (ARMul_State *))
{
    unsigned int when;
    struct EventNode *event;

    if (state->EventSet++ == 0)
        state->Now = ARMul_Time (state);
    when = (state->Now + delay) % EVENTLISTSIZE;
    event = (struct EventNode *) malloc (sizeof (struct EventNode));
    if (!event) {
        printf ("SKYEYE:ARMul_ScheduleEvent: malloc event error\n");
        exit(-1);
        //skyeye_exit (-1);
    }
    event->func = what;
    event->next = *(state->EventPtr + when);
    *(state->EventPtr + when) = event;
}
コード例 #5
0
ファイル: arm_interpreter.cpp プロジェクト: KnightRobby/citra
/**
 * Returns the number of clock ticks since the last reset
 * @return Returns number of clock ticks
 */
u64 ARM_Interpreter::GetTicks() const {
    return ARMul_Time(m_state);
}