diff options
Diffstat (limited to 'src/mame/drivers/gp_1.cpp')
-rw-r--r-- | src/mame/drivers/gp_1.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mame/drivers/gp_1.cpp b/src/mame/drivers/gp_1.cpp index cb5851f2cd7..7f5d3fe5658 100644 --- a/src/mame/drivers/gp_1.cpp +++ b/src/mame/drivers/gp_1.cpp @@ -49,6 +49,7 @@ public: , m_io_x9(*this, "X9") , m_io_xa(*this, "XA") , m_io_xb(*this, "XB") + , m_digits(*this, "digit%u", 0U) { } DECLARE_DRIVER_INIT(gp_1); @@ -66,6 +67,7 @@ private: uint8_t m_digit; uint8_t m_segment[16]; virtual void machine_reset() override; + virtual void machine_start() override { m_digits.resolve(); } required_device<cpu_device> m_maincpu; required_device<z80ctc_device> m_ctc; optional_device<sn76477_device> m_sn; @@ -78,6 +80,7 @@ private: required_ioport m_io_x9; required_ioport m_io_xa; required_ioport m_io_xb; + output_finder<40> m_digits; }; @@ -360,10 +363,10 @@ WRITE8_MEMBER( gp_1_state::porta_w ) else if (m_u14 == 8) { - output().set_digit_value(m_digit, patterns[m_segment[8]]); - output().set_digit_value(m_digit+8, patterns[m_segment[9]]); - output().set_digit_value(m_digit+16, patterns[m_segment[10]]); - output().set_digit_value(m_digit+24, patterns[m_segment[11]]); + m_digits[m_digit] = patterns[m_segment[8]]; + m_digits[m_digit+8] = patterns[m_segment[9]]; + m_digits[m_digit+16] = patterns[m_segment[10]]; + m_digits[m_digit+24] = patterns[m_segment[11]]; } } |