summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-11-27 21:57:19 -0500
committer AJR <ajrhacker@users.noreply.github.com>2020-11-27 21:57:30 -0500
commiteb9ade3a16f64d6d61d938c60d70bf27f8d0502a (patch)
treeabe787b837f0139a2fe7db759b2901c389c4673c
parent8372578c67f77086560ef6766b74a736db0a8c82 (diff)
galaxold.cpp, scramble.cpp: Modernize S2650 interrupts
-rw-r--r--src/mame/drivers/galaxold.cpp14
-rw-r--r--src/mame/drivers/scramble.cpp4
-rw-r--r--src/mame/includes/galaxold.h1
-rw-r--r--src/mame/machine/galaxold.cpp5
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