From e6325e8c31ca4542207f5798f1e7c7f1fe7b1cc3 Mon Sep 17 00:00:00 2001 From: Sergey Svishchev Date: Thu, 6 Nov 2014 00:02:03 +0300 Subject: [PATCH] mc1502: re-add speaker output --- src/mess/drivers/mc1502.c | 16 ++++++++++++++-- src/mess/includes/mc1502.h | 7 +++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/mess/drivers/mc1502.c b/src/mess/drivers/mc1502.c index 6909d05b61d..7782ccc5326 100644 --- a/src/mess/drivers/mc1502.c +++ b/src/mess/drivers/mc1502.c @@ -76,7 +76,7 @@ WRITE8_MEMBER(mc1502_state::mc1502_ppi_portb_w) // DBG_LOG(2,"mc1502_ppi_portb_w",("( %02X )\n", data)); m_ppi_portb = data; m_pit8253->write_gate2(BIT(data, 0)); -// mc1502_speaker_set_spkrdata(BIT(data, 1)); + mc1502_speaker_set_spkrdata(BIT(data, 1)); m_centronics->write_strobe(BIT(data, 2)); m_centronics->write_autofd(BIT(data, 3)); m_centronics->write_init(BIT(data, 4)); @@ -163,10 +163,16 @@ WRITE_LINE_MEMBER(mc1502_state::mc1502_pit8253_out1_changed) WRITE_LINE_MEMBER(mc1502_state::mc1502_pit8253_out2_changed) { m_pit_out2 = state; -// mc1502_speaker_set_input( state ); + m_speaker->level_w(m_spkrdata & m_pit_out2); m_cassette->output(state ? 1 : -1); } +WRITE_LINE_MEMBER(mc1502_state::mc1502_speaker_set_spkrdata) +{ + m_spkrdata = state ? 1 : 0; + m_speaker->level_w(m_spkrdata & m_pit_out2); +} + DRIVER_INIT_MEMBER( mc1502_state, mc1502 ) { address_space &program = m_maincpu->space(AS_PROGRAM); @@ -197,6 +203,12 @@ MACHINE_START_MEMBER( mc1502_state, mc1502 ) MACHINE_RESET_MEMBER( mc1502_state, mc1502 ) { DBG_LOG(0,"init",("machine_reset()\n")); + + m_spkrdata = 0; + m_pit_out2 = 1; + m_ppi_portb = 0; + m_ppi_portc = 0; + m_speaker->level_w(0); } /* diff --git a/src/mess/includes/mc1502.h b/src/mess/includes/mc1502.h index d8bc6978a2f..7eef3a13a26 100644 --- a/src/mess/includes/mc1502.h +++ b/src/mess/includes/mc1502.h @@ -59,10 +59,9 @@ public: emu_timer *keyb_signal_timer; } m_kbd; - UINT8 m_ppi_portb; - UINT8 m_ppi_portc; - UINT8 m_mc1502_spkrdata; - UINT8 m_mc1502_input; + UINT8 m_ppi_portb; + UINT8 m_ppi_portc; + UINT8 m_spkrdata; DECLARE_WRITE_LINE_MEMBER(mc1502_pit8253_out1_changed); DECLARE_WRITE_LINE_MEMBER(mc1502_pit8253_out2_changed);