diff options
Diffstat (limited to 'src/mame/drivers/ecoinfr.cpp')
-rw-r--r-- | src/mame/drivers/ecoinfr.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mame/drivers/ecoinfr.cpp b/src/mame/drivers/ecoinfr.cpp index 5d7221f2af1..1b0ac2815a8 100644 --- a/src/mame/drivers/ecoinfr.cpp +++ b/src/mame/drivers/ecoinfr.cpp @@ -60,7 +60,8 @@ public: m_reel0(*this, "reel0"), m_reel1(*this, "reel1"), m_reel2(*this, "reel2"), - m_reel3(*this, "reel3") + m_reel3(*this, "reel3"), + m_digits(*this, "digit%u", 0U) { } int irq_toggle; @@ -113,6 +114,7 @@ public: DECLARE_DRIVER_INIT(ecoinfr); DECLARE_DRIVER_INIT(ecoinfrmab); virtual void machine_reset() override; + virtual void machine_start() override { m_digits.resolve(); } TIMER_DEVICE_CALLBACK_MEMBER(ecoinfr_irq_timer); uint8_t m_banksel; @@ -123,6 +125,7 @@ public: required_device<stepper_device> m_reel1; required_device<stepper_device> m_reel2; required_device<stepper_device> m_reel3; + output_finder<16> m_digits; void ecoinfr(machine_config &config); void memmap(address_map &map); void portmap(address_map &map); @@ -327,7 +330,7 @@ WRITE8_MEMBER(ecoinfr_state::ec_port0d_out_cred_data_w) if (m_credsel!=0xff) { uint8_t bf7segdata = bitswap<8>(data,7,0,1,2,3,4,5,6); - output().set_digit_value(m_credsel+8, bf7segdata); + m_digits[m_credsel+8] = bf7segdata; } } @@ -340,7 +343,7 @@ WRITE8_MEMBER(ecoinfr_state::ec_port0f_out_bank_segdata_w) if (m_banksel!=0xff) { uint8_t bf7segdata = bitswap<8>(data,7,0,1,2,3,4,5,6); - output().set_digit_value(m_banksel, bf7segdata); + m_digits[m_banksel] = bf7segdata; } } |