From 026c16f8dbcefc1955ef65425c357bd2c57c714c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Tue, 20 Aug 2013 13:15:35 +0000 Subject: [PATCH] modernized periodic interrupt in decobsmt_device (nw) --- src/mame/audio/decobsmt.c | 12 ++++++------ src/mame/audio/decobsmt.h | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/mame/audio/decobsmt.c b/src/mame/audio/decobsmt.c index df41493f47b..6c4e252a615 100644 --- a/src/mame/audio/decobsmt.c +++ b/src/mame/audio/decobsmt.c @@ -27,11 +27,6 @@ static ADDRESS_MAP_START( bsmt_map, AS_0, 8, decobsmt_device ) AM_RANGE(0x000000, 0xffffff) AM_ROM AM_REGION(":bsmt", 0) ADDRESS_MAP_END -static INTERRUPT_GEN( decobsmt_firq_interrupt ) -{ - device->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); -} - static void bsmt_ready_callback(bsmt2000_device &device) { decobsmt_device *decobsmt = device.machine().device(DECOBSMT_TAG); @@ -41,7 +36,7 @@ static void bsmt_ready_callback(bsmt2000_device &device) MACHINE_CONFIG_FRAGMENT( decobsmt ) MCFG_CPU_ADD(M6809_TAG, M6809, (3579580/2)) MCFG_CPU_PROGRAM_MAP(decobsmt_map) - MCFG_CPU_PERIODIC_INT(decobsmt_firq_interrupt, 489) /* Fixed FIRQ of 489Hz as measured on real (pinball) machine */ + MCFG_CPU_PERIODIC_INT_DRIVER(decobsmt_device, decobsmt_firq_interrupt, 489) /* Fixed FIRQ of 489Hz as measured on real (pinball) machine */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_BSMT2000_ADD(BSMT_TAG, 24000000) @@ -141,3 +136,8 @@ WRITE_LINE_MEMBER(decobsmt_device::bsmt_reset_line) { m_ourcpu->set_input_line(INPUT_LINE_RESET, state); } + +INTERRUPT_GEN_MEMBER(decobsmt_device::decobsmt_firq_interrupt) +{ + device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); +} diff --git a/src/mame/audio/decobsmt.h b/src/mame/audio/decobsmt.h index 773397f2b60..16b05a751ee 100644 --- a/src/mame/audio/decobsmt.h +++ b/src/mame/audio/decobsmt.h @@ -22,9 +22,6 @@ public: // construction/destruction decobsmt_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const; - DECLARE_WRITE8_MEMBER(bsmt_reset_w); DECLARE_READ8_MEMBER(bsmt_status_r); DECLARE_WRITE8_MEMBER(bsmt0_w); @@ -33,6 +30,8 @@ public: DECLARE_WRITE8_MEMBER(bsmt_comms_w); DECLARE_WRITE_LINE_MEMBER(bsmt_reset_line); + + INTERRUPT_GEN_MEMBER(decobsmt_firq_interrupt); required_device m_ourcpu; required_device m_bsmt; @@ -41,6 +40,7 @@ protected: // device-level overrides virtual void device_start(); virtual void device_reset(); + virtual machine_config_constructor device_mconfig_additions() const; private: UINT8 m_bsmt_latch;