Exemplo n.º 1
0
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;
	}
}
Exemplo n.º 2
0
void f3853_set_external_interrupt_in_line(bool level)
{
    if (f3853.external_interrupt_line&&!level&& f3853.external_enable)
	f3853.request_flipflop = TRUE;
    f3853.external_interrupt_line = level;
    f3853_set_interrupt_request_line();
}
Exemplo n.º 3
0
void f3853_set_priority_in_line(running_device *device, int level)
{
	f3853_t	*f3853 = get_safe_token( device );

    f3853->priority_line = level;
    f3853_set_interrupt_request_line( device );
}
Exemplo n.º 4
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);
}
Exemplo n.º 5
0
void f3853_set_external_interrupt_in_line(running_device *device, int level)
{
	f3853_t	*f3853 = get_safe_token( device );

    if ( f3853->external_interrupt_line && ! level && f3853->external_enable)
	f3853->request_flipflop = TRUE;
    f3853->external_interrupt_line = level;
    f3853_set_interrupt_request_line( device );
}
Exemplo n.º 6
0
void f3853_device::f3853_set_external_interrupt_in_line(int level)
{
    if(m_external_interrupt_line && !level && m_external_enable)
    {
		m_request_flipflop = TRUE;
	}
    m_external_interrupt_line = level;
    f3853_set_interrupt_request_line();
}
Exemplo n.º 7
0
void f3853_device::f3853_timer()
{
    if(m_timer_enable)
	{
		m_request_flipflop = TRUE;
		f3853_set_interrupt_request_line();
    }
    f3853_timer_start(0xfe);
}
Exemplo n.º 8
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);
}
Exemplo n.º 9
0
void f3853_set_priority_in_line(bool level)
{
    f3853.priority_line=level;
    f3853_set_interrupt_request_line();
}
Exemplo n.º 10
0
void f3853_device::f3853_set_priority_in_line(int level)
{
    m_priority_line = level;
    f3853_set_interrupt_request_line();
}