From c9c353c341ca3079903028cc661a24e1348ba00d Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Tue, 13 Dec 2011 01:54:28 +0000 Subject: [PATCH] deprecat.h --- src/mame/drivers/suna16.c | 20 +++++++++++--------- src/mame/drivers/thedeep.c | 21 +++++++++++---------- src/mame/includes/suna16.h | 6 +++++- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c index e06a4beafcf..d004ad9b3cf 100644 --- a/src/mame/drivers/suna16.c +++ b/src/mame/drivers/suna16.c @@ -24,7 +24,6 @@ Year + Game By Board Hardware #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/m68000/m68000.h" -#include "deprecat.h" #include "sound/dac.h" #include "sound/2151intf.h" #include "sound/ay8910.h" @@ -740,13 +739,16 @@ GFXDECODE_END Back Street Soccer ***************************************************************************/ -static INTERRUPT_GEN( bssoccer_interrupt ) +static TIMER_DEVICE_CALLBACK( bssoccer_interrupt ) { - switch (cpu_getiloops(device)) - { - case 0: device_set_input_line(device, 1, HOLD_LINE); break; - case 1: device_set_input_line(device, 2, HOLD_LINE); break; - } + suna16_state *state = timer.machine().driver_data(); + int scanline = param; + + if(scanline == 240) + device_set_input_line(state->m_maincpu, 1, HOLD_LINE); + + if(scanline == 0) + device_set_input_line(state->m_maincpu, 2, HOLD_LINE); // does RAM to sprite buffer copy here } static MACHINE_CONFIG_START( bssoccer, suna16_state ) @@ -754,7 +756,7 @@ static MACHINE_CONFIG_START( bssoccer, suna16_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 8000000) /* ? */ MCFG_CPU_PROGRAM_MAP(bssoccer_map) - MCFG_CPU_VBLANK_INT_HACK(bssoccer_interrupt,2) + MCFG_TIMER_ADD_SCANLINE("scantimer", bssoccer_interrupt, "screen", 0, 1) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* Z80B */ MCFG_CPU_PROGRAM_MAP(bssoccer_sound_map) @@ -939,7 +941,7 @@ static MACHINE_CONFIG_START( bestbest, suna16_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 24000000/4) MCFG_CPU_PROGRAM_MAP(bestbest_map) - MCFG_CPU_VBLANK_INT_HACK(bssoccer_interrupt,2) + MCFG_TIMER_ADD_SCANLINE("scantimer", bssoccer_interrupt, "screen", 0, 1) MCFG_CPU_ADD("audiocpu", Z80, 24000000/4) MCFG_CPU_PROGRAM_MAP(bestbest_sound_map) diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c index 9ab663ee834..eff66bf1a46 100644 --- a/src/mame/drivers/thedeep.c +++ b/src/mame/drivers/thedeep.c @@ -27,7 +27,6 @@ Notes: #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/m6502/m6502.h" -#include "deprecat.h" #include "includes/thedeep.h" #include "sound/2203intf.h" @@ -323,14 +322,16 @@ static const ym2203_interface thedeep_ym2203_intf = irqhandler }; -static INTERRUPT_GEN( thedeep_interrupt ) +static TIMER_DEVICE_CALLBACK( thedeep_interrupt ) { - thedeep_state *state = device->machine().driver_data(); - if (cpu_getiloops(device)) + thedeep_state *state = timer.machine().driver_data(); + int scanline = param; + + if (scanline == 124) // TODO: clean this { if (state->m_protection_command != 0x59) { - int coins = input_port_read(device->machine(), "MCU"); + int coins = input_port_read(timer.machine(), "MCU"); if (coins & 1) state->m_protection_data = 1; else if (coins & 2) state->m_protection_data = 2; else if (coins & 4) state->m_protection_data = 3; @@ -340,14 +341,14 @@ static INTERRUPT_GEN( thedeep_interrupt ) state->m_protection_irq = 1; } if (state->m_protection_irq) - device_set_input_line(device, 0, HOLD_LINE); + device_set_input_line(state->m_maincpu, 0, HOLD_LINE); } - else + else if(scanline == 0) { if (state->m_nmi_enable) { - device_set_input_line(device, INPUT_LINE_NMI, ASSERT_LINE); - device_set_input_line(device, INPUT_LINE_NMI, CLEAR_LINE); + device_set_input_line(state->m_maincpu, INPUT_LINE_NMI, ASSERT_LINE); + device_set_input_line(state->m_maincpu, INPUT_LINE_NMI, CLEAR_LINE); } } } @@ -357,7 +358,7 @@ static MACHINE_CONFIG_START( thedeep, thedeep_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_CPU_VBLANK_INT_HACK(thedeep_interrupt,2) /* IRQ by MCU, NMI by vblank (maskable) */ + MCFG_TIMER_ADD_SCANLINE("scantimer", thedeep_interrupt, "screen", 0, 1) /* IRQ by MCU, NMI by vblank (maskable) */ MCFG_CPU_ADD("audiocpu", M65C02, XTAL_12MHz/8) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(audio_map) diff --git a/src/mame/includes/suna16.h b/src/mame/includes/suna16.h index de34e78c52a..5117c2e6ec5 100644 --- a/src/mame/includes/suna16.h +++ b/src/mame/includes/suna16.h @@ -2,13 +2,17 @@ class suna16_state : public driver_device { public: suna16_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) { } + : driver_device(mconfig, type, tag), + m_maincpu(*this,"maincpu") + { } UINT16 m_prot; UINT16 *m_paletteram; UINT16 *m_spriteram; UINT16 *m_spriteram2; int m_color_bank; + + required_device m_maincpu; };