modernized periodic interrupt in decobsmt_device (nw)

This commit is contained in:
Oliver Stöneberg 2013-08-20 13:15:35 +00:00
parent f0f1e4d314
commit 026c16f8db
2 changed files with 9 additions and 9 deletions

View File

@ -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_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);
}

View File

@ -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<cpu_device> m_ourcpu;
required_device<bsmt2000_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;