summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2017-04-27 22:15:50 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2017-04-27 22:15:50 +1000
commit764ea8e2f0356f16153b499ece64776c0b4c25c1 (patch)
tree7172c0cf93baddf655e56cb2197abf29b923a2a9
parent9fedb345da7dc8a937575fe7cdf80be09c9d9c49 (diff)
MT 06540, 6541, 06542.
(sn76477 - unconnected resistor treated as invalid even though it's the initial value) (bshipb - infinite capacitance was specified)
-rw-r--r--src/devices/sound/sn76477.cpp27
-rw-r--r--src/mame/drivers/hh_tms1k.cpp2
2 files changed, 19 insertions, 10 deletions
diff --git a/src/devices/sound/sn76477.cpp b/src/devices/sound/sn76477.cpp
index c7c1e0596b2..f845b1ae0a4 100644
--- a/src/devices/sound/sn76477.cpp
+++ b/src/devices/sound/sn76477.cpp
@@ -1085,7 +1085,8 @@ WRITE_LINE_MEMBER( sn76477_device::vco_w )
void sn76477_device::one_shot_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_one_shot_res)
{
@@ -1162,7 +1163,8 @@ void sn76477_device::one_shot_cap_voltage_w(double data)
void sn76477_device::slf_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_slf_res)
{
@@ -1241,7 +1243,8 @@ void sn76477_device::slf_cap_voltage_w(double data)
void sn76477_device::vco_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_vco_res)
{
@@ -1385,7 +1388,8 @@ WRITE_LINE_MEMBER( sn76477_device::noise_clock_w )
void sn76477_device::noise_clock_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (((data == 0) && !m_noise_clock_ext) ||
((data != 0) && (data != m_noise_clock_res)))
@@ -1415,7 +1419,8 @@ void sn76477_device::noise_clock_res_w(double data)
void sn76477_device::noise_filter_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_noise_filter_res)
{
@@ -1492,7 +1497,8 @@ void sn76477_device::noise_filter_cap_voltage_w(double data)
void sn76477_device::attack_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_attack_res)
{
@@ -1512,7 +1518,8 @@ void sn76477_device::attack_res_w(double data)
void sn76477_device::decay_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_decay_res)
{
@@ -1592,7 +1599,8 @@ void sn76477_device::attack_decay_cap_voltage_w(double data)
void sn76477_device::amplitude_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_amplitude_res)
{
@@ -1612,7 +1620,8 @@ void sn76477_device::amplitude_res_w(double data)
void sn76477_device::feedback_res_w(double data)
{
- CHECK_POSITIVE;
+ if (data != RES_INF)
+ CHECK_POSITIVE;
if (data != m_feedback_res)
{
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 72bfed7e738..ba2c9543cf2 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -5567,7 +5567,7 @@ WRITE16_MEMBER(bshipb_state::write_o)
m_sn->vco_w(data >> 4 & 1);
// O5: R11 27K to SN76477 pin 23
- m_sn->one_shot_cap_w((data & 0x20) ? RES_K(27) : RES_INF);
+ m_sn->one_shot_cap_w((data & 0x20) ? RES_K(27) : 0);
// O6: SN76477 pin 25
m_sn->mixer_b_w(data >> 6 & 1);