mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
galaxold.cpp, scramble.cpp: Modernize S2650 interrupts
This commit is contained in:
parent
8372578c67
commit
eb9ade3a16
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user