mirror of
https://github.com/holub/mame
synced 2025-07-03 17:08:39 +03:00
MT2099: Reduce overdriven audio volumes.
This commit is contained in:
parent
ffe2284326
commit
d30361b7f0
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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());
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user