void my_timer(void) { register int i; register timer_struct *t=(timer_struct *)&timers[0]; neogeo_timer_count += timer_inc; /* 16ms par frame */ register double cnt=neogeo_timer_count; for (i = 0; i < MAX_TIMER; i++,t++) { if (cnt >= t->time && t->del_it == 0) { timer_callback_2610(t->param); t->del_it = 1; } } }
void my_timer(void) { //logMsg("timer update"); //timer_count += inc; /* 16ms par frame */ timer_count+= 1; for (int i = 0; i < MAX_TIMER; i++) { if (timer_count >= timers[i].time && timers[i].del_it == 0) { //logMsg("Timer_expire %d duration=%d param=%d",i,timers[i].time,timers[i].param); //if (timers[i].func) timers[i].func(timers[i].param); timer_callback_2610(timers[i].param); timers[i].del_it = 1; } } }