diff options
Diffstat (limited to 'src/devices/bus/sunkbd/hlekbd.cpp')
-rw-r--r-- | src/devices/bus/sunkbd/hlekbd.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/devices/bus/sunkbd/hlekbd.cpp b/src/devices/bus/sunkbd/hlekbd.cpp index 616a2cbd66f..a32365fa388 100644 --- a/src/devices/bus/sunkbd/hlekbd.cpp +++ b/src/devices/bus/sunkbd/hlekbd.cpp @@ -753,6 +753,7 @@ hle_device_base::hle_device_base( , m_dips(*this, "DIP") , m_click_timer(nullptr) , m_beeper(*this, "beeper") + , m_led(*this, "led%u", 0U) , m_make_count(0U) , m_rx_state(RX_IDLE) , m_keyclick(0U) @@ -802,6 +803,7 @@ MACHINE_CONFIG_END void hle_device_base::device_start() { + m_led.resolve(); m_click_timer = timer_alloc(CLICK_TIMER_ID); save_item(NAME(m_make_count)); @@ -836,11 +838,11 @@ void hle_device_base::device_reset() output_rxd(1); // start with keyboard LEDs off - machine().output().set_led_value(LED_NUM, 0); - machine().output().set_led_value(LED_COMPOSE, 0); - machine().output().set_led_value(LED_SCROLL, 0); - machine().output().set_led_value(LED_CAPS, 0); - machine().output().set_led_value(LED_KANA, 0); + m_led[LED_NUM] = 0; + m_led[LED_COMPOSE] = 0; + m_led[LED_SCROLL] = 0; + m_led[LED_CAPS] = 0; + m_led[LED_KANA] = 0; // no beep m_click_timer->reset(); @@ -972,11 +974,11 @@ void hle_device_base::received_byte(uint8_t byte) switch (m_rx_state) { case RX_LED: - machine().output().set_led_value(LED_NUM, BIT(byte, 0)); - machine().output().set_led_value(LED_COMPOSE, BIT(byte, 1)); - machine().output().set_led_value(LED_SCROLL, BIT(byte, 2)); - machine().output().set_led_value(LED_CAPS, BIT(byte, 3)); - machine().output().set_led_value(LED_KANA, BIT(byte, 4)); + m_led[LED_NUM] = BIT(byte, 0); + m_led[LED_COMPOSE] = BIT(byte, 1); + m_led[LED_SCROLL] = BIT(byte, 2); + m_led[LED_CAPS] = BIT(byte, 3); + m_led[LED_KANA] = BIT(byte, 4); m_rx_state = RX_IDLE; break; |