mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
Namco System 21 doesn't seem to use pos irq for master/slave.
Phelios doesn't like ASSERT_LINE for vblank, fun
This commit is contained in:
parent
6f2c9cb5c8
commit
8e8f20df82
@ -1695,22 +1695,17 @@ MACHINE_CONFIG_END
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(namcos2_state::screen_scanline)
|
||||
{
|
||||
int scanline = param;
|
||||
|
||||
int cur_posirq = get_posirq_scanline();
|
||||
|
||||
if(scanline == 240)
|
||||
{
|
||||
m_master_intc->vblank_irq_trigger();
|
||||
m_slave_intc->vblank_irq_trigger();
|
||||
}
|
||||
|
||||
if(scanline == m_master_intc->get_posirq_line())
|
||||
if(scanline == cur_posirq)
|
||||
{
|
||||
m_master_intc->pos_irq_trigger();
|
||||
// TODO: wrong place!
|
||||
m_screen->update_partial(param);
|
||||
}
|
||||
|
||||
if(scanline == m_slave_intc->get_posirq_line())
|
||||
{
|
||||
m_slave_intc->pos_irq_trigger();
|
||||
// TODO: wrong place!
|
||||
m_screen->update_partial(param);
|
||||
|
@ -1856,6 +1856,7 @@ MACHINE_START_MEMBER(namcos21_state,namcos21)
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(namcos21_state::screen_scanline)
|
||||
{
|
||||
int scanline = param;
|
||||
// int cur_posirq = get_posirq_scanline()*2;
|
||||
|
||||
if(scanline == 240*2)
|
||||
{
|
||||
@ -1865,20 +1866,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos21_state::screen_scanline)
|
||||
m_gpu_intc->vblank_irq_trigger();
|
||||
}
|
||||
|
||||
if(scanline == m_master_intc->get_posirq_line()*2)
|
||||
#if 0
|
||||
if(scanline == cur_posirq)
|
||||
{
|
||||
m_master_intc->pos_irq_trigger();
|
||||
// TODO: wrong place!
|
||||
m_screen->update_partial(param);
|
||||
}
|
||||
|
||||
if(scanline == m_slave_intc->get_posirq_line()*2)
|
||||
{
|
||||
m_slave_intc->pos_irq_trigger();
|
||||
// TODO: wrong place!
|
||||
m_screen->update_partial(param);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if(m_gpu_intc != nullptr)
|
||||
{
|
||||
|
@ -194,7 +194,8 @@ WRITE8_MEMBER( namco_c148_device::ext_posirq_line_w )
|
||||
|
||||
void namco_c148_device::vblank_irq_trigger()
|
||||
{
|
||||
m_hostcpu->set_input_line(m_irqlevel.vblank, ASSERT_LINE);
|
||||
// TODO: Phelios doesn't ack the vblank irq at all!
|
||||
m_hostcpu->set_input_line(m_irqlevel.vblank, HOLD_LINE);
|
||||
}
|
||||
|
||||
void namco_c148_device::pos_irq_trigger()
|
||||
|
Loading…
Reference in New Issue
Block a user