mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
converted sn76477 to use inline config. nw.
This commit is contained in:
parent
da877c2917
commit
b3d3d02cef
@ -32,7 +32,6 @@
|
||||
#include "sn76477.h"
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Debugging
|
||||
@ -79,54 +78,16 @@
|
||||
*
|
||||
* Test Mode
|
||||
*
|
||||
* in test mode, the interface structure
|
||||
* passed in by the driver is not used.
|
||||
* Instead, the values for all the inputs
|
||||
* can be specified by modifing the structure
|
||||
* below. Calls by the driver to the input
|
||||
* setter functions are ignored. Use the
|
||||
* space bar to enable/disable the chip.
|
||||
* in test mode, calls by the driver to
|
||||
* the input setter functions are ignored.
|
||||
* Interface values can be set in device_start
|
||||
* to any desired test value.
|
||||
* Use the space bar to enable/disable the chip.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define TEST_MODE 0
|
||||
|
||||
|
||||
#if TEST_MODE
|
||||
|
||||
static const sn76477_interface empty_interface =
|
||||
{
|
||||
0, /* 4 noise_clock_res */
|
||||
0, /* 5 filter_res */
|
||||
0, /* 6 filter_cap */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
0, /* 11 amplitude_res */
|
||||
0, /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res */
|
||||
0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res */
|
||||
0, /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
0, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
0 /* 9 enable */
|
||||
};
|
||||
|
||||
#define test_interface empty_interface
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Constants
|
||||
@ -231,58 +192,17 @@ sn76477_device::sn76477_device(const machine_config &mconfig, const char *tag, d
|
||||
m_noise_gen_count(0),
|
||||
m_attack_decay_cap_voltage(0),
|
||||
m_rng(0),
|
||||
m_mixer_a(0),
|
||||
m_mixer_b(0),
|
||||
m_mixer_c(0),
|
||||
m_envelope_1(0),
|
||||
m_envelope_2(0),
|
||||
m_channel(NULL),
|
||||
m_our_sample_rate(0),
|
||||
m_file(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_config_complete - perform any
|
||||
// operations now that the configuration is
|
||||
// complete
|
||||
//-------------------------------------------------
|
||||
|
||||
void sn76477_device::device_config_complete()
|
||||
{
|
||||
// inherit a copy of the static data
|
||||
const sn76477_interface *intf = reinterpret_cast<const sn76477_interface *>(static_config());
|
||||
if (intf != NULL)
|
||||
#if TEST_MODE == 0
|
||||
*static_cast<sn76477_interface *>(this) = *intf;
|
||||
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
m_intf_noise_clock_res = 0.0;
|
||||
m_intf_noise_filter_res = 0.0;
|
||||
m_intf_noise_filter_cap = 0.0;
|
||||
m_intf_decay_res = 0.0;
|
||||
m_intf_attack_decay_cap = 0.0;
|
||||
m_intf_attack_res = 0.0;
|
||||
m_intf_amplitude_res = 0.0;
|
||||
m_intf_feedback_res = 0.0;
|
||||
m_intf_vco_voltage = 0.0;
|
||||
m_intf_vco_cap = 0.0;
|
||||
m_intf_vco_res = 0.0;
|
||||
m_intf_pitch_voltage = 0.0;
|
||||
m_intf_slf_res = 0.0;
|
||||
m_intf_slf_cap = 0.0;
|
||||
m_intf_one_shot_cap = 0.0;
|
||||
m_intf_one_shot_res = 0.0;
|
||||
m_intf_vco = 0;
|
||||
m_intf_mixer_a = 0;
|
||||
m_intf_mixer_b = 0;
|
||||
m_intf_mixer_c = 0;
|
||||
m_intf_envelope_1 = 0;
|
||||
m_intf_envelope_2 = 0;
|
||||
m_intf_enable = 0;
|
||||
}
|
||||
#else
|
||||
intf = &test_interface;
|
||||
#endif
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -302,30 +222,12 @@ void sn76477_device::device_start()
|
||||
|
||||
intialize_noise();
|
||||
|
||||
/* set up interface values */
|
||||
_SN76477_enable_w(m_intf_enable);
|
||||
_SN76477_vco_w(m_intf_vco);
|
||||
_SN76477_mixer_a_w(m_intf_mixer_a);
|
||||
_SN76477_mixer_b_w(m_intf_mixer_b);
|
||||
_SN76477_mixer_c_w(m_intf_mixer_c);
|
||||
_SN76477_envelope_1_w(m_intf_envelope_1);
|
||||
_SN76477_envelope_2_w(m_intf_envelope_2);
|
||||
_SN76477_one_shot_res_w(m_intf_one_shot_res);
|
||||
_SN76477_one_shot_cap_w(m_intf_one_shot_cap);
|
||||
_SN76477_slf_res_w(m_intf_slf_res);
|
||||
_SN76477_slf_cap_w(m_intf_slf_cap);
|
||||
_SN76477_vco_res_w(m_intf_vco_res);
|
||||
_SN76477_vco_cap_w(m_intf_vco_cap);
|
||||
_SN76477_vco_voltage_w(m_intf_vco_voltage);
|
||||
_SN76477_noise_clock_res_w(m_intf_noise_clock_res);
|
||||
_SN76477_noise_filter_res_w(m_intf_noise_filter_res);
|
||||
_SN76477_noise_filter_cap_w(m_intf_noise_filter_cap);
|
||||
_SN76477_decay_res_w(m_intf_decay_res);
|
||||
_SN76477_attack_res_w(m_intf_attack_res);
|
||||
_SN76477_attack_decay_cap_w(m_intf_attack_decay_cap);
|
||||
_SN76477_amplitude_res_w(m_intf_amplitude_res);
|
||||
_SN76477_feedback_res_w(m_intf_feedback_res);
|
||||
_SN76477_pitch_voltage_w(m_intf_pitch_voltage);
|
||||
// set up mixer and envelope modes, based on interface values
|
||||
_SN76477_mixer_a_w(m_mixer_a);
|
||||
_SN76477_mixer_b_w(m_mixer_b);
|
||||
_SN76477_mixer_c_w(m_mixer_c);
|
||||
_SN76477_envelope_1_w(m_envelope_1);
|
||||
_SN76477_envelope_2_w(m_envelope_2);
|
||||
|
||||
m_one_shot_cap_voltage = ONE_SHOT_CAP_VOLTAGE_MIN;
|
||||
m_slf_cap_voltage = SLF_CAP_VOLTAGE_MIN;
|
||||
|
@ -41,48 +41,112 @@
|
||||
#include "machine/rescap.h"
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Interface definition
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
struct sn76477_interface
|
||||
{
|
||||
double m_intf_noise_clock_res;
|
||||
double m_intf_noise_filter_res;
|
||||
double m_intf_noise_filter_cap;
|
||||
double m_intf_decay_res;
|
||||
double m_intf_attack_decay_cap;
|
||||
double m_intf_attack_res;
|
||||
double m_intf_amplitude_res;
|
||||
double m_intf_feedback_res;
|
||||
double m_intf_vco_voltage;
|
||||
double m_intf_vco_cap;
|
||||
double m_intf_vco_res;
|
||||
double m_intf_pitch_voltage;
|
||||
double m_intf_slf_res;
|
||||
double m_intf_slf_cap;
|
||||
double m_intf_one_shot_cap;
|
||||
double m_intf_one_shot_res;
|
||||
UINT32 m_intf_vco;
|
||||
UINT32 m_intf_mixer_a;
|
||||
UINT32 m_intf_mixer_b;
|
||||
UINT32 m_intf_mixer_c;
|
||||
UINT32 m_intf_envelope_1;
|
||||
UINT32 m_intf_envelope_2;
|
||||
UINT32 m_intf_enable;
|
||||
};
|
||||
|
||||
#define MCFG_SN76477_NOISE_PARAMS(_clock_res, _filter_res, _filter_cap) \
|
||||
sn76477_device::set_noise_params(*device, _clock_res, _filter_res, _filter_cap);
|
||||
|
||||
#define MCFG_SN76477_DECAY_RES(_decay_res) \
|
||||
sn76477_device::set_decay_res(*device, _decay_res);
|
||||
|
||||
#define MCFG_SN76477_ATTACK_PARAMS(_decay_cap, _res) \
|
||||
sn76477_device::set_attack_params(*device, _decay_cap, _res);
|
||||
|
||||
#define MCFG_SN76477_AMP_RES(_amp_res) \
|
||||
sn76477_device::set_amp_res(*device, _amp_res);
|
||||
|
||||
#define MCFG_SN76477_FEEDBACK_RES(_feedback_res) \
|
||||
sn76477_device::set_feedack_res(*device, _feedback_res);
|
||||
|
||||
#define MCFG_SN76477_VCO_PARAMS(_volt, _cap, _res) \
|
||||
sn76477_device::set_vco_params(*device, _volt, _cap, _res);
|
||||
|
||||
#define MCFG_SN76477_PITCH_VOLTAGE(_volt) \
|
||||
sn76477_device::set_pitch_voltage(*device, _volt);
|
||||
|
||||
#define MCFG_SN76477_SLF_PARAMS(_cap, _res) \
|
||||
sn76477_device::set_slf_params(*device, _cap, _res);
|
||||
|
||||
#define MCFG_SN76477_ONESHOT_PARAMS(_cap, _res) \
|
||||
sn76477_device::set_oneshot_params(*device, _cap, _res);
|
||||
|
||||
#define MCFG_SN76477_VCO_MODE(_mode) \
|
||||
sn76477_device::set_vco_mode(*device, _mode);
|
||||
|
||||
#define MCFG_SN76477_MIXER_PARAMS(_a, _b, _c) \
|
||||
sn76477_device::set_mixer_params(*device, _a, _b, _c);
|
||||
|
||||
#define MCFG_SN76477_ENVELOPE_PARAMS(_env1, _env2) \
|
||||
sn76477_device::set_envelope_params(*device, _env1, _env2);
|
||||
|
||||
#define MCFG_SN76477_ENABLE(_enable) \
|
||||
sn76477_device::set_enable(*device, _enable);
|
||||
|
||||
class sn76477_device : public device_t,
|
||||
public device_sound_interface,
|
||||
public sn76477_interface
|
||||
public device_sound_interface
|
||||
{
|
||||
public:
|
||||
sn76477_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~sn76477_device() {}
|
||||
|
||||
static void set_noise_params(device_t &device, double clock_res, double filter_res, double filter_cap)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_noise_clock_res = clock_res;
|
||||
dev.m_noise_filter_res = filter_res;
|
||||
dev.m_noise_filter_cap = filter_cap;
|
||||
}
|
||||
static void set_decay_res(device_t &device, double decay_res) { downcast<sn76477_device &>(device).m_decay_res = decay_res; }
|
||||
static void set_attack_params(device_t &device, double decay_cap, double res)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_attack_decay_cap = decay_cap;
|
||||
dev.m_attack_res = res;
|
||||
}
|
||||
static void set_amp_res(device_t &device, double amp_res) { downcast<sn76477_device &>(device).m_amplitude_res = amp_res; }
|
||||
static void set_feedack_res(device_t &device, double feedback_res) { downcast<sn76477_device &>(device).m_feedback_res = feedback_res; }
|
||||
static void set_vco_params(device_t &device, double volt, double cap, double res)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_vco_voltage = volt;
|
||||
dev.m_vco_cap = cap;
|
||||
dev.m_vco_res = res;
|
||||
}
|
||||
static void set_pitch_voltage(device_t &device, double volt) { downcast<sn76477_device &>(device).m_pitch_voltage = volt; }
|
||||
static void set_slf_params(device_t &device, double cap, double res)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_slf_cap = cap;
|
||||
dev.m_slf_res = res;
|
||||
}
|
||||
static void set_oneshot_params(device_t &device, double cap, double res)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_one_shot_cap = cap;
|
||||
dev.m_one_shot_res = res;
|
||||
}
|
||||
static void set_vco_mode(device_t &device, UINT32 mode) { downcast<sn76477_device &>(device).m_vco_mode = mode; }
|
||||
static void set_mixer_params(device_t &device, UINT32 a, UINT32 b, UINT32 c)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_mixer_a = a;
|
||||
dev.m_mixer_b = b;
|
||||
dev.m_mixer_c = c;
|
||||
}
|
||||
static void set_envelope_params(device_t &device, UINT32 env1, UINT32 env2)
|
||||
{
|
||||
sn76477_device &dev = downcast<sn76477_device &>(device);
|
||||
dev.m_envelope_1 = env1;
|
||||
dev.m_envelope_2 = env2;
|
||||
}
|
||||
static void set_enable(device_t &device, UINT32 enable) { downcast<sn76477_device &>(device).m_enable = enable; }
|
||||
|
||||
|
||||
/* these functions take 0 or 1 as a logic input */
|
||||
WRITE_LINE_MEMBER( enable_w ); /* active LO, 0 = enabled, 1 = disabled */
|
||||
WRITE_LINE_MEMBER( mixer_a_w );
|
||||
@ -125,7 +189,6 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
virtual void device_stop();
|
||||
|
||||
@ -188,6 +251,13 @@ private:
|
||||
|
||||
UINT32 m_rng; /* current value of the random number generator */
|
||||
|
||||
// configured by the drivers and used to setup m_mixer_mode & m_envelope_mode at start
|
||||
UINT32 m_mixer_a;
|
||||
UINT32 m_mixer_b;
|
||||
UINT32 m_mixer_c;
|
||||
UINT32 m_envelope_1;
|
||||
UINT32 m_envelope_2;
|
||||
|
||||
/* others */
|
||||
sound_stream *m_channel; /* returned by stream_create() */
|
||||
int m_our_sample_rate; /* from machine.sample_rate() */
|
||||
|
@ -761,32 +761,6 @@ WRITE8_MEMBER(_8080bw_state::polaris_sh_port_3_w)
|
||||
#define SCHASER_4V SCHASER_HSYNC /2 /4
|
||||
#define SCHASER_8V SCHASER_HSYNC /2 /8
|
||||
|
||||
const sn76477_interface schaser_sn76477_interface =
|
||||
{
|
||||
RES_K( 47), /* 4 noise_res */
|
||||
RES_K(330), /* 5 filter_res */
|
||||
CAP_P(470), /* 6 filter_cap */
|
||||
RES_M(2.2), /* 7 decay_res */
|
||||
CAP_U(1.0), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
0, /* 11 amplitude_res (variable) */
|
||||
RES_K(33), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(39), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
CAP_U(0.1), /* 23 oneshot_cap */
|
||||
RES_K(220), /* 24 oneshot_res */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
/* Nodes - Inputs */
|
||||
#define SCHASER_DOT_EN NODE_01
|
||||
@ -1068,33 +1042,6 @@ WRITE8_MEMBER(_8080bw_state::rollingc_sh_port_w)
|
||||
/* Correct samples not available */
|
||||
/*****************************************/
|
||||
|
||||
const sn76477_interface lupin3_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(8.2), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
const char *const lupin3_sample_names[] =
|
||||
{
|
||||
"*lupin3",
|
||||
|
@ -192,37 +192,21 @@ WRITE8_MEMBER(astrof_state::tomahawk_audio_w)
|
||||
}
|
||||
|
||||
|
||||
static const sn76477_interface tomahawk_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
0, /* 10 attack_res (N/C) */
|
||||
RES_K(47), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.033), /* 17 vco_cap */
|
||||
RES_K(33), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(47), /* 20 slf_res */
|
||||
CAP_U(2.2), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
0, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
MACHINE_CONFIG_FRAGMENT( tomahawk_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(tomahawk_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res: N/C
|
||||
MCFG_SN76477_AMP_RES(RES_K(47)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.033), RES_K(33)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(2.2), RES_K(47)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -135,42 +135,24 @@ static DISCRETE_SOUND_START(crbaloon)
|
||||
DISCRETE_SOUND_END
|
||||
|
||||
|
||||
|
||||
static const sn76477_interface crbaloon_sn76477_interface =
|
||||
{
|
||||
RES_K( 47), /* 4 noise_res */
|
||||
RES_K(330), /* 5 filter_res */
|
||||
CAP_P(470), /* 6 filter_cap */
|
||||
RES_K(220), /* 7 decay_res */
|
||||
CAP_U(1.0), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_M( 1), /* 11 amplitude_res */
|
||||
RES_K(200), /* 12 feedback_res */
|
||||
5.0, /* 16 vco_voltage */
|
||||
CAP_P(470), /* 17 vco_cap */
|
||||
RES_K(330), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K( 20), /* 20 slf_res (variable) */
|
||||
CAP_P(420), /* 21 slf_cap */
|
||||
CAP_U(1.0), /* 23 oneshot_cap */
|
||||
RES_K( 47), /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B (variable) */
|
||||
1, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
0 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_FRAGMENT( crbaloon_audio )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(crbaloon_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(470)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(220)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_M(1)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(200)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(5.0, CAP_P(470), RES_K(330)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_P(420), RES_K(20)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.0), RES_K(47)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 1) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(0) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
|
@ -2708,34 +2708,6 @@ WRITE8_MEMBER(mw8080bw_state::dogpatch_audio_w)
|
||||
* Apr 2007, D.R.
|
||||
*************************************/
|
||||
|
||||
static const sn76477_interface spcenctr_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.047), /* 17 vco_cap */
|
||||
RES_K(56), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(150), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
/* nodes - inputs */
|
||||
#define SPCENCTR_ENEMY_SHIP_SHOT_EN NODE_01
|
||||
#define SPCENCTR_PLAYER_SHOT_EN NODE_02
|
||||
@ -3210,7 +3182,19 @@ MACHINE_CONFIG_FRAGMENT( spcenctr_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(spcenctr_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.047), RES_K(56)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(150)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
@ -3508,35 +3492,6 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_6_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const sn76477_interface invaders_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(8.2), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
|
||||
static const char *const invaders_sample_names[] =
|
||||
{
|
||||
"*invaders",
|
||||
@ -3560,7 +3515,19 @@ MACHINE_CONFIG_FRAGMENT( invaders_samples_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(invaders_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
@ -4128,7 +4095,19 @@ MACHINE_CONFIG_FRAGMENT( invaders_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(invaders_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
@ -4564,62 +4543,6 @@ WRITE8_MEMBER(mw8080bw_state::blueshrk_audio_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const sn76477_interface invad2ct_p1_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(8.2), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
static const sn76477_interface invad2ct_p2_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.047), /* 17 vco_cap */
|
||||
RES_K(39), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
static const discrete_op_amp_1sht_info invad2ct_invader_hit_1sht =
|
||||
{
|
||||
DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON,
|
||||
@ -4757,11 +4680,35 @@ MACHINE_CONFIG_FRAGMENT( invad2ct_audio )
|
||||
MCFG_SOUND_ROUTE(1, "spk2", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("sn1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(invad2ct_p1_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "spk1", 0.3)
|
||||
|
||||
MCFG_SOUND_ADD("sn2", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(invad2ct_p2_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.047), RES_K(39)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "spk2", 0.3)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -10,61 +10,6 @@
|
||||
static const double ATTACK_RATE = 10e-6 * 500;
|
||||
static const double DECAY_RATE = 10e-6 * 16000;
|
||||
|
||||
static const sn76477_interface sheriff_sn76477_interface =
|
||||
{
|
||||
RES_K(36) , /* 04 */
|
||||
RES_K(100) , /* 05 */
|
||||
CAP_N(1) , /* 06 */
|
||||
RES_K(620) , /* 07 */
|
||||
CAP_U(1) , /* 08 */
|
||||
RES_K(20) , /* 10 */
|
||||
RES_K(150) , /* 11 */
|
||||
RES_K(47) , /* 12 */
|
||||
0 , /* 16 */
|
||||
CAP_N(1) , /* 17 */
|
||||
RES_M(1.5) , /* 18 */
|
||||
0 , /* 19 */
|
||||
RES_M(1.5) , /* 20 */
|
||||
CAP_N(47) , /* 21 */
|
||||
CAP_N(47) , /* 23 */
|
||||
RES_K(560) , /* 24 */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable */
|
||||
};
|
||||
|
||||
|
||||
static const sn76477_interface spacefev_sn76477_interface =
|
||||
{
|
||||
RES_K(36) , /* 04 */
|
||||
RES_K(150) , /* 05 */
|
||||
CAP_N(1) , /* 06 */
|
||||
RES_M(1) , /* 07 */
|
||||
CAP_U(1) , /* 08 */
|
||||
RES_K(20) , /* 10 */
|
||||
RES_K(150) , /* 11 */
|
||||
RES_K(47) , /* 12 */
|
||||
0 , /* 16 */
|
||||
CAP_N(1) , /* 17 */
|
||||
RES_M(1.5) , /* 18 */
|
||||
0 , /* 19 */
|
||||
RES_M(1) , /* 20 */
|
||||
CAP_N(47) , /* 21 */
|
||||
CAP_N(47) , /* 23 */
|
||||
RES_K(820) , /* 24 */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable */
|
||||
};
|
||||
|
||||
|
||||
void n8080_state::spacefev_update_SN76477_status()
|
||||
{
|
||||
@ -564,7 +509,19 @@ MACHINE_CONFIG_FRAGMENT( spacefev_sound )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(spacefev_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(36), RES_K(150), CAP_N(1)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_M(1)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(20)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_N(1), RES_M(1.5)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_N(47), RES_M(1)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_N(47), RES_K(820)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -586,7 +543,19 @@ MACHINE_CONFIG_FRAGMENT( sheriff_sound )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sheriff_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(36), RES_K(100), CAP_N(1)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(620)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(20)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_N(1), RES_M(1.5)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_N(47), RES_M(1.5)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_N(47), RES_K(560)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -92,212 +92,6 @@ const char *const fantasy_sample_names[] =
|
||||
};
|
||||
|
||||
|
||||
const sn76477_interface sasuke_sn76477_intf_1 =
|
||||
{
|
||||
RES_K(470), /* 4 noise_res */
|
||||
RES_K(150), /* 5 filter_res */
|
||||
CAP_P(4700), /* 6 filter_cap */
|
||||
RES_K(22), /* 7 decay_res */
|
||||
CAP_U(10), /* 8 attack_decay_cap */
|
||||
RES_K(10), /* 10 attack_res */
|
||||
RES_K(100), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0 /* NC */, /* 16 vco_voltage */
|
||||
0 /* NC */, /* 17 vco_cap */
|
||||
0 /* NC */, /* 18 vco_res */
|
||||
0 /* NC */, /* 19 pitch_voltage */
|
||||
RES_K(10), /* 20 slf_res */
|
||||
0 /* NC */, /* 21 slf_cap */
|
||||
CAP_U(2.2), /* 23 oneshot_cap */
|
||||
RES_K(100), /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// ic48 GND: 2,22,26,27,28 +5V: 1,15,25
|
||||
};
|
||||
|
||||
const sn76477_interface sasuke_sn76477_intf_2 =
|
||||
{
|
||||
RES_K(340), /* 4 noise_res */
|
||||
RES_K(47), /* 5 filter_res */
|
||||
CAP_P(100), /* 6 filter_cap */
|
||||
RES_K(470), /* 7 decay_res */
|
||||
CAP_U(4.7), /* 8 attack_decay_cap */
|
||||
RES_K(10), /* 10 attack_res */
|
||||
RES_K(100), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0 /* NC */, /* 16 vco_voltage */
|
||||
CAP_P(220), /* 17 vco_cap */
|
||||
RES_K(1000), /* 18 vco_res */
|
||||
0 /* NC */, /* 19 pitch_voltage */
|
||||
RES_K(220), /* 20 slf_res */
|
||||
0 /* NC */, /* 21 slf_cap */
|
||||
CAP_U(22), /* 23 oneshot_cap */
|
||||
RES_K(47), /* 24 oneshot_res */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// ic51 GND: 2,26,27 +5V: 1,15,22,25,28
|
||||
};
|
||||
|
||||
const sn76477_interface sasuke_sn76477_intf_3 =
|
||||
{
|
||||
RES_K(330), /* 4 noise_res */
|
||||
RES_K(47), /* 5 filter_res */
|
||||
CAP_P(100), /* 6 filter_cap */
|
||||
RES_K(1), /* 7 decay_res */
|
||||
0 /* NC */, /* 8 attack_decay_cap */
|
||||
RES_K(1), /* 10 attack_res */
|
||||
RES_K(100), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0 /* NC */, /* 16 vco_voltage */
|
||||
CAP_P(1000), /* 17 vco_cap */
|
||||
RES_K(1000), /* 18 vco_res */
|
||||
0 /* NC */, /* 19 pitch_voltage */
|
||||
RES_K(10), /* 20 slf_res */
|
||||
CAP_U(1), /* 21 slf_cap */
|
||||
CAP_U(2.2), /* 23 oneshot_cap */
|
||||
RES_K(150), /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
1, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// ic52 GND: 2,22,27,28 +5V: 1,15,25,26
|
||||
};
|
||||
|
||||
const sn76477_interface satansat_sn76477_intf =
|
||||
{
|
||||
RES_K(470), /* 4 noise_res */
|
||||
RES_M(1.5), /* 5 filter_res */
|
||||
CAP_P(220), /* 6 filter_cap */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
RES_K(47), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res */
|
||||
0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res */
|
||||
0, /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// ??? GND: 2,26,27 +5V: 15,25
|
||||
};
|
||||
|
||||
const sn76477_interface vanguard_sn76477_intf_1 =
|
||||
{
|
||||
RES_K(470), /* 4 noise_res */
|
||||
RES_M(1.5), /* 5 filter_res */
|
||||
CAP_P(220), /* 6 filter_cap */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
RES_K(47), /* 11 amplitude_res */
|
||||
RES_K(4.7), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res */
|
||||
0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res */
|
||||
0, /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// SHOT A GND: 2,9,26,27 +5V: 15,25
|
||||
};
|
||||
|
||||
const sn76477_interface vanguard_sn76477_intf_2 =
|
||||
{
|
||||
RES_K(10), /* 4 noise_res */
|
||||
RES_K(30), /* 5 filter_res */
|
||||
0, /* 6 filter_cap */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
RES_K(47), /* 11 amplitude_res */
|
||||
RES_K(4.7), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res */
|
||||
0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res */
|
||||
0, /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
0, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
|
||||
// SHOT B GND: 1,2,26,27 +5V: 15,25,28
|
||||
};
|
||||
|
||||
const sn76477_interface fantasy_sn76477_intf =
|
||||
{
|
||||
RES_K(470), /* 4 noise_res */
|
||||
RES_M(1.5), /* 5 filter_res */
|
||||
CAP_P(220), /* 6 filter_cap */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
RES_K(470), /* 11 amplitude_res */
|
||||
RES_K(4.7), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res */
|
||||
0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res */
|
||||
0, /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
/* schematic does not show pin 1 grounded, but it must be. */
|
||||
/* otherwise it is using the VCO for the envelope, but the VCO is not hooked up */
|
||||
0, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
0 /* 9 enable (variable) */
|
||||
|
||||
// BOMB GND: 2,9,26,27 +5V: 15,25
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* fantasy Sound System Analog emulation
|
||||
* July 2008, D. Renaud
|
||||
|
@ -1389,7 +1389,19 @@ static MACHINE_CONFIG_DERIVED_CLASS( schaser, mw8080bw_root, _8080bw_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(schaser_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(470)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_M(2.2)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(0) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(33)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(39)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.1), RES_K(220)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
@ -1662,7 +1674,19 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(lupin3_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
@ -1694,7 +1718,19 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3a, mw8080bw_root, _8080bw_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(lupin3_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
|
@ -321,184 +321,9 @@ WRITE8_MEMBER(dai3wksi_state::dai3wksi_audio_3_w)
|
||||
m_ic81->vco_w((~data >> 3) & 0x01); /* player shoot vco control */
|
||||
}
|
||||
|
||||
|
||||
/* Invader Hit */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic76 =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
RES_K(4.7), /* 7 decay_res */
|
||||
CAP_U(0.1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (variable) */
|
||||
CAP_U(0.022), /* 17 vco_cap */
|
||||
RES_K(33), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res (N/C) */
|
||||
0, /* 21 slf_cap (N/C) */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
0, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
0, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
0 /* 9 enable */
|
||||
};
|
||||
|
||||
|
||||
/* Ship Movement */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic77 =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
RES_K(4.7), /* 7 decay_res */
|
||||
CAP_U(0.1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
0, /* 17 vco_cap (N/C) */
|
||||
0, /* 18 vco_res (N/C) */
|
||||
0, /* 19 pitch_voltage */
|
||||
RES_K(200), /* 20 slf_res */
|
||||
CAP_U(0.0022), /* 21 slf_cap */
|
||||
CAP_U(10), /* 23 oneshot_cap */
|
||||
RES_K(4.7), /* 24 oneshot_res */
|
||||
5, /* 22 vco */
|
||||
5, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
5, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
/* Danger */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic78 =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
RES_K(200), /* 7 decay_res */
|
||||
CAP_U(0.1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.47), /* 17 vco_cap */
|
||||
RES_K(75), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(47), /* 20 slf_res */
|
||||
CAP_N(1), /* 21 slf_cap */
|
||||
CAP_U(10), /* 23 oneshot_cap */
|
||||
RES_K(22), /* 24 oneshot_res */
|
||||
5, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
5, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
/* Invader Marching Noise */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic79 =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
RES_K(56), /* 7 decay_res */
|
||||
CAP_U(0.1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.01), /* 17 vco_cap */
|
||||
RES_K(100), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(150), /* 20 slf_res */
|
||||
CAP_N(1), /* 21 slf_cap */
|
||||
CAP_U(10), /* 23 oneshot_cap */
|
||||
RES_K(22), /* 24 oneshot_res */
|
||||
5, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
5, /* 1 envelope 1 (variable)*/
|
||||
5, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
/* Big Planet Explosion */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic80 =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res */
|
||||
RES_K(330), /* 5 filter_res */
|
||||
CAP_P(470), /* 6 filter_cap */
|
||||
RES_M(2), /* 7 decay_res */
|
||||
CAP_U(1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
0, /* 17 vco_cap (N/C) */
|
||||
0, /* 18 vco_res (N/C) */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res (N/C) */
|
||||
0, /* 21 slf_cap (N/C) */
|
||||
CAP_U(10), /* 23 oneshot_cap */
|
||||
RES_K(55), /* 24 oneshot_res */
|
||||
5, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
5, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
5, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
/* Plane Shoot noise */
|
||||
static const sn76477_interface dai3wksi_sn76477_ic81 =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
RES_K(200), /* 7 decay_res */
|
||||
CAP_U(10), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(150), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
2.5, /* 16 vco_voltage */
|
||||
CAP_U(0.01), /* 17 vco_cap */
|
||||
RES_K(100), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(100), /* 20 slf_res */
|
||||
CAP_N(0.47), /* 21 slf_cap */
|
||||
CAP_U(10), /* 23 oneshot_cap */
|
||||
RES_K(6.8), /* 24 oneshot_res */
|
||||
0, /* 22 vco (variable) */
|
||||
0, /* 26 mixer A */
|
||||
5, /* 25 mixer B */
|
||||
5, /* 27 mixer C */
|
||||
5, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Memory handlers
|
||||
@ -609,28 +434,106 @@ static MACHINE_CONFIG_START( dai3wksi, dai3wksi_state )
|
||||
MCFG_SAMPLES_NAMES(dai3wksi_sample_names)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
#else
|
||||
// Invader Hit
|
||||
MCFG_SOUND_ADD("ic76", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic76)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(RES_K(4.7)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.1), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.022), RES_K(33)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res: N/C
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(0) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
|
||||
// Ship Movement
|
||||
MCFG_SOUND_ADD("ic77", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic77)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(RES_K(4.7)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.1), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res: N/C
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.0022), RES_K(200)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(10), RES_K(4.7)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(5) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(5, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(5, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
|
||||
// Danger
|
||||
MCFG_SOUND_ADD("ic78", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic78)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), 0, 0) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(200)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.1), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.47), RES_K(75)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_N(1), RES_K(47)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(10), RES_K(22)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(5) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(5, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
|
||||
// Invader Marching Noise
|
||||
MCFG_SOUND_ADD("ic79", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic79)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(RES_K(56)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.1), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.01), RES_K(100)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_N(1), RES_K(150)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(10), RES_K(22)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(5) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(5, 5) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
|
||||
// Big Planet Explosion
|
||||
MCFG_SOUND_ADD("ic80", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic80)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(470)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_M(2)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res: N/C
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res: N/C
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(10), RES_K(55)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(5) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 5, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(5, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
|
||||
// Plane Shoot noise
|
||||
MCFG_SOUND_ADD("ic81", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(dai3wksi_sn76477_ic81)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(RES_K(200)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(10), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(150)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2.5, CAP_U(0.01), RES_K(100)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_N(0.47), RES_K(100)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(10), RES_K(6.8)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 5, 5) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(5, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
|
||||
#endif
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -442,37 +442,22 @@ static MACHINE_CONFIG_START( gp_1, gp_1_state )
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("gp1", gp_1_state, zero_timer, attotime::from_hz(120)) // mains freq*2
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static const sn76477_interface sn76477_intf =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
0, /* 10 attack_res (nc) */
|
||||
RES_K(220), /* 11 amplitude_res */
|
||||
RES_K(47), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(56), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(220), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
0, /* 22 vco (nc) */
|
||||
0, /* 26 mixer A (nc) */
|
||||
0, /* 25 mixer B (nc) */
|
||||
0, /* 27 mixer C (nc) */
|
||||
0, /* 1 envelope 1 (nc) */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) 1=off */
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gp_1s, gp_1 )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res: N/C
|
||||
MCFG_SN76477_AMP_RES(RES_K(220)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(56)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(220)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode: N/C
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C: N/C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MCFG_DEVICE_REMOVE("ppi")
|
||||
|
@ -530,34 +530,6 @@ UINT32 laserbat_state::screen_update_laserbat(screen_device &screen, bitmap_ind1
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Laser Battle sound **********************************/
|
||||
|
||||
static const sn76477_interface laserbat_sn76477_interface =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res R21 47K */
|
||||
0, /* 5 filter_res (variable) */
|
||||
CAP_P(1000), /* 6 filter_cap C21 1000 pF */
|
||||
0, /* 7 decay_res */
|
||||
0, /* 8 attack_decay_cap */
|
||||
0, /* 10 attack_res */
|
||||
RES_K(47), /* 11 amplitude_res R26 47K */
|
||||
0, /* 12 feedback_res (variable) */
|
||||
5.0 * RES_K(2.2) / (RES_K(2.2) + RES_K(4.7)), /* 16 vco_voltage */
|
||||
0, /* 17 vco_cap */
|
||||
0, /* 18 vco_res (variable) */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
0, /* 20 slf_res (variable) */
|
||||
CAP_U(4.7), /* 21 slf_cap C24 4.7 uF */
|
||||
0, /* 23 oneshot_cap */
|
||||
0, /* 24 oneshot_res */
|
||||
0, /* 22 vco (variable) */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B (variable) */
|
||||
0, /* 27 mixer C */
|
||||
0, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
/* Cat'N Mouse sound ***********************************/
|
||||
|
||||
@ -683,7 +655,6 @@ static MACHINE_CONFIG_START( laserbat, laserbat_state )
|
||||
MCFG_CPU_IO_MAP(laserbat_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", laserbat_state, laserbat_interrupt)
|
||||
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
@ -712,7 +683,19 @@ static MACHINE_CONFIG_START( laserbat, laserbat_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0) // output not connected
|
||||
MCFG_SOUND_CONFIG(laserbat_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), 0, CAP_P(1000)) // noise + filter: R21 47K + N/C + C21 1000 pF
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(47)) // amplitude_res: R26 47K
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(200)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(5.0 * RES_K(2.2) / (RES_K(2.2) + RES_K(4.7)), 0, 0) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(4.7), 0) // slf caps + res: C24 4.7 uF + (variable)
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0,0) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
|
||||
MCFG_TMS3615_ADD("tms1", 4000000/8/2) // 250 kHz, from second chip's clock out
|
||||
MCFG_SOUND_ROUTE(TMS3615_FOOTAGE_8, "mono", 1.0)
|
||||
|
@ -271,33 +271,6 @@ PALETTE_INIT_MEMBER(malzak_state, malzak)
|
||||
}
|
||||
|
||||
|
||||
static const sn76477_interface sn76477_intf =
|
||||
{
|
||||
0, /* N/C */ /* 4 noise_res */
|
||||
0, /* N/C */ /* 5 filter_res */
|
||||
0, /* N/C */ /* 6 filter_cap */
|
||||
0, /* N/C */ /* 7 decay_res */
|
||||
0, /* N/C */ /* 8 attack_decay_cap */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* N/C */ /* 16 vco_voltage */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(8.2), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* N/C */ /* 23 oneshot_cap */
|
||||
0, /* N/C */ /* 24 oneshot_res */
|
||||
0, /* 22 vco */
|
||||
1, /* 26 mixer A */
|
||||
1, /* 25 mixer B */
|
||||
1, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
1, /* 28 envelope 2 */
|
||||
1 /* 9 enable */
|
||||
};
|
||||
|
||||
READ8_MEMBER(malzak_state::videoram_r)
|
||||
{
|
||||
return m_videoram[offset];
|
||||
@ -359,11 +332,35 @@ static MACHINE_CONFIG_START( malzak, malzak_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("sn1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(1, 1, 1) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MCFG_SOUND_ADD("sn2", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(1, 1, 1) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -41,34 +41,6 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(rotaryf_interrupt);
|
||||
};
|
||||
|
||||
static const sn76477_interface rotaryf_sn76477_interface =
|
||||
{
|
||||
0, /* 4 noise_res (N/C) */
|
||||
0, /* 5 filter_res (N/C) */
|
||||
0, /* 6 filter_cap (N/C) */
|
||||
0, /* 7 decay_res (N/C) */
|
||||
0, /* 8 attack_decay_cap (N/C) */
|
||||
RES_K(100), /* 10 attack_res */
|
||||
RES_K(56), /* 11 amplitude_res */
|
||||
RES_K(10), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (N/C) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(8.2), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(120), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
0, /* 23 oneshot_cap (N/C) */
|
||||
0, /* 24 oneshot_res (N/C) */
|
||||
1, /* 22 vco */
|
||||
0, /* 26 mixer A */
|
||||
0, /* 25 mixer B */
|
||||
0, /* 27 mixer C */
|
||||
1, /* 1 envelope 1 */
|
||||
0, /* 28 envelope 2 */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
|
||||
static const char *const rotaryf_sample_names[] =
|
||||
{
|
||||
@ -269,9 +241,23 @@ static MACHINE_CONFIG_START( rotaryf, rotaryf_state )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(rotaryf_state, screen_update_rotaryf)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(rotaryf_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
MCFG_SAMPLES_CHANNELS(6)
|
||||
MCFG_SAMPLES_NAMES(rotaryf_sample_names)
|
||||
|
@ -553,34 +553,6 @@ static INPUT_PORTS_START( ttmahjng )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const sn76477_interface sn76477_intf =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res */
|
||||
RES_K(150), /* 5 filter_res */
|
||||
CAP_U(0.001), /* 6 filter_cap */
|
||||
RES_M(3.3), /* 7 decay_res */
|
||||
CAP_U(1), /* 8 attack_decay_cap */
|
||||
RES_K(4.7), /* 10 attack_res */
|
||||
RES_K(200), /* 11 amplitude_res */
|
||||
RES_K(55), /* 12 feedback_res (5k + 100k pot) */
|
||||
5.0*2/(2+10), /* 16 vco_voltage */
|
||||
CAP_U(0.022), /* 17 vco_cap */
|
||||
RES_K(100), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage */
|
||||
RES_K(75), /* 20 slf_res */
|
||||
CAP_U(1.0), /* 21 slf_cap */
|
||||
CAP_U(2.2), /* 23 oneshot_cap */
|
||||
RES_K(4.7), /* 24 oneshot_res */
|
||||
0, /* 22 vco (variable) */
|
||||
0, /* 26 mixer A (variable) */
|
||||
0, /* 25 mixer B (variable) */
|
||||
0, /* 27 mixer C (variable) */
|
||||
0, /* 1 envelope 1 (variable) */
|
||||
0, /* 28 envelope 2 (variable) */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( route16, route16_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -633,7 +605,19 @@ static MACHINE_CONFIG_DERIVED( stratvox, route16 )
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(route16_state, stratvox_sn76477_w)) /* SN76477 commands (not used in Route 16?) */
|
||||
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(150), CAP_U(0.001)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_M(3.3)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(1), RES_K(4.7)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(200)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(55)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(5.0 * 2/ (2 + 10), CAP_U(0.022), RES_K(100)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(75)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(2.2), RES_K(4.7)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_DAC_ADD("dac")
|
||||
|
@ -834,15 +834,54 @@ static MACHINE_CONFIG_START( sasuke, snk6502_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.12)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477.1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sasuke_sn76477_intf_1)
|
||||
// ic48 GND: 2,22,26,27,28 +5V: 1,15,25
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(470), RES_K(150), CAP_P(4700)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(22)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(10), RES_K(10)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(100)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res: N/C
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage: N/C
|
||||
MCFG_SN76477_SLF_PARAMS(0, RES_K(10)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(2.2), RES_K(100)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477.2", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sasuke_sn76477_intf_2)
|
||||
// ic51 GND: 2,26,27 +5V: 1,15,22,25,28
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(340), RES_K(47), CAP_P(100)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(470)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(4.7), RES_K(10)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(100)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_P(220), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage: N/C
|
||||
MCFG_SN76477_SLF_PARAMS(0, RES_K(220)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(22), RES_K(47)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(1) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477.3", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sasuke_sn76477_intf_3)
|
||||
// ic52 GND: 2,22,27,28 +5V: 1,15,25,26
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(330), RES_K(47), CAP_P(100)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(1)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(1)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(100)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_P(1000), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage: N/C
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1), RES_K(10)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(2.2), RES_K(150)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(1, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -863,7 +902,20 @@ static MACHINE_CONFIG_DERIVED( satansat, sasuke )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MCFG_SOUND_REPLACE("sn76477.1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(satansat_sn76477_intf)
|
||||
// ??? GND: 2,26,27 +5V: 15,25
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(470), RES_M(1.5), CAP_P(220)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(47)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(47)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MCFG_DEVICE_REMOVE("sn76477.2")
|
||||
@ -912,11 +964,37 @@ static MACHINE_CONFIG_START( vanguard, snk6502_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477.1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(vanguard_sn76477_intf_1)
|
||||
// SHOT A GND: 2,9,26,27 +5V: 15,25
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(470), RES_M(1.5), CAP_P(220)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(47)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(4.7)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(1, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477.2", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(vanguard_sn76477_intf_2)
|
||||
// SHOT B GND: 1,2,26,27 +5V: 15,25,28
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(10), RES_K(30), 0) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(47)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(4.7)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -932,7 +1010,22 @@ static MACHINE_CONFIG_DERIVED( fantasy, vanguard )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
|
||||
MCFG_SOUND_REPLACE("sn76477.1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(fantasy_sn76477_intf)
|
||||
// BOMB GND: 2,9,26,27 +5V: 15,25
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(470), RES_M(1.5), CAP_P(220)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(0) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, 0) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(470)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(4.7)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, 0, 0) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(0, 0) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 1, 0) // mixer A, B, C
|
||||
// schematic does not show pin 1 grounded, but it must be.
|
||||
// otherwise it is using the VCO for the envelope, but the VCO is not hooked up
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(0) // enable
|
||||
MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
|
@ -218,33 +218,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( spectra_state::outtimer)
|
||||
m_out_offs = 0xff;
|
||||
}
|
||||
|
||||
static const sn76477_interface sn76477_intf =
|
||||
{
|
||||
RES_M(1000), /* 4 noise_res */
|
||||
RES_M(1000), /* 5 filter_res */
|
||||
CAP_N(0), /* 6 filter_cap */
|
||||
RES_K(470), /* 7 decay_res */
|
||||
CAP_N(1), /* 8 attack_decay_cap */
|
||||
RES_K(22), /* 10 attack_res */
|
||||
RES_K(100), /* 11 amplitude_res */
|
||||
RES_K(52), /* 12 feedback_res */
|
||||
5.0, /* 16 vco_voltage */
|
||||
CAP_U(0.01), /* 17 vco_cap */
|
||||
RES_K(390), /* 18 vco_res */
|
||||
0.0, /* 19 pitch_voltage */
|
||||
RES_M(1), /* 20 slf_res */
|
||||
CAP_U(0.1), /* 21 slf_cap */
|
||||
CAP_U(0.47), /* 23 oneshot_cap */
|
||||
RES_K(470), /* 24 oneshot_res */
|
||||
0, /* 22 vco (variable) */
|
||||
0, /* 26 mixer A (grounded) */
|
||||
0, /* 25 mixer B (variable) */
|
||||
0, /* 27 mixer C (variable) */
|
||||
0, /* 1 envelope 1 (variable) */
|
||||
0, /* 28 envelope 2 (grounded) */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( spectra, spectra_state )
|
||||
/* basic machine hardware */
|
||||
@ -268,9 +241,22 @@ static MACHINE_CONFIG_START( spectra, spectra_state )
|
||||
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("snsnd", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_M(1000), RES_M(1000), CAP_N(0)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(470)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_N(1), RES_K(22)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(100)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(52)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(5.0, CAP_U(0.01), RES_K(390)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_M(1)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.47), RES_K(470)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -192,34 +192,6 @@ WRITE8_MEMBER(toratora_state::clear_timer_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const sn76477_interface sn76477_intf =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res */
|
||||
// RES_K(120), /* 5 filter_res */
|
||||
RES_M(1.2), /* 5 filter_res */
|
||||
CAP_P(470), /* 6 filter_cap */
|
||||
RES_K(680), /* 7 decay_res */
|
||||
CAP_U(0.2), /* 8 attack_decay_cap */
|
||||
RES_K(3.3), /* 10 attack_res */
|
||||
0, /* 11 amplitude_res (variable) */
|
||||
RES_K(50), /* 12 feedback_res */
|
||||
0, /* 16 vco_voltage (variable) */
|
||||
CAP_U(0.1), /* 17 vco_cap */
|
||||
RES_K(51), /* 18 vco_res */
|
||||
5.0, /* 19 pitch_voltage (N/C) */
|
||||
RES_K(470), /* 20 slf_res */
|
||||
CAP_U(0.1), /* 21 slf_cap */
|
||||
CAP_U(0.1), /* 23 oneshot_cap */
|
||||
RES_M(1), /* 24 oneshot_res */
|
||||
0, /* 22 vco (variable) */
|
||||
0, /* 26 mixer A (variable) */
|
||||
0, /* 25 mixer B (variable) */
|
||||
0, /* 27 mixer C (variable) */
|
||||
0, /* 1 envelope 1 (variable) */
|
||||
0, /* 28 envelope 2 (variable) */
|
||||
1 /* 9 enable (variable) */
|
||||
};
|
||||
|
||||
|
||||
WRITE8_MEMBER(toratora_state::sn1_port_a_u2_u3_w)
|
||||
{
|
||||
@ -415,11 +387,35 @@ static MACHINE_CONFIG_START( toratora, toratora_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("sn1", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_M(1.2) /* RES_K(120) */, CAP_P(470)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.2), RES_K(3.3)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(0) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(50)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(51)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(470)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.1), RES_M(1)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_SOUND_ADD("sn2", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(sn76477_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_M(1.2) /* RES_K(120) */, CAP_P(470)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(0.2), RES_K(3.3)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(0) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(50)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(51)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(470)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.1), RES_M(1)) // oneshot caps + res
|
||||
MCFG_SN76477_VCO_MODE(0) // VCO mode
|
||||
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 0) // envelope 1, 2
|
||||
MCFG_SN76477_ENABLE(1) // enable
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -165,7 +165,4 @@ extern const char *const lupin3_sample_names[];
|
||||
DISCRETE_SOUND_EXTERN( ballbomb );
|
||||
DISCRETE_SOUND_EXTERN( indianbt );
|
||||
DISCRETE_SOUND_EXTERN( polaris );
|
||||
|
||||
extern const sn76477_interface lupin3_sn76477_interface;
|
||||
extern const sn76477_interface schaser_sn76477_interface;
|
||||
DISCRETE_SOUND_EXTERN( schaser );
|
||||
|
@ -149,10 +149,3 @@ DISCRETE_SOUND_EXTERN( fantasy );
|
||||
extern const char *const sasuke_sample_names[];
|
||||
extern const char *const vanguard_sample_names[];
|
||||
extern const char *const fantasy_sample_names[];
|
||||
extern const sn76477_interface sasuke_sn76477_intf_1;
|
||||
extern const sn76477_interface sasuke_sn76477_intf_2;
|
||||
extern const sn76477_interface sasuke_sn76477_intf_3;
|
||||
extern const sn76477_interface satansat_sn76477_intf;
|
||||
extern const sn76477_interface vanguard_sn76477_intf_1;
|
||||
extern const sn76477_interface vanguard_sn76477_intf_2;
|
||||
extern const sn76477_interface fantasy_sn76477_intf;
|
||||
|
@ -245,31 +245,6 @@ INPUT_PORTS_END
|
||||
// DEVICE CONFIGURATION
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// sn76477_interface csg_intf
|
||||
//-------------------------------------------------
|
||||
|
||||
static const sn76477_interface csg_intf =
|
||||
{
|
||||
RES_K(47), // 4 noise_res R26 47k
|
||||
RES_K(330), // 5 filter_res R24 330k
|
||||
CAP_P(390), // 6 filter_cap C52 390p
|
||||
RES_K(47), // 7 decay_res R23 47k
|
||||
CAP_U(10), // 8 attack_decay_cap C50 10u/35V
|
||||
RES_K(2.2), // 10 attack_res R21 2.2k
|
||||
RES_K(33), // 11 amplitude_res R19 33k
|
||||
RES_K(10), // 12 feedback_res R18 10k
|
||||
0, // 16 vco_voltage 0V or 2.5V
|
||||
CAP_N(10) , // 17 vco_cap C48 10n
|
||||
RES_K(100), // 18 vco_res R20 100k
|
||||
0, // 19 pitch_voltage N/C
|
||||
RES_K(220), // 20 slf_res R22 220k
|
||||
CAP_U(1), // 21 slf_cap C51 1u/35V
|
||||
CAP_U(0.1), // 23 oneshot_cap C53 0.1u
|
||||
RES_K(330) // 24 oneshot_res R25 330k
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// Z80PIO
|
||||
//-------------------------------------------------
|
||||
@ -523,7 +498,15 @@ static MACHINE_CONFIG_START( abc80, abc80_state )
|
||||
// sound hardware
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD(SN76477_TAG, SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(csg_intf)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter: R26 47k - R24 330k - C52 390p
|
||||
MCFG_SN76477_DECAY_RES(RES_K(47)) // decay_res: R23 47k
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(10), RES_K(2.2)) // attack_decay_cap + attack_res: C50 10u/35V - R21 2.2k
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res: R19 33k
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res: R18 10k
|
||||
MCFG_SN76477_VCO_PARAMS(0, CAP_N(10), RES_K(100)) // VCO volt + cap + res: 0V or 2.5V - C48 10n - R20 100k
|
||||
MCFG_SN76477_PITCH_VOLTAGE(0) // pitch_voltage: N/C
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(1), RES_K(220)) // slf caps + res: C51 1u/35V - R22 220k
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.1), RES_K(330)) // oneshot caps + res: C53 0.1u - R25 330k
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
// devices
|
||||
|
@ -425,7 +425,15 @@ static MACHINE_CONFIG_START( hec2hr, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
|
||||
@ -471,11 +479,19 @@ static MACHINE_CONFIG_START( hec2hrp, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
|
||||
MCFG_DISCRETE_INTF( hec2hrp )
|
||||
MCFG_DISCRETE_INTF(hec2hrp)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
/* Gestion cassette*/
|
||||
@ -531,7 +547,15 @@ static MACHINE_CONFIG_START( hec2mx40, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
|
||||
@ -586,7 +610,15 @@ static MACHINE_CONFIG_START( hec2hrx, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
|
||||
@ -639,7 +671,15 @@ static MACHINE_CONFIG_START( hec2mdhrx, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
|
||||
@ -695,7 +735,15 @@ static MACHINE_CONFIG_START( hec2mx80, hec2hrp_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)// Sound level for cassette, as it is in mono => output channel=0
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) // Son 1bit
|
||||
|
@ -149,7 +149,15 @@ static MACHINE_CONFIG_START( interact, interact_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25) /* Sound level for cassette, as it is in mono => output channel=0*/
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
|
||||
@ -196,7 +204,15 @@ static MACHINE_CONFIG_START( hector1, interact_state )
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.25)/* Sound level for cassette, as it is in mono => output channel=0*/
|
||||
|
||||
MCFG_SOUND_ADD("sn76477", SN76477, 0)
|
||||
MCFG_SOUND_CONFIG(hector_sn76477_interface)
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
|
||||
MCFG_SN76477_DECAY_RES(RES_K(680)) // decay_res
|
||||
MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180)) // attack_decay_cap + attack_res
|
||||
MCFG_SN76477_AMP_RES(RES_K(33)) // amplitude_res
|
||||
MCFG_SN76477_FEEDBACK_RES(RES_K(100)) // feedback_res
|
||||
MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000)) // VCO volt + cap + res
|
||||
MCFG_SN76477_PITCH_VOLTAGE(2) // pitch_voltage
|
||||
MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180)) // slf caps + res
|
||||
MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000)) // oneshot caps + res
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
|
||||
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
|
||||
|
@ -186,7 +186,4 @@ public:
|
||||
void hector_disc2_reset();
|
||||
};
|
||||
|
||||
/* Sound function*/
|
||||
extern const sn76477_interface hector_sn76477_interface;
|
||||
|
||||
extern const floppy_interface minidisc_floppy_interface;
|
||||
|
@ -818,26 +818,6 @@ void hec2hrp_state::Update_Sound(address_space &space, UINT8 data)
|
||||
m_sn->enable_w(m_Pin_Value[9][m_AU[14]]);
|
||||
}
|
||||
|
||||
const sn76477_interface hector_sn76477_interface =
|
||||
{
|
||||
RES_K(47), /* 4 noise_res*/
|
||||
RES_K(330), /* 5 filter_res*/
|
||||
CAP_P(390), /* 6 filter_cap*/
|
||||
RES_K(680), /* 7 decay_res*/
|
||||
CAP_U(47), /* 8 attack_decay_cap*/
|
||||
RES_K(180), /* 10 attack_res*/
|
||||
RES_K(33), /* 11 amplitude_res*/
|
||||
RES_K(100), /* 12 feedback_res*/
|
||||
2, /* 16 vco_voltage*/
|
||||
CAP_N(47) , /* 17 vco_cap*/
|
||||
RES_K(1000), /* 18 vco_res*/
|
||||
2, /* 19 pitch_voltage*/
|
||||
RES_K(180), /* 20 slf_res*/
|
||||
CAP_U(0.1), /* 21 slf_cap*/
|
||||
CAP_U(1.00001), /* 23 oneshot_cap*/
|
||||
RES_K(10000) /* 24 oneshot_res*/
|
||||
};
|
||||
|
||||
void hec2hrp_state::hector_reset(int hr, int with_D2 )
|
||||
{
|
||||
// Initialization Hector
|
||||
|
Loading…
Reference in New Issue
Block a user