Skip to content

Commit 87d6206

Browse files
committed
checking device LEDs
1 parent d26f7f3 commit 87d6206

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

src/mame/layout/kn5000.lay

+8
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ license:CC0-1.0
7474
<rect><color red="0.05" green="0.05" blue="0.05"/></rect>
7575
</element>
7676

77+
<element name="maincpu_text"><text string="MAIN CPU"><color red="0.3" green="0.3" blue="0.3" /></text></element>
78+
<element name="subcpu_text"><text string="SUB CPU"><color red="0.3" green="0.3" blue="0.3" /></text></element>
7779

7880
<element name="msp_title"><text string="MANUAL SEQUENCE PADS"><color red="0.79" green="0.64" blue="0.49" /></text></element>
7981
<element name="demo_text"><text string="DEMO"><color red="0.79" green="0.64" blue="0.49" /></text></element>
@@ -640,8 +642,14 @@ license:CC0-1.0
640642
<element name="CPR_67" ref="green_led"><!-- START/STOP 3 BEAT --><bounds x="716" y="558" width="5" height="5"/></element>
641643
<element name="CPR_68" ref="green_led"><!-- START/STOP 4 BEAT --><bounds x="732" y="558" width="5" height="5"/></element>
642644

645+
<element name="checking_device_led_cn11" ref="red_led"><!-- MAINCPU CHECK LED --><bounds x="1270" y="10" width="5" height="5"/></element>
646+
<element name="checking_device_led_cn12" ref="red_led"><!-- SUBCPU CHECK LED --><bounds x="1270" y="20" width="5" height="5"/></element>
647+
643648
<!-- Labels -->
644649

650+
<element ref="maincpu_text"><bounds x="1235" y="8" width="30" height="8"/></element>
651+
<element ref="subcpu_text"><bounds x="1235" y="18" width="30" height="8"/></element>
652+
645653
<element ref="demo_text"><bounds x="34" y="228" width="20" height="8"/></element>
646654

647655
<element ref="line"><bounds x="106" y="210" width="45" height="1"/></element>

src/mame/matsushita/kn5000.cpp

+14-12
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
#include "machine/gen_latch.h"
1313
#include "machine/upd765.h"
1414
#include "screen.h"
15-
#include "sound/beep.h"
16-
#include "speaker.h"
1715
#include "video/pc_vga.h"
1816
#include "kn5000.lh"
1917

@@ -97,9 +95,10 @@ class kn5000_state : public driver_device
9795
, m_maincpu_latch(*this, "maincpu_latch")
9896
, m_subcpu_latch(*this, "subcpu_latch")
9997
, m_fdc(*this, "fdc")
100-
, m_checking_device_led_cn11(*this, "checking_device_led_cn11")
10198
, m_CPL_SEG(*this, "CPL_SEG%u", 0U)
10299
, m_CPR_SEG(*this, "CPR_SEG%u", 0U)
100+
, m_checking_device_led_cn11(*this, "checking_device_led_cn11")
101+
, m_checking_device_led_cn12(*this, "checking_device_led_cn12")
103102
, m_CPL_LED(*this, "CPL_%u", 0U)
104103
, m_CPR_LED(*this, "CPR_%u", 0U)
105104
, m_led_row(0)
@@ -115,9 +114,10 @@ class kn5000_state : public driver_device
115114
required_device<generic_latch_8_device> m_maincpu_latch;
116115
required_device<generic_latch_8_device> m_subcpu_latch;
117116
required_device<upd72067_device> m_fdc;
118-
required_device<beep_device> m_checking_device_led_cn11;
119117
required_ioport_array<11> m_CPL_SEG; // buttons on "Control Panel Left" PCB
120118
required_ioport_array<11> m_CPR_SEG; // buttons on "Control Panel Right" PCB
119+
output_finder<> m_checking_device_led_cn11;
120+
output_finder<> m_checking_device_led_cn12;
121121
output_finder<50> m_CPL_LED;
122122
output_finder<69> m_CPR_LED;
123123
uint8_t m_led_row;
@@ -590,14 +590,16 @@ void kn5000_state::machine_start()
590590
save_item(NAME(m_mstat));
591591
save_item(NAME(m_sstat));
592592

593+
m_checking_device_led_cn11.resolve();
594+
m_checking_device_led_cn12.resolve();
593595
m_CPL_LED.resolve();
594596
m_CPR_LED.resolve();
595597
}
596598

597599
void kn5000_state::machine_reset()
598600
{
599-
/* Setup beep */
600-
m_checking_device_led_cn11->set_state(0);
601+
m_checking_device_led_cn11 = 0;
602+
m_checking_device_led_cn12 = 0;
601603
}
602604

603605
void kn5000_state::kn5000(machine_config &config)
@@ -636,7 +638,7 @@ void kn5000_state::kn5000(machine_config &config)
636638
// bit 0 (input) = "check terminal" switch
637639
// bit 1 (output) = "check terminal" LED
638640
// TODO: m_maincpu->portc_read().set([this] { return ioport("CN11")->read(); });
639-
// TODO: m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11->set_state(BIT(data, 1) == 0); });
641+
// TODO: m_maincpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn11 = (BIT(data, 1) == 0); });
640642

641643

642644
// MAINCPU PORT D:
@@ -704,6 +706,11 @@ void kn5000_state::kn5000(machine_config &config)
704706
// Address bus is set to 8 bits by the pins AM1=GND and AM0=GND
705707
m_subcpu->set_addrmap(AS_PROGRAM, &kn5000_state::subcpu_mem);
706708

709+
// SUBCPU PORT C:
710+
// bit 0 (input) = "check terminal" switch
711+
// bit 1 (output) = "check terminal" LED
712+
// TODO: m_subcpu->portc_read().set([this] { return ioport("CN12")->read(); });
713+
// TODO: m_subcpu->portc_write().set([this] (u8 data) { m_checking_device_led_cn12 = (BIT(data, 1) == 0); });
707714

708715
// SUBCPU PORT D:
709716
// bit 0 = (output) SSTAT0
@@ -749,11 +756,6 @@ void kn5000_state::kn5000(machine_config &config)
749756
vga.set_vram_size(0x100000);
750757

751758
config.set_default_layout(layout_kn5000);
752-
753-
// Checking device is actually an LED but here it is declared as a beep
754-
// because I find it more convenient to listen to it while debugging the driver
755-
SPEAKER(config, "mono").front_center();
756-
BEEP(config, "checking_device_led_cn11", 12_MHz_XTAL / 3200).add_route(ALL_OUTPUTS, "mono", 0.05);
757759
}
758760

759761
ROM_START(kn5000)

0 commit comments

Comments
 (0)