MT2099: Reduce overdriven audio volumes.

This commit is contained in:
Aaron Giles 2021-08-26 22:02:53 -07:00
parent ffe2284326
commit d30361b7f0
15 changed files with 58 additions and 53 deletions

View File

@ -323,7 +323,7 @@ static const char *const alphamc07_sample_names[] =
};
#define MSM5232_BASE_VOLUME 1.0
#define MSM5232_BASE_VOLUME 0.7
//-------------------------------------------------
// device_add_mconfig - add device configuration
@ -358,22 +358,22 @@ void ad_59mc07_device::device_add_mconfig(machine_config &config)
m_msm->add_route(5, "speaker", MSM5232_BASE_VOLUME/1.5); // pin 35 4'-2 : 15k resistor
m_msm->add_route(6, "speaker", MSM5232_BASE_VOLUME); // pin 34 8'-2 : 10k resistor
m_msm->add_route(7, "speaker", MSM5232_BASE_VOLUME); // pin 33 16'-2 : 10k resistor
m_msm->add_route(8, "speaker", 1.0); // pin 1 SOLO 8' (this actually feeds an analog section)
m_msm->add_route(9, "speaker", 1.0); // pin 2 SOLO 16' (this actually feeds an analog section)
m_msm->add_route(10,"speaker", 0.12); // pin 22 Noise Output (this actually feeds an analog section)
m_msm->add_route(8, "speaker", 0.7); // pin 1 SOLO 8' (this actually feeds an analog section)
m_msm->add_route(9, "speaker", 0.7); // pin 2 SOLO 16' (this actually feeds an analog section)
m_msm->add_route(10,"speaker", 0.084); // pin 22 Noise Output (this actually feeds an analog section)
ay8910_device &aysnd(AY8910(config, "aysnd", 6.144_MHz_XTAL/4)); // verified on pcb
aysnd.port_a_write_callback().set(FUNC(ad_59mc07_device::ay8910_porta_w));
aysnd.port_b_write_callback().set(FUNC(ad_59mc07_device::ay8910_portb_w));
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.15);
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.105);
DAC_6BIT_R2R(config, m_dac_1, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
DAC_6BIT_R2R(config, m_dac_2, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
DAC_6BIT_R2R(config, m_dac_1, 0).add_route(ALL_OUTPUTS, "speaker", 0.35); // unknown DAC
DAC_6BIT_R2R(config, m_dac_2, 0).add_route(ALL_OUTPUTS, "speaker", 0.35); // unknown DAC
SAMPLES(config, m_samples);
m_samples->set_channels(3);
m_samples->set_samples_names(alphamc07_sample_names);
m_samples->add_route(ALL_OUTPUTS, "speaker", 0.3);
m_samples->add_route(ALL_OUTPUTS, "speaker", 0.21);
}

View File

@ -59,8 +59,8 @@ void decobsmt_device::device_add_mconfig(machine_config &config)
BSMT2000(config, m_bsmt, XTAL(24'000'000));
m_bsmt->set_addrmap(0, &decobsmt_device::bsmt_map);
m_bsmt->set_ready_callback(FUNC(decobsmt_device::bsmt_ready_callback));
m_bsmt->add_route(0, "lspeaker", 2.0);
m_bsmt->add_route(1, "rspeaker", 2.0);
m_bsmt->add_route(0, "lspeaker", 1.0);
m_bsmt->add_route(1, "rspeaker", 1.0);
}
//**************************************************************************

View File

@ -1349,7 +1349,7 @@ void dkong_state::dkong2b_audio(machine_config &config)
m_soundcpu->t1_in_cb().set(m_dev_6h, FUNC(latch8_device::bit4_q_r));
SPEAKER(config, "mono").front_center();
DISCRETE(config, "discrete", dkong2b_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
DISCRETE(config, "discrete", dkong2b_discrete).add_route(ALL_OUTPUTS, "mono", 0.9);
}
void dkong_state::radarscp_audio(machine_config &config)
@ -1421,7 +1421,7 @@ void dkong_state::dkongjr_audio(machine_config &config)
SPEAKER(config, "mono").front_center();
DISCRETE(config, "discrete", dkongjr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
DISCRETE(config, "discrete", dkongjr_discrete).add_route(ALL_OUTPUTS, "mono", 0.5);
}
void dkong_state::dkong3_audio(machine_config &config)

View File

@ -405,6 +405,6 @@ void hng64_state::hng64_audio(machine_config &config)
SPEAKER(config, "rspeaker").front_right();
L7A1045(config, m_dsp, 32000000/2); // ??
m_dsp->add_route(0, "lspeaker", 1.0);
m_dsp->add_route(1, "rspeaker", 1.0);
m_dsp->add_route(0, "lspeaker", 0.1);
m_dsp->add_route(1, "rspeaker", 0.1);
}

View File

@ -89,7 +89,6 @@ Graphics: CY37256P160-83AC x 2 (Ultra37000 CPLD family - 160 pin TQFP, 256 Macro
#include "cpu/z180/z180.h"
#include "machine/eepromser.h"
#include "machine/watchdog.h"
#include "sound/dac.h"
#include "speaker.h"
@ -376,6 +375,9 @@ void _20pacgal_state::machine_start()
m_game_selected = 0;
// center the DAC; not all revisions do this
m_dac->data_w(0x80);
// membank currently used only by 20pacgal
m_mainbank->configure_entry(0, memregion("maincpu")->base() + 0x08000);
m_mainbank->configure_entry(1, m_ram_48000.get());

View File

@ -791,15 +791,15 @@ void sstingray_state::sstingry(machine_config &config)
/* sound hardware */
ym2203_device &ym1(YM2203(config, "ym1", 3000000));
ym1.add_route(ALL_OUTPUTS, "speaker", 0.35);
ym1.add_route(ALL_OUTPUTS, "speaker", 0.30);
ym2203_device &ym2(YM2203(config, "ym2", 3000000));
ym2.add_route(ALL_OUTPUTS, "speaker", 0.35);
ym2.add_route(ALL_OUTPUTS, "speaker", 0.30);
ym2203_device &ym3(YM2203(config, "ym3", 3000000));
ym3.add_route(ALL_OUTPUTS, "speaker", 0.5);
ym3.add_route(ALL_OUTPUTS, "speaker", 0.45);
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.75); // unknown DAC
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.50); // unknown DAC
}
void kyros_state::kyros(machine_config &config)
@ -824,15 +824,15 @@ void kyros_state::kyros(machine_config &config)
/* sound hardware */
ym2203_device &ym1(YM2203(config, "ym1", 24_MHz_XTAL / 12)); /* Verified on bootleg PCB */
ym1.add_route(ALL_OUTPUTS, "speaker", 0.35);
ym1.add_route(ALL_OUTPUTS, "speaker", 0.30);
ym2203_device &ym2(YM2203(config, "ym2", 24_MHz_XTAL / 12)); /* Verified on bootleg PCB */
ym2.add_route(ALL_OUTPUTS, "speaker", 0.35);
ym2.add_route(ALL_OUTPUTS, "speaker", 0.30);
ym2203_device &ym3(YM2203(config, "ym3", 24_MHz_XTAL / 12)); /* Verified on bootleg PCB */
ym3.add_route(ALL_OUTPUTS, "speaker", 0.9);
ym3.add_route(ALL_OUTPUTS, "speaker", 0.6);
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.75); // unknown DAC
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.50); // unknown DAC
}
void jongbou_state::jongbou(machine_config &config)

View File

@ -1010,13 +1010,13 @@ void cvs_state::cvs(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
DAC_4BIT_R2R(config, m_dac2, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
DAC_1BIT(config, m_dac3, 0).add_route(ALL_OUTPUTS, "speaker", 0.99);
DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
DAC_4BIT_R2R(config, m_dac2, 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
DAC_1BIT(config, m_dac3, 0).add_route(ALL_OUTPUTS, "speaker", 0.5);
TMS5100(config, m_tms5110, XTAL(640'000));
m_tms5110->data().set(FUNC(cvs_state::speech_rom_read_bit));
m_tms5110->add_route(ALL_OUTPUTS, "speaker", 1.0);
m_tms5110->add_route(ALL_OUTPUTS, "speaker", 0.5);
}

View File

@ -617,8 +617,8 @@ INPUT_PORTS_END
void dc_cons_state::gdrom_config(device_t *device)
{
cdda_device *cdda = device->subdevice<cdda_device>("cdda");
cdda->add_route(0, "^^aica", 1.0);
cdda->add_route(1, "^^aica", 1.0);
cdda->add_route(0, "^^aica", 0.4);
cdda->add_route(1, "^^aica", 0.4);
}
void dc_cons_state::dc_base(machine_config &config)
@ -665,8 +665,8 @@ void dc_cons_state::dc_base(machine_config &config)
m_aica->irq().set(FUNC(dc_state::aica_irq));
m_aica->main_irq().set(FUNC(dc_state::sh4_aica_irq));
m_aica->set_addrmap(0, &dc_cons_state::aica_map);
m_aica->add_route(0, "lspeaker", 1.0);
m_aica->add_route(1, "rspeaker", 1.0);
m_aica->add_route(0, "lspeaker", 0.4);
m_aica->add_route(1, "rspeaker", 0.4);
AICARTC(config, "aicartc", XTAL(32'768));

View File

@ -1725,15 +1725,15 @@ void kaneko16_berlwall_state::berlwall(machine_config &config)
SPEAKER(config, "mono").front_center();
YM2149(config, m_ym2149[0], 1000000);
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
m_ym2149[0]->port_a_read_callback().set_ioport("DSW1");
m_ym2149[0]->port_b_read_callback().set_ioport("DSW2");
YM2149(config, m_ym2149[1], 1000000);
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 0.5);
OKIM6295(config, m_oki[0], 12000000/6, okim6295_device::PIN7_LOW);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
}
@ -1791,17 +1791,17 @@ void kaneko16_state::bakubrkr(machine_config &config)
SPEAKER(config, "mono").front_center();
YM2149(config, m_ym2149[0], XTAL(12'000'000)/6); /* verified on pcb */
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
m_ym2149[0]->port_b_write_callback().set(FUNC(kaneko16_state::oki_bank0_w<7>)); /* outputs B: OKI bank Switch */
YM2149(config, m_ym2149[1], XTAL(12'000'000)/6); /* verified on pcb */
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 0.5);
m_ym2149[1]->port_a_read_callback().set(FUNC(kaneko16_state::eeprom_r)); /* inputs A: 0,EEPROM bit read */
m_ym2149[1]->port_b_write_callback().set(FUNC(kaneko16_state::eeprom_cs_w)); /* outputs B: 0,EEPROM reset */
OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */
m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
}
@ -1917,10 +1917,10 @@ void kaneko16_state::wingforc(machine_config &config)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
YM2151(config, m_ymsnd, XTAL(16'000'000)/4);
m_ymsnd->add_route(ALL_OUTPUTS, "mono", 0.4);
m_ymsnd->add_route(ALL_OUTPUTS, "mono", 0.2);
OKIM6295(config, m_oki[0], XTAL(16'000'000)/16, okim6295_device::PIN7_HIGH);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map);
}
@ -2107,15 +2107,15 @@ void kaneko16_state::mgcrystl(machine_config &config)
SPEAKER(config, "mono").front_center();
YM2149(config, m_ym2149[0], XTAL(12'000'000)/6); /* verified on pcb */
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
YM2149(config, m_ym2149[1], XTAL(12'000'000)/6); /* verified on pcb */
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 0.5);
m_ym2149[1]->port_a_read_callback().set(FUNC(kaneko16_state::eeprom_r)); /* inputs A: 0,EEPROM bit read */
m_ym2149[1]->port_b_write_callback().set(FUNC(kaneko16_state::eeprom_cs_w)); /* outputs B: 0,EEPROM reset */
OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
}
@ -2228,11 +2228,11 @@ void kaneko16_shogwarr_state::shogwarr(machine_config &config)
OKIM6295(config, m_oki[0], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW);
m_oki[0]->set_addrmap(0, &kaneko16_shogwarr_state::gtmr_oki1_map);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
OKIM6295(config, m_oki[1], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW);
m_oki[1]->set_addrmap(0, &kaneko16_shogwarr_state::gtmr_oki2_map);
m_oki[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki[1]->add_route(ALL_OUTPUTS, "mono", 0.5);
}

View File

@ -816,11 +816,11 @@ void lethalj_state::gameroom(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
OKIM6295(config, "oki1", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.8);
OKIM6295(config, "oki1", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.33);
OKIM6295(config, "oki2", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.8);
OKIM6295(config, "oki2", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.33);
OKIM6295(config, "oki3", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.8);
OKIM6295(config, "oki3", SOUND_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.33);
}

View File

@ -965,8 +965,8 @@ void mcr68_state::spyhunt2(machine_config &config)
mcr68(config);
// Basic machine hardware
MIDWAY_SOUNDS_GOOD(config, m_sounds_good).add_route(ALL_OUTPUTS, "speaker", 1.0);
MIDWAY_TURBO_CHEAP_SQUEAK(config, m_turbo_cheap_squeak).add_route(ALL_OUTPUTS, "speaker", 1.0);
MIDWAY_SOUNDS_GOOD(config, m_sounds_good).add_route(ALL_OUTPUTS, "speaker", 0.5);
MIDWAY_TURBO_CHEAP_SQUEAK(config, m_turbo_cheap_squeak).add_route(ALL_OUTPUTS, "speaker", 0.5);
ADC0844(config, m_adc);
m_adc->ch1_callback().set_ioport("AN1");

View File

@ -1151,7 +1151,7 @@ void meritm_state::crt250(machine_config &config)
ay8930_device &aysnd(AY8930(config, "aysnd", SYSTEM_CLK/12));
aysnd.port_a_read_callback().set_ioport("DSW");
aysnd.port_b_write_callback().set(FUNC(meritm_state::ay8930_port_b_w));
aysnd.add_route(ALL_OUTPUTS, "mono", 1.0);
aysnd.add_route(ALL_OUTPUTS, "mono", 0.85);
}
void meritm_state::crt250_questions(machine_config &config)

View File

@ -102,7 +102,7 @@ void stellafr_state::stellafr(machine_config &config)
SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", 1000000));
aysnd.add_route(ALL_OUTPUTS, "mono", 1.0);
aysnd.add_route(ALL_OUTPUTS, "mono", 0.85);
aysnd.port_a_read_callback().set_ioport("INPUTS");
aysnd.port_b_write_callback().set(FUNC(stellafr_state::ay8910_portb_w));
}

View File

@ -351,7 +351,7 @@ void tank8_state::tank8(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
DISCRETE(config, m_discrete, tank8_discrete).add_route(ALL_OUTPUTS, "mono", 0.80);
DISCRETE(config, m_discrete, tank8_discrete).add_route(ALL_OUTPUTS, "mono", 0.3);
}

View File

@ -14,6 +14,7 @@
#include "machine/eepromser.h"
#include "machine/intelfsh.h"
#include "sound/dac.h"
#include "sound/namco.h"
#include "emupal.h"
@ -31,7 +32,8 @@ public:
m_mainbank(*this, "mainbank"),
m_maincpu(*this, "maincpu"),
m_eeprom(*this, "eeprom"),
m_palette(*this, "palette")
m_palette(*this, "palette"),
m_dac(*this, "dac")
{ }
void _20pacgal(machine_config &config);
@ -58,6 +60,7 @@ protected:
required_device<cpu_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom;
required_device<palette_device> m_palette;
required_device<dac_8bit_r2r_device> m_dac;
/* memory */
std::unique_ptr<uint8_t[]> m_sprite_gfx_ram;