s14001a: set default amp to 15

This commit is contained in:
hap 2016-01-18 11:25:38 +01:00
parent d6d2b0d917
commit 9d9e116dd6
5 changed files with 15 additions and 30 deletions

View File

@ -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++)
{

View File

@ -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));

View File

@ -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));
}

View File

@ -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;

View File

@ -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);
}