From 9d9e116dd6f32d5cb572b6ab2db1ac14978c36a2 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 18 Jan 2016 11:25:38 +0100 Subject: s14001a: set default amp to 15 --- src/devices/sound/s14001a.cpp | 22 ++-------------------- src/mame/drivers/berzerk.cpp | 1 + src/mame/drivers/fidelz80.cpp | 15 ++++++--------- src/mame/drivers/st_mp200.cpp | 6 ++++++ src/mame/drivers/wolfpack.cpp | 1 - 5 files changed, 15 insertions(+), 30 deletions(-) diff --git a/src/devices/sound/s14001a.cpp b/src/devices/sound/s14001a.cpp index c89ff1ed3d2..9684ccdccb3 100644 --- a/src/devices/sound/s14001a.cpp +++ b/src/devices/sound/s14001a.cpp @@ -571,26 +571,7 @@ s14001a_device::s14001a_device(const machine_config &mconfig, std::string tag, d m_SpeechRom(*this, DEVICE_SELF), m_stream(nullptr), m_bsy_handler(*this), - m_ext_read_handler(*this), - m_WordInput(0), - m_LatchedWord(0), - m_SyllableAddress(0), - m_PhoneAddress(0), - m_PlayParams(0), - m_PhoneOffset(0), - m_LengthCounter(0), - m_RepeatCounter(0), - m_OutputCounter(0), - m_machineState(0), - m_nextstate(0), - m_laststate(0), - m_resetState(0), - m_oddeven(0), - m_GlobalSilenceState(1), - m_OldDelta(0x02), - m_DACOutput(SILENCE), - m_audioout(0), - m_VSU1000_amp(0) + m_ext_read_handler(*this) { } @@ -603,6 +584,7 @@ void s14001a_device::device_start() m_GlobalSilenceState = 1; m_OldDelta = 0x02; m_DACOutput = SILENCE; + m_VSU1000_amp = 15; for (int i = 0; i < 8; i++) { diff --git a/src/mame/drivers/berzerk.cpp b/src/mame/drivers/berzerk.cpp index f5e905b305d..06756a7c622 100644 --- a/src/mame/drivers/berzerk.cpp +++ b/src/mame/drivers/berzerk.cpp @@ -334,6 +334,7 @@ void berzerk_state::machine_start() { create_irq_timer(); create_nmi_timer(); + m_s14001a->set_volume(0); /* register for state saving */ save_item(NAME(m_magicram_control)); diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp index 072cb1dcca7..f1efa69b9c1 100644 --- a/src/mame/drivers/fidelz80.cpp +++ b/src/mame/drivers/fidelz80.cpp @@ -73,7 +73,7 @@ PB.3 - digit 1, top dot (W) PB.4 - digit 2 (W) PB.5 - digit 3 (W) PB.6 - enable language switches (W, see below) -PB.7 - TSI DONE line (R) +PB.7 - TSI BSY line (R) (button rows pulled up to 5V through 2.2K resistors) PC.0 - button row 0, German language jumper (R) @@ -335,7 +335,7 @@ PA7 - 7seg segments D PB0 - A12 on speech ROM (if used... not used on this model, ROM is 4K) PB1 - START line on S14001A PB2 - white wire -PB3 - DONE line from S14001A +PB3 - BSY line from S14001A PB4 - Tone line (toggle to make a tone in the speaker) PB5 - button column I PB6 - selection jumper (resistor to 5V) @@ -562,7 +562,7 @@ PB.0 - button column I PB.1 - button row 9 PB.2 - Tone line (toggle to make tone in the speaker) PB.3 - violet wire -PB.4 - white wire (and TSI done line) +PB.4 - white wire (and TSI BSY line) PB.5 - selection jumper input (see below) PB.6 - TSI start line PB.7 - TSI ROM D0 line @@ -812,7 +812,6 @@ WRITE8_MEMBER(fidelz80_state::vcc_ppi_porta_w) // d0-d5: TSI A0-A5 // d7: TSI START line - m_speech->set_volume(15); // hack, s14001a core should assume a volume of 15 unless otherwise stated... m_speech->reg_w(data & 0x3f); m_speech->rst_w(data >> 7 & 1); @@ -822,7 +821,7 @@ WRITE8_MEMBER(fidelz80_state::vcc_ppi_porta_w) READ8_MEMBER(fidelz80_state::vcc_ppi_portb_r) { - // d7: TSI DONE line + // d7: TSI BSY line return (m_speech->bsy_r()) ? 0x80 : 0x00; } @@ -922,7 +921,7 @@ READ8_MEMBER(fidelz80_state::vsc_pio_portb_r) { UINT8 ret = 0; - // d4: TSI DONE line + // d4: TSI BSY line ret |= (m_speech->bsy_r()) ? 0 : 0x10; return ret; @@ -937,7 +936,6 @@ WRITE8_MEMBER(fidelz80_state::vsc_pio_portb_w) m_speaker->level_w(data >> 2 & 1); // d6: TSI START line - m_speech->set_volume(15); // hack, s14001a core should assume a volume of 15 unless otherwise stated... m_speech->rst_w(data >> 6 & 1); } @@ -1081,8 +1079,7 @@ READ8_MEMBER(fidelz80_state::mcu_status_r) WRITE8_MEMBER(fidelz80_state::bridgec_speech_w) { - // todo: HALT THE z80 here, and set up a callback to poll the s14001a DONE line to resume z80 - m_speech->set_volume(15); // hack, s14001a core should assume a volume of 15 unless otherwise stated... + // todo: HALT THE z80 here, and set up a callback to poll the s14001a BSY line to resume z80 m_speech->reg_w(data & 0x3f); m_speech->rst_w(BIT(data, 7)); } diff --git a/src/mame/drivers/st_mp200.cpp b/src/mame/drivers/st_mp200.cpp index e95abd5ee29..26cdfba5963 100644 --- a/src/mame/drivers/st_mp200.cpp +++ b/src/mame/drivers/st_mp200.cpp @@ -78,6 +78,7 @@ private: UINT8 m_digit; UINT8 m_counter; UINT8 m_segment[5]; + virtual void machine_start() override; virtual void machine_reset() override; required_device m_maincpu; optional_device m_s14001a; @@ -534,6 +535,11 @@ WRITE8_MEMBER( st_mp200_state::u11_b_w ) } } +void st_mp200_state::machine_start() +{ + m_s14001a->set_volume(0); +} + void st_mp200_state::machine_reset() { m_u10a = 0; diff --git a/src/mame/drivers/wolfpack.cpp b/src/mame/drivers/wolfpack.cpp index 01bf3937b5a..ba73f8c727e 100644 --- a/src/mame/drivers/wolfpack.cpp +++ b/src/mame/drivers/wolfpack.cpp @@ -98,7 +98,6 @@ WRITE8_MEMBER(wolfpack_state::wolfpack_word_w) WRITE8_MEMBER(wolfpack_state::wolfpack_start_speech_w) { - m_s14001a->set_volume(15); /* hack, should be executed just once during game init, or defaulted to this in the s14001a core */ m_s14001a->rst_w(data&1); } -- cgit v1.2.3