From e4d0df65eb533fd27253c37bf905c9de3654bc04 Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 28 Mar 2018 20:26:41 -0400 Subject: compgolf.cpp, liberate.cpp: Replace MCFG_CPU_VBLANK_INT with line callbacks (nw) --- src/mame/drivers/compgolf.cpp | 3 +-- src/mame/drivers/liberate.cpp | 33 ++++++++++++++++++--------------- src/mame/includes/liberate.h | 2 +- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/mame/drivers/compgolf.cpp b/src/mame/drivers/compgolf.cpp index 6649b12ee1b..be41578442c 100644 --- a/src/mame/drivers/compgolf.cpp +++ b/src/mame/drivers/compgolf.cpp @@ -227,8 +227,6 @@ MACHINE_CONFIG_START(compgolf_state::compgolf) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", MC6809E, 2000000) // HD68B09EP MCFG_CPU_PROGRAM_MAP(compgolf_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", compgolf_state, nmi_line_pulse) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -238,6 +236,7 @@ MACHINE_CONFIG_START(compgolf_state::compgolf) MCFG_SCREEN_VISIBLE_AREA(1*8, 32*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(compgolf_state, screen_update_compgolf) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) MCFG_PALETTE_ADD("palette", 0x100) MCFG_PALETTE_INIT_OWNER(compgolf_state, compgolf) diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp index 28221cd9bde..cd7fcae74b8 100644 --- a/src/mame/drivers/liberate.cpp +++ b/src/mame/drivers/liberate.cpp @@ -686,26 +686,30 @@ GFXDECODE_END * *************************************/ -INTERRUPT_GEN_MEMBER(liberate_state::deco16_interrupt) +WRITE_LINE_MEMBER(liberate_state::deco16_interrupt) { - int p = ~ioport("IN3")->read(); - if ((p & 0x43) && !m_latch) + if (state) { - device.execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); - m_latch = 1; - } - else - { - if (!(p & 0x43)) - m_latch = 0; + int p = ~ioport("IN3")->read(); + if ((p & 0x43) && !m_latch) + { + m_maincpu->set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); + m_latch = 1; + } + else + { + if (!(p & 0x43)) + m_latch = 0; + } } } #if 0 -INTERRUPT_GEN_MEMBER(liberate_state::prosport_interrupt) +WRITE_LINE_MEMBER(liberate_state::prosport_interrupt) { /* ??? */ - device.execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); + if (state) + m_maincpu->set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); } #endif @@ -743,7 +747,6 @@ MACHINE_CONFIG_START(liberate_state::liberate_base) MCFG_CPU_ADD("maincpu",DECO16, 2000000) MCFG_CPU_PROGRAM_MAP(liberate_map) MCFG_CPU_IO_MAP(deco16_io_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) MCFG_CPU_ADD("audiocpu",DECO_222, 1500000) /* is it a real 222 (M6502 with bitswapped opcodes), or the same thing in external logic? */ MCFG_CPU_PROGRAM_MAP(liberate_sound_map) @@ -762,6 +765,7 @@ MACHINE_CONFIG_START(liberate_state::liberate_base) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_liberate) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(liberate_state, deco16_interrupt)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", liberate) MCFG_PALETTE_ADD("palette", 33) @@ -793,7 +797,6 @@ MACHINE_CONFIG_START(liberate_state::liberatb) /* basic machine hardware */ MCFG_CPU_REPLACE("maincpu", M6502, 2000000) MCFG_CPU_PROGRAM_MAP(liberatb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) MACHINE_CONFIG_END MACHINE_CONFIG_START(liberate_state::boomrang) @@ -834,7 +837,6 @@ MACHINE_CONFIG_START(liberate_state::prosport) MCFG_CPU_ADD("maincpu", DECO16, 2000000) MCFG_CPU_PROGRAM_MAP(prosport_map) MCFG_CPU_IO_MAP(deco16_io_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) MCFG_CPU_ADD("audiocpu", DECO_222, 1500000/2) /* is it a real 222 (M6502 with bitswapped opcodes), or the same thing in external logic? */ MCFG_CPU_PROGRAM_MAP(liberate_sound_map) @@ -853,6 +855,7 @@ MACHINE_CONFIG_START(liberate_state::prosport) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_prosport) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(liberate_state, deco16_interrupt)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", prosport) MCFG_PALETTE_ADD("palette", 256) diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h index bc17f65bd2b..260677a8620 100644 --- a/src/mame/includes/liberate.h +++ b/src/mame/includes/liberate.h @@ -81,7 +81,7 @@ public: uint32_t screen_update_prosport(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_boomrang(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_prosoccr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(deco16_interrupt); + DECLARE_WRITE_LINE_MEMBER(deco16_interrupt); void liberate_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); void prosport_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); void boomrang_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri ); -- cgit v1.2.3