summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/techno.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/techno.c')
-rw-r--r--src/mame/drivers/techno.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mame/drivers/techno.c b/src/mame/drivers/techno.c
index 7149302d636..4b3c3f144a0 100644
--- a/src/mame/drivers/techno.c
+++ b/src/mame/drivers/techno.c
@@ -49,6 +49,8 @@ protected:
private:
bool m_digwait;
UINT8 m_keyrow;
+public:
+ INTERRUPT_GEN_MEMBER(techno_intgen);
};
@@ -230,15 +232,14 @@ static INPUT_PORTS_START( techno )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Fix top left target middle") PORT_CODE(KEYCODE_EQUALS)
INPUT_PORTS_END
-static INTERRUPT_GEN( techno_intgen )
+INTERRUPT_GEN_MEMBER(techno_state::techno_intgen)
{
- techno_state *state = device->machine().driver_data<techno_state>();
// vectors change per int: 88-8F, 98-9F)
- if ((state->m_vector & 7) == 7)
- state->m_vector = (state->m_vector ^ 0x10) & 0x97;
- state->m_vector++;
+ if ((m_vector & 7) == 7)
+ m_vector = (m_vector ^ 0x10) & 0x97;
+ m_vector++;
// core doesn't support clearing of irq via hardware
- generic_pulse_irq_line_and_vector(device, 1, state->m_vector, 1);
+ generic_pulse_irq_line_and_vector(device.execute(), 1, m_vector, 1);
}
void techno_state::machine_reset()
@@ -251,7 +252,7 @@ static MACHINE_CONFIG_START( techno, techno_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, TECHNO_MAINCLK)
MCFG_CPU_PROGRAM_MAP(techno_map)
- MCFG_CPU_PERIODIC_INT(techno_intgen, TECHNO_MAINCLK/256) // 31250Hz
+ MCFG_CPU_PERIODIC_INT_DRIVER(techno_state, techno_intgen, TECHNO_MAINCLK/256) // 31250Hz
//MCFG_CPU_ADD("cpu2", TMS7000, 4000000)
//MCFG_CPU_PROGRAM_MAP(techno_sub_map)