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 bad52963a0017..2cf80673f1e45 100644 --- a/src/mame/matsushita/kn5000.cpp +++ b/src/mame/matsushita/kn5000.cpp @@ -13,8 +13,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" @@ -103,11 +101,12 @@ 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_extension(*this, "extension") , m_extension_view(*this, "extension_view") , 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) @@ -123,12 +122,13 @@ 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_device m_extension; memory_view m_extension_view; 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; @@ -667,14 +667,16 @@ void kn5000_state::machine_start() } #endif // EXTENSION_VIEW + 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) @@ -713,7 +715,7 @@ void kn5000_state::kn5000(machine_config &config) // bit 0 (input) = "check terminal" switch // bit 1 (output) = "check terminal" LED m_maincpu->portc_read().set([this] { return ioport("CN11")->read(); }); - m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11->set_state(BIT(data, 1) == 0); }); + m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11 = (BIT(data, 1) == 0); }); // MAINCPU PORT D: @@ -781,6 +783,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 + m_subcpu->portc_read().set([this] { return ioport("CN12")->read(); }); + m_subcpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn12 = (BIT(data, 1) == 0); }); // SUBCPU PORT D: // bit 0 = (output) SSTAT0 @@ -836,11 +843,6 @@ void kn5000_state::kn5000(machine_config &config) vga.set_vram_size(0x100000); config.set_default_layout(layout_kn5000); - - // This is a quick hack to beep whenever the checking device LED is on - // (just because I find it more convenient to listen to the beeps 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)