summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author m1macrophage <168948267+m1macrophage@users.noreply.github.com>2026-02-12 04:05:22 -0800
committer GitHub <noreply@github.com>2026-02-12 13:05:22 +0100
commita021da1579eee1f21bb297307d8da2c05053befe (patch)
tree67e0c7a4ace1799132c255c242684a690d3da4ab
parent2ef44a9e3c9489b1f44c40ea486c19fef0c23f0b (diff)
sound/cem3394.cpp: Removed artificial pulse width limiting. (#14952)
-rw-r--r--src/devices/sound/cem3394.cpp22
-rw-r--r--src/devices/sound/cem3394.h3
-rw-r--r--src/mame/midway/sente6vb.cpp1
3 files changed, 0 insertions, 26 deletions
diff --git a/src/devices/sound/cem3394.cpp b/src/devices/sound/cem3394.cpp
index 4d93a102c5d..8151ee26c9a 100644
--- a/src/devices/sound/cem3394.cpp
+++ b/src/devices/sound/cem3394.cpp
@@ -47,19 +47,6 @@ static constexpr double EXTERNAL_VOLUME = PULSE_VOLUME;
#define ENABLE_EXTERNAL 1
-// pulse shaping parameters
-// can be enabled with configure_limit_pw(true)
-// examples:
-// hat trick - skidding ice sounds too loud if minimum width is too big
-// snake pit - melody during first level too soft if minimum width is too small
-// snake pit - bonus counter at the end of level
-// snacks'n jaxson - laugh at end of level is too soft if minimum width is too small
-
-#define LIMIT_WIDTH 1
-#define MINIMUM_WIDTH 0.2
-#define MAXIMUM_WIDTH 0.8
-
-
/********************************************************************************
From the datasheet:
@@ -140,7 +127,6 @@ cem3394_device::cem3394_device(const machine_config &mconfig, const char *tag, d
m_vco_zero_freq(500.0),
m_filter_zero_freq(1300.0),
m_hpf_k(0),
- m_limit_pw(false),
m_values{-1}, // will be initialized in device_start()
m_wave_select(0),
m_volume(0),
@@ -181,12 +167,6 @@ cem3394_device &cem3394_device::configure(double r_vco, double c_vco, double c_v
return *this;
}
-cem3394_device &cem3394_device::configure_limit_pw(bool limit_pw)
-{
- m_limit_pw = limit_pw;
- return *this;
-}
-
//-------------------------------------------------
// hpf - apply AC coupling to the output of the
@@ -436,8 +416,6 @@ void cem3394_device::set_voltage_internal(int input, double voltage)
else
{
m_pulse_width = voltage * 0.5;
- if (LIMIT_WIDTH && m_limit_pw)
- m_pulse_width = MINIMUM_WIDTH + (MAXIMUM_WIDTH - MINIMUM_WIDTH) * m_pulse_width;
m_wave_select |= WAVE_PULSE;
}
LOGMASKED(LOG_CONTROL_CHANGES, "PULSE_WI=%6.3fV -> raw=%f adj=%f\n", voltage, voltage * 0.5, m_pulse_width);
diff --git a/src/devices/sound/cem3394.h b/src/devices/sound/cem3394.h
index 15ff1dc9f64..70bf0c5bb02 100644
--- a/src/devices/sound/cem3394.h
+++ b/src/devices/sound/cem3394.h
@@ -37,8 +37,6 @@ public:
// c_ac: Pin 17 - AC-coupling capacitor on the VCF output.
cem3394_device &configure(double r_vco, double c_vco, double c_vcf, double c_ac) ATTR_COLD;
- cem3394_device &configure_limit_pw(bool limit_pw) ATTR_COLD;
-
protected:
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
@@ -83,7 +81,6 @@ private:
double m_vco_zero_freq; // frequency of VCO at 0.0V
double m_filter_zero_freq; // frequency of filter at 0.0V
double m_hpf_k; // RC filter coefficient for AC coupling
- bool m_limit_pw; // whether to clamp the pulse width.
// device state
diff --git a/src/mame/midway/sente6vb.cpp b/src/mame/midway/sente6vb.cpp
index 0be1079d63c..8def986df02 100644
--- a/src/mame/midway/sente6vb.cpp
+++ b/src/mame/midway/sente6vb.cpp
@@ -144,7 +144,6 @@ void sente6vb_device::device_add_mconfig(machine_config &config)
{
CEM3394(config, cem_device, 0);
cem_device->configure(RES_K(301), CAP_U(0.002), CAP_U(0.033), CAP_U(10)); // R1, C1, C11, C3 on voice 0 (U1)
- cem_device->configure_limit_pw(true);
cem_device->add_route(ALL_OUTPUTS, "mono", 0.50);
ac_noise.add_route(0, *cem_device, 1.0);
}