(nw) enmirage : output finder

This commit is contained in:
Robbbert 2018-04-10 12:01:00 +10:00
parent df7152782a
commit befad507bc

View File

@ -61,7 +61,8 @@ public:
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_fdc(*this, "wd1772"), m_fdc(*this, "wd1772"),
m_via(*this, "via6522") m_via(*this, "via6522"),
m_digits(*this, "digit%u", 0U)
{ {
} }
@ -78,6 +79,7 @@ public:
void mirage_map(address_map &map); void mirage_map(address_map &map);
protected: protected:
virtual void machine_reset() override; virtual void machine_reset() override;
virtual void machine_start() override { m_digits.resolve(); }
virtual void video_start() override; virtual void video_start() override;
required_device<mc6809e_device> m_maincpu; required_device<mc6809e_device> m_maincpu;
@ -88,6 +90,7 @@ protected:
uint8_t m_l_segs, m_r_segs; uint8_t m_l_segs, m_r_segs;
int m_l_hi, m_r_hi; int m_l_hi, m_r_hi;
output_finder<2> m_digits;
}; };
FLOPPY_FORMATS_MEMBER( enmirage_state::floppy_formats ) FLOPPY_FORMATS_MEMBER( enmirage_state::floppy_formats )
@ -165,7 +168,7 @@ WRITE8_MEMBER(enmirage_state::mirage_via_write_porta)
} }
m_l_hi = seg; m_l_hi = seg;
output().set_digit_value(0, m_l_segs); m_digits[0] = m_l_segs;
// printf("L LED: seg %d (hi %d conv %02x, %02x)\n", seg, m_l_hi, segconv[seg], m_l_segs); // printf("L LED: seg %d (hi %d conv %02x, %02x)\n", seg, m_l_hi, segconv[seg], m_l_segs);
} }
// right LED selected? // right LED selected?
@ -183,7 +186,7 @@ WRITE8_MEMBER(enmirage_state::mirage_via_write_porta)
} }
m_r_hi = seg; m_r_hi = seg;
output().set_digit_value(1, m_r_segs); m_digits[1] = m_r_segs;
// printf("R LED: seg %d (hi %d conv %02x, %02x)\n", seg, m_r_hi, segconv[seg], m_r_segs); // printf("R LED: seg %d (hi %d conv %02x, %02x)\n", seg, m_r_hi, segconv[seg], m_r_segs);
} }
} }