summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/devices/sound/s14001a.cpp22
-rw-r--r--src/mame/drivers/berzerk.cpp1
-rw-r--r--src/mame/drivers/fidelz80.cpp15
-rw-r--r--src/mame/drivers/st_mp200.cpp6
-rw-r--r--src/mame/drivers/wolfpack.cpp1
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<m6800_cpu_device> m_maincpu;
optional_device<s14001a_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);
}