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;
	}
}
Example #2
0
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);
}
Example #4
0
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);
}