summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gts80.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gts80.cpp')
-rw-r--r--src/mame/drivers/gts80.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mame/drivers/gts80.cpp b/src/mame/drivers/gts80.cpp
index 9b7f1a02f9c..5ee2f60b165 100644
--- a/src/mame/drivers/gts80.cpp
+++ b/src/mame/drivers/gts80.cpp
@@ -38,6 +38,7 @@ public:
, m_maincpu(*this, "maincpu")
, m_r0_sound(*this, "r0sound")
, m_r1_sound(*this, "r1sound")
+ , m_digits(*this, "digit%u", 0U)
{ }
DECLARE_DRIVER_INIT(gts80);
@@ -59,9 +60,11 @@ private:
uint8_t m_lamprow;
uint8_t m_swrow;
virtual void machine_reset() override;
+ virtual void machine_start() override { m_digits.resolve(); }
required_device<cpu_device> m_maincpu;
optional_device<gottlieb_sound_r0_device> m_r0_sound;
optional_device<gottlieb_sound_r1_device> m_r1_sound;
+ output_finder<56> m_digits;
};
void gts80_state::gts80_map(address_map &map)
@@ -306,15 +309,15 @@ WRITE8_MEMBER( gts80_state::port2a_w )
{
case 0x10: // player 1&2
if (!BIT(m_segment, 7)) seg2 |= 0x300; // put '1' in the middle
- output().set_digit_value(data & 15, seg2);
+ m_digits[data & 15] = seg2;
break;
case 0x20: // player 3&4
if (!BIT(m_segment, 7)) seg2 |= 0x300; // put '1' in the middle
- output().set_digit_value((data & 15)+20, seg2);
+ m_digits[(data & 15)+20] = seg2;
break;
case 0x40: // credits & balls
if (!BIT(m_segment, 7)) m_segment = 1; // turn '1' back to normal
- output().set_digit_value((data & 15)+40, patterns[m_segment & 15]);
+ m_digits[(data & 15)+40] = patterns[m_segment & 15];
break;
}
}