12
12
#include " machine/gen_latch.h"
13
13
#include " machine/upd765.h"
14
14
#include " screen.h"
15
- #include " sound/beep.h"
16
- #include " speaker.h"
17
15
#include " video/pc_vga.h"
18
16
#include " kn5000.lh"
19
17
@@ -97,9 +95,10 @@ class kn5000_state : public driver_device
97
95
, m_maincpu_latch(*this , " maincpu_latch" )
98
96
, m_subcpu_latch(*this , " subcpu_latch" )
99
97
, m_fdc(*this , " fdc" )
100
- , m_checking_device_led_cn11(*this , " checking_device_led_cn11" )
101
98
, m_CPL_SEG(*this , " CPL_SEG%u" , 0U )
102
99
, 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" )
103
102
, m_CPL_LED(*this , " CPL_%u" , 0U )
104
103
, m_CPR_LED(*this , " CPR_%u" , 0U )
105
104
, m_led_row(0 )
@@ -115,9 +114,10 @@ class kn5000_state : public driver_device
115
114
required_device<generic_latch_8_device> m_maincpu_latch;
116
115
required_device<generic_latch_8_device> m_subcpu_latch;
117
116
required_device<upd72067_device> m_fdc;
118
- required_device<beep_device> m_checking_device_led_cn11;
119
117
required_ioport_array<11 > m_CPL_SEG; // buttons on "Control Panel Left" PCB
120
118
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;
121
121
output_finder<50 > m_CPL_LED;
122
122
output_finder<69 > m_CPR_LED;
123
123
uint8_t m_led_row;
@@ -590,14 +590,16 @@ void kn5000_state::machine_start()
590
590
save_item (NAME (m_mstat));
591
591
save_item (NAME (m_sstat));
592
592
593
+ m_checking_device_led_cn11.resolve ();
594
+ m_checking_device_led_cn12.resolve ();
593
595
m_CPL_LED.resolve ();
594
596
m_CPR_LED.resolve ();
595
597
}
596
598
597
599
void kn5000_state::machine_reset ()
598
600
{
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 ;
601
603
}
602
604
603
605
void kn5000_state::kn5000 (machine_config &config)
@@ -636,7 +638,7 @@ void kn5000_state::kn5000(machine_config &config)
636
638
// bit 0 (input) = "check terminal" switch
637
639
// bit 1 (output) = "check terminal" LED
638
640
// 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); });
640
642
641
643
642
644
// MAINCPU PORT D:
@@ -704,6 +706,11 @@ void kn5000_state::kn5000(machine_config &config)
704
706
// Address bus is set to 8 bits by the pins AM1=GND and AM0=GND
705
707
m_subcpu->set_addrmap (AS_PROGRAM, &kn5000_state::subcpu_mem);
706
708
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); });
707
714
708
715
// SUBCPU PORT D:
709
716
// bit 0 = (output) SSTAT0
@@ -749,11 +756,6 @@ void kn5000_state::kn5000(machine_config &config)
749
756
vga.set_vram_size (0x100000 );
750
757
751
758
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 );
757
759
}
758
760
759
761
ROM_START (kn5000)
0 commit comments