From eb9ade3a16f64d6d61d938c60d70bf27f8d0502a Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 27 Nov 2020 21:57:19 -0500 Subject: galaxold.cpp, scramble.cpp: Modernize S2650 interrupts --- src/mame/drivers/galaxold.cpp | 14 ++++++-------- src/mame/drivers/scramble.cpp | 4 ++-- src/mame/includes/galaxold.h | 1 - src/mame/machine/galaxold.cpp | 5 ----- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp index 9e0d6b622f4..faaf405670f 100644 --- a/src/mame/drivers/galaxold.cpp +++ b/src/mame/drivers/galaxold.cpp @@ -2578,9 +2578,8 @@ void galaxold_state::drivfrcg(machine_config &config) s2650_device &maincpu(S2650(config, m_maincpu, MASTER_CLOCK/6)); maincpu.set_addrmap(AS_PROGRAM, &galaxold_state::drivfrcg_program); maincpu.set_addrmap(AS_IO, &galaxold_state::drivfrcg_io); - maincpu.set_vblank_int("screen", FUNC(galaxold_state::hunchbks_vh_interrupt)); maincpu.sense_handler().set("screen", FUNC(screen_device::vblank)); // ??? - maincpu.intack_handler().set_constant(0x03); + maincpu.intack_handler().set(FUNC(galaxold_state::hunchbkg_intack)); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -2590,6 +2589,7 @@ void galaxold_state::drivfrcg(machine_config &config) m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1); m_screen->set_screen_update(FUNC(galaxold_state::screen_update_galaxold)); m_screen->set_palette(m_palette); + m_screen->screen_vblank().set_inputline(m_maincpu, 0, ASSERT_LINE); PALETTE(config, m_palette, FUNC(galaxold_state::rockclim_palette), 64); @@ -2668,9 +2668,7 @@ void galaxold_state::racknrol(machine_config &config) maincpu.set_addrmap(AS_PROGRAM, &galaxold_state::racknrol_map); maincpu.set_addrmap(AS_IO, &galaxold_state::racknrol_io); maincpu.sense_handler().set(m_screen, FUNC(screen_device::vblank)).invert(); // ??? - // FIXME: kill the following line - convert to a screen vblank callback - maincpu.set_vblank_int("screen", FUNC(galaxold_state::hunchbks_vh_interrupt)); - maincpu.intack_handler().set_constant(0x03); + maincpu.intack_handler().set(FUNC(galaxold_state::hunchbkg_intack)); /* video hardware */ GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxian); @@ -2680,6 +2678,7 @@ void galaxold_state::racknrol(machine_config &config) m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); m_screen->set_screen_update(FUNC(galaxold_state::screen_update_galaxold)); m_screen->set_palette(m_palette); + m_screen->screen_vblank().set_inputline(m_maincpu, 0, ASSERT_LINE); MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol) @@ -2697,9 +2696,7 @@ void galaxold_state::hexpoola(machine_config &config) maincpu.set_addrmap(AS_IO, &galaxold_state::hexpoola_io); maincpu.set_addrmap(AS_DATA, &galaxold_state::hexpoola_data); maincpu.sense_handler().set(m_screen, FUNC(screen_device::vblank)).invert(); // ??? - // FIXME: kill the following line - convert to a screen vblank callback - maincpu.set_vblank_int("screen", FUNC(galaxold_state::hunchbks_vh_interrupt)); - maincpu.intack_handler().set_constant(0x03); + maincpu.intack_handler().set(FUNC(galaxold_state::hunchbkg_intack)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxian); PALETTE(config, m_palette, FUNC(galaxold_state::rockclim_palette), 32); @@ -2708,6 +2705,7 @@ void galaxold_state::hexpoola(machine_config &config) m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART); m_screen->set_screen_update(FUNC(galaxold_state::screen_update_galaxold)); m_screen->set_palette(m_palette); + m_screen->screen_vblank().set_inputline(m_maincpu, 0, ASSERT_LINE); MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol) diff --git a/src/mame/drivers/scramble.cpp b/src/mame/drivers/scramble.cpp index 6759deffc92..aff1c6b69fe 100644 --- a/src/mame/drivers/scramble.cpp +++ b/src/mame/drivers/scramble.cpp @@ -1538,10 +1538,10 @@ void scramble_state::hunchbks(machine_config &config) maincpu.set_addrmap(AS_PROGRAM, &scramble_state::hunchbks_map); maincpu.set_addrmap(AS_IO, &scramble_state::hunchbks_readport); maincpu.sense_handler().set("screen", FUNC(screen_device::vblank)); - maincpu.intack_handler().set_constant(0x03); - maincpu.set_vblank_int("screen", FUNC(scramble_state::hunchbks_vh_interrupt)); + maincpu.intack_handler().set(FUNC(galaxold_state::hunchbkg_intack)); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); + m_screen->screen_vblank().set_inputline(m_maincpu, 0, ASSERT_LINE); /* video hardware */ m_palette->set_entries(32+64+2+0); // 32 for characters, 64 for stars, 2 for bullets diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h index f4c9f58ef0a..ffe07214594 100644 --- a/src/mame/includes/galaxold.h +++ b/src/mame/includes/galaxold.h @@ -218,7 +218,6 @@ public: uint32_t screen_update_galaxold(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_dambustr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(hunchbks_vh_interrupt); TIMER_CALLBACK_MEMBER(stars_blink_callback); TIMER_CALLBACK_MEMBER(stars_scroll_callback); TIMER_DEVICE_CALLBACK_MEMBER(galaxold_interrupt_timer); diff --git a/src/mame/machine/galaxold.cpp b/src/mame/machine/galaxold.cpp index 5e6a836c2c5..b595b635b51 100644 --- a/src/mame/machine/galaxold.cpp +++ b/src/mame/machine/galaxold.cpp @@ -161,11 +161,6 @@ void galaxold_state::init_4in1() save_item(NAME(m__4in1_bank)); } -INTERRUPT_GEN_MEMBER(galaxold_state::hunchbks_vh_interrupt) -{ - m_maincpu->pulse_input_line(0, m_maincpu->minimum_quantum_time()); -} - void galaxold_state::init_bullsdrtg() { // patch char supposed to be space -- cgit v1.2.3