diff --git a/src/mame/layout/kn5000.lay b/src/mame/layout/kn5000.lay
index 342158d34f9e8..03aae534cc12d 100644
--- a/src/mame/layout/kn5000.lay
+++ b/src/mame/layout/kn5000.lay
@@ -74,6 +74,8 @@ license:CC0-1.0
+
+
@@ -640,8 +642,14 @@ license:CC0-1.0
+
+
+
+
+
+
diff --git a/src/mame/matsushita/kn5000.cpp b/src/mame/matsushita/kn5000.cpp
index 2f7b75146ea4c..89e3c4fda520c 100644
--- a/src/mame/matsushita/kn5000.cpp
+++ b/src/mame/matsushita/kn5000.cpp
@@ -12,8 +12,6 @@
#include "machine/gen_latch.h"
#include "machine/upd765.h"
#include "screen.h"
-#include "sound/beep.h"
-#include "speaker.h"
#include "video/pc_vga.h"
#include "kn5000.lh"
@@ -97,9 +95,10 @@ class kn5000_state : public driver_device
, m_maincpu_latch(*this, "maincpu_latch")
, m_subcpu_latch(*this, "subcpu_latch")
, m_fdc(*this, "fdc")
- , m_checking_device_led_cn11(*this, "checking_device_led_cn11")
, m_CPL_SEG(*this, "CPL_SEG%u", 0U)
, m_CPR_SEG(*this, "CPR_SEG%u", 0U)
+ , m_checking_device_led_cn11(*this, "checking_device_led_cn11")
+ , m_checking_device_led_cn12(*this, "checking_device_led_cn12")
, m_CPL_LED(*this, "CPL_%u", 0U)
, m_CPR_LED(*this, "CPR_%u", 0U)
, m_led_row(0)
@@ -115,9 +114,10 @@ class kn5000_state : public driver_device
required_device m_maincpu_latch;
required_device m_subcpu_latch;
required_device m_fdc;
- required_device m_checking_device_led_cn11;
required_ioport_array<11> m_CPL_SEG; // buttons on "Control Panel Left" PCB
required_ioport_array<11> m_CPR_SEG; // buttons on "Control Panel Right" PCB
+ output_finder<> m_checking_device_led_cn11;
+ output_finder<> m_checking_device_led_cn12;
output_finder<50> m_CPL_LED;
output_finder<69> m_CPR_LED;
uint8_t m_led_row;
@@ -590,14 +590,16 @@ void kn5000_state::machine_start()
save_item(NAME(m_mstat));
save_item(NAME(m_sstat));
+ m_checking_device_led_cn11.resolve();
+ m_checking_device_led_cn12.resolve();
m_CPL_LED.resolve();
m_CPR_LED.resolve();
}
void kn5000_state::machine_reset()
{
- /* Setup beep */
- m_checking_device_led_cn11->set_state(0);
+ m_checking_device_led_cn11 = 0;
+ m_checking_device_led_cn12 = 0;
}
void kn5000_state::kn5000(machine_config &config)
@@ -636,7 +638,7 @@ void kn5000_state::kn5000(machine_config &config)
// bit 0 (input) = "check terminal" switch
// bit 1 (output) = "check terminal" LED
// TODO: m_maincpu->portc_read().set([this] { return ioport("CN11")->read(); });
- // TODO: m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11->set_state(BIT(data, 1) == 0); });
+ // TODO: m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11 = (BIT(data, 1) == 0); });
// MAINCPU PORT D:
@@ -704,6 +706,11 @@ void kn5000_state::kn5000(machine_config &config)
// Address bus is set to 8 bits by the pins AM1=GND and AM0=GND
m_subcpu->set_addrmap(AS_PROGRAM, &kn5000_state::subcpu_mem);
+ // SUBCPU PORT C:
+ // bit 0 (input) = "check terminal" switch
+ // bit 1 (output) = "check terminal" LED
+ // TODO: m_maincpu->portc_read().set([this] { return ioport("CN12")->read(); });
+ // TODO: m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn12 = (BIT(data, 1) == 0); });
// SUBCPU PORT D:
// bit 0 = (output) SSTAT0
@@ -749,11 +756,6 @@ void kn5000_state::kn5000(machine_config &config)
vga.set_vram_size(0x100000);
config.set_default_layout(layout_kn5000);
-
- // Checking device is actually an LED but here it is declared as a beep
- // because I find it more convenient to listen to it while debugging the driver
- SPEAKER(config, "mono").front_center();
- BEEP(config, "checking_device_led_cn11", 12_MHz_XTAL / 3200).add_route(ALL_OUTPUTS, "mono", 0.05);
}
ROM_START(kn5000)