diff options
Diffstat (limited to 'src/mame/drivers/playch10.cpp')
-rw-r--r-- | src/mame/drivers/playch10.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp index 1840b53f283..29c571c9772 100644 --- a/src/mame/drivers/playch10.cpp +++ b/src/mame/drivers/playch10.cpp @@ -632,14 +632,16 @@ static GFXDECODE_START( playch10 ) GFXDECODE_ENTRY( "gfx1", 0, bios_charlayout, 0, 32 ) GFXDECODE_END -INTERRUPT_GEN_MEMBER(playch10_state::playch10_interrupt){ - /* LS161A, Sheet 1 - bottom left of Z80 */ - if ( !m_pc10_dog_di && !m_pc10_nmi_enable ) { - device.execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE ); +WRITE_LINE_MEMBER(playch10_state::vblank_irq) +{ + if (state) + { + /* LS161A, Sheet 1 - bottom left of Z80 */ + if (!m_pc10_dog_di && !m_pc10_nmi_enable) + m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + else if (m_pc10_nmi_enable) + m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); } - - else if ( m_pc10_nmi_enable ) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); } MACHINE_CONFIG_START(playch10_state::playch10) @@ -647,7 +649,6 @@ MACHINE_CONFIG_START(playch10_state::playch10) MCFG_CPU_ADD("maincpu", Z80, 8000000/2) // 4 MHz MCFG_CPU_PROGRAM_MAP(bios_map) MCFG_CPU_IO_MAP(bios_io_map) - MCFG_CPU_VBLANK_INT_DRIVER("top", playch10_state, playch10_interrupt) MCFG_CPU_ADD("cart", N2A03, NTSC_APU_CLOCK) MCFG_CPU_PROGRAM_MAP(cart_map) @@ -679,6 +680,7 @@ MACHINE_CONFIG_START(playch10_state::playch10) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(playch10_state, screen_update_playch10_top) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(playch10_state, vblank_irq)) MCFG_SCREEN_ADD("bottom", RASTER) MCFG_SCREEN_REFRESH_RATE(60) |