WRITE8_DEVICE_HANDLER_TRAMPOLINE(f3853, f3853_w) { switch(offset) { case 0: m_high = data; break; case 1: m_low = data; break; case 2: //interrupt control m_external_enable = ((data & 3) == 1); m_timer_enable = ((data & 3) == 3); f3853_set_interrupt_request_line(); break; case 3: //timer m_request_flipflop = FALSE; f3853_set_interrupt_request_line(); f3853_timer_start(data); break; } }
static void f3853_timer_callback(int param) { if (f3853.timer_enable) { f3853.request_flipflop = TRUE; f3853_set_interrupt_request_line(); } f3853_timer_start(0xfe); }
void f3853_device::f3853_timer() { if(m_timer_enable) { m_request_flipflop = TRUE; f3853_set_interrupt_request_line(); } f3853_timer_start(0xfe); }
static TIMER_CALLBACK( f3853_timer_callback ) { running_device *device = (running_device *)ptr; f3853_t *f3853 = get_safe_token( device ); if (f3853->timer_enable) { f3853->request_flipflop = TRUE; f3853_set_interrupt_request_line( device ); } f3853_timer_start( device, 0xfe); }