discrete_sound_w and discrete_sound_r not used any more since discrete_device is modern one (nw)

This commit is contained in:
Miodrag Milanovic 2014-03-21 18:04:17 +00:00
parent df9a761b03
commit 9f76ce0054
74 changed files with 423 additions and 446 deletions

View File

@ -616,7 +616,7 @@ WRITE8_MEMBER( abc77_device::p2_w )
}
// beep
discrete_sound_w(m_discrete, space, NODE_01, BIT(data, 4));
m_discrete->write(space, NODE_01, BIT(data, 4));
// transmit data
serial_output(BIT(data, 5));

View File

@ -22,14 +22,14 @@ void latch8_device::update(UINT8 new_val, UINT8 mask)
UINT8 changed = old_val ^ m_value;
for (i=0; i<8; i++)
if (((changed & (1<<i)) != 0) && m_node_map[i] != 0) {
if (i==0 && m_node_device_0!=NULL) discrete_sound_w(m_node_device_0, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==1 && m_node_device_1!=NULL) discrete_sound_w(m_node_device_1, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==2 && m_node_device_2!=NULL) discrete_sound_w(m_node_device_2, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==3 && m_node_device_3!=NULL) discrete_sound_w(m_node_device_3, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==4 && m_node_device_4!=NULL) discrete_sound_w(m_node_device_4, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==5 && m_node_device_5!=NULL) discrete_sound_w(m_node_device_5, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==6 && m_node_device_6!=NULL) discrete_sound_w(m_node_device_6, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==7 && m_node_device_7!=NULL) discrete_sound_w(m_node_device_7, machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==0 && m_node_device_0!=NULL) m_node_device_0->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==1 && m_node_device_1!=NULL) m_node_device_1->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==2 && m_node_device_2!=NULL) m_node_device_2->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==3 && m_node_device_3!=NULL) m_node_device_3->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==4 && m_node_device_4!=NULL) m_node_device_4->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==5 && m_node_device_5!=NULL) m_node_device_5->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==6 && m_node_device_6!=NULL) m_node_device_6->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
if (i==7 && m_node_device_7!=NULL) m_node_device_7->write(machine().driver_data()->generic_space(), m_node_map[i] , (m_value >> i) & 1);
}
}
}

View File

@ -20,19 +20,6 @@
#define DSS_INPUT__OFFSET DISCRETE_INPUT(1)
#define DSS_INPUT__INIT DISCRETE_INPUT(2)
READ8_DEVICE_HANDLER(discrete_sound_r)
{
discrete_device *disc_device = downcast<discrete_device *>(device);
return disc_device->read( space, offset, 0xff);
}
WRITE8_DEVICE_HANDLER(discrete_sound_w)
{
discrete_device *disc_device = downcast<discrete_device *>(device);
disc_device->write(space, offset, data, 0xff);
}
/************************************************************************
*
* DSS_ADJUSTMENT - UI Adjustable constant node to emulate trimmers

View File

@ -4249,16 +4249,6 @@ public:
virtual void set_output_ptr(stream_sample_t *ptr) = 0;
};
/*************************************
*
* Interface to the external world
*
*************************************/
DECLARE_WRITE8_DEVICE_HANDLER( discrete_sound_w );
DECLARE_READ8_DEVICE_HANDLER( discrete_sound_r );
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************

View File

@ -244,7 +244,7 @@ DISCRETE_SOUND_END
WRITE8_MEMBER( _8080bw_state::ballbomb_01_w )
{
discrete_sound_w(m_discrete, space, BALLBOMB_MUSIC_DATA, data|0x80);
m_discrete->write(space, BALLBOMB_MUSIC_DATA, data|0x80);
}
WRITE8_MEMBER(_8080bw_state::ballbomb_sh_port_1_w)
@ -353,7 +353,7 @@ WRITE8_MEMBER(_8080bw_state::indianbt_sh_port_2_w)
WRITE8_MEMBER(_8080bw_state::indianbt_sh_port_3_w)
{
discrete_sound_w(m_discrete, space, INDIANBT_MUSIC_DATA, data);
m_discrete->write(space, INDIANBT_MUSIC_DATA, data);
}
WRITE8_MEMBER(_8080bw_state::indianbtbr_sh_port_1_w)
@ -697,27 +697,27 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(_8080bw_state::polaris_sh_port_1_w)
{
discrete_sound_w(m_discrete, space, POLARIS_MUSIC_DATA, data);
m_discrete->write(space, POLARIS_MUSIC_DATA, data);
}
WRITE8_MEMBER(_8080bw_state::polaris_sh_port_2_w)
{
/* 0x01 - SX0 - Shot */
discrete_sound_w(m_discrete, space, POLARIS_SX0_EN, data & 0x01);
m_discrete->write(space, POLARIS_SX0_EN, data & 0x01);
/* 0x02 - SX1 - Ship Hit (Sub) */
discrete_sound_w(m_discrete, space, POLARIS_SX1_EN, data & 0x02);
m_discrete->write(space, POLARIS_SX1_EN, data & 0x02);
/* 0x04 - SX2 - Ship */
discrete_sound_w(m_discrete, space, POLARIS_SX2_EN, data & 0x04);
m_discrete->write(space, POLARIS_SX2_EN, data & 0x04);
/* 0x08 - SX3 - Explosion */
discrete_sound_w(m_discrete, space, POLARIS_SX3_EN, data & 0x08);
m_discrete->write(space, POLARIS_SX3_EN, data & 0x08);
/* 0x10 - SX4 */
/* 0x20 - SX5 - Sound Enable */
discrete_sound_w(m_discrete, space, POLARIS_SX5_EN, data & 0x20);
m_discrete->write(space, POLARIS_SX5_EN, data & 0x20);
}
WRITE8_MEMBER(_8080bw_state::polaris_sh_port_3_w)
@ -727,16 +727,16 @@ WRITE8_MEMBER(_8080bw_state::polaris_sh_port_3_w)
m_flip_screen = BIT(data, 5) & BIT(ioport("IN2")->read(), 2); /* SX11 */
/* 0x01 - SX6 - Plane Down */
discrete_sound_w(m_discrete, space, POLARIS_SX6_EN, data & 0x01);
m_discrete->write(space, POLARIS_SX6_EN, data & 0x01);
/* 0x02 - SX7 - Plane Up */
discrete_sound_w(m_discrete, space, POLARIS_SX7_EN, data & 0x02);
m_discrete->write(space, POLARIS_SX7_EN, data & 0x02);
/* 0x08 - SX9 - Hit */
discrete_sound_w(m_discrete, space, POLARIS_SX9_EN, data & 0x08);
m_discrete->write(space, POLARIS_SX9_EN, data & 0x08);
/* 0x10 - SX10 - Hit */
discrete_sound_w(m_discrete, space, POLARIS_SX10_EN, data & 0x10);
m_discrete->write(space, POLARIS_SX10_EN, data & 0x10);
}
@ -887,8 +887,8 @@ WRITE8_MEMBER(_8080bw_state::schaser_sh_port_1_w)
Note that the schematic has SX2 and SX4 the wrong way around.
See MT 2662 for video proof. */
discrete_sound_w(m_discrete, space, SCHASER_DOT_EN, data & 0x01);
discrete_sound_w(m_discrete, space, SCHASER_DOT_SEL, data & 0x02);
m_discrete->write(space, SCHASER_DOT_EN, data & 0x01);
m_discrete->write(space, SCHASER_DOT_SEL, data & 0x02);
/* The effect is a variable rate 555 timer. A diode/resistor array is used to
* select the frequency. Because of the diode voltage drop, we can not use the
@ -949,9 +949,9 @@ WRITE8_MEMBER(_8080bw_state::schaser_sh_port_2_w)
bit 4 - Field Control B (SX10)
bit 5 - Flip Screen */
discrete_sound_w(m_discrete, space, SCHASER_MUSIC_BIT, BIT(data, 0));
m_discrete->write(space, SCHASER_MUSIC_BIT, BIT(data, 0));
discrete_sound_w(m_discrete, space, SCHASER_SND_EN, BIT(data, 1));
m_discrete->write(space, SCHASER_SND_EN, BIT(data, 1));
machine().sound().system_enable(BIT(data, 1));
coin_lockout_global_w(machine(), BIT(data, 2));
@ -1123,7 +1123,7 @@ const samples_interface lupin3_samples_interface =
WRITE8_MEMBER( _8080bw_state::lupin3_00_w )
{
discrete_sound_w(m_discrete, space, INDIANBT_MUSIC_DATA, data);
m_discrete->write(space, INDIANBT_MUSIC_DATA, data);
}
WRITE8_MEMBER(_8080bw_state::lupin3_sh_port_1_w)

View File

@ -280,7 +280,7 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(asteroid_state::asteroid_explode_w)
{
discrete_sound_w(m_discrete,space,ASTEROID_EXPLODE_DATA,(data&0x3c)>>2); // Volume
m_discrete->write(space,ASTEROID_EXPLODE_DATA,(data&0x3c)>>2); // Volume
/* We will modify the pitch data to send the divider value. */
switch ((data&0xc0))
{
@ -297,27 +297,27 @@ WRITE8_MEMBER(asteroid_state::asteroid_explode_w)
data = 5;
break;
}
discrete_sound_w(m_discrete, space, ASTEROID_EXPLODE_PITCH, data);
m_discrete->write(space, ASTEROID_EXPLODE_PITCH, data);
}
WRITE8_MEMBER(asteroid_state::asteroid_thump_w)
{
discrete_sound_w(m_discrete, space, ASTEROID_THUMP_EN, data & 0x10);
discrete_sound_w(m_discrete, space, ASTEROID_THUMP_DATA, data & 0x0f);
m_discrete->write(space, ASTEROID_THUMP_EN, data & 0x10);
m_discrete->write(space, ASTEROID_THUMP_DATA, data & 0x0f);
}
WRITE8_MEMBER(asteroid_state::asteroid_sounds_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(ASTEROID_SAUCER_SND_EN, offset), data & 0x80);
m_discrete->write(space, NODE_RELATIVE(ASTEROID_SAUCER_SND_EN, offset), data & 0x80);
}
WRITE8_MEMBER(asteroid_state::astdelux_sounds_w)
{
/* Only ever activates the thrusters in Astdelux */
discrete_sound_w(m_discrete, space, ASTEROID_THRUST_EN, data & 0x80);
m_discrete->write(space, ASTEROID_THRUST_EN, data & 0x80);
}
WRITE8_MEMBER(asteroid_state::asteroid_noise_reset_w)
{
discrete_sound_w(m_discrete, space, ASTEROID_NOISE_RESET, 0);
m_discrete->write(space, ASTEROID_NOISE_RESET, 0);
}

View File

@ -22,12 +22,12 @@
WRITE8_MEMBER(avalnche_state::avalnche_noise_amplitude_w)
{
discrete_sound_w(m_discrete, space, AVALNCHE_SOUNDLVL_DATA, data & 0x3f);
m_discrete->write(space, AVALNCHE_SOUNDLVL_DATA, data & 0x3f);
}
WRITE8_MEMBER(avalnche_state::avalnche_attract_enable_w)
{
discrete_sound_w(m_discrete, space, AVALNCHE_ATTRACT_EN, data & 0x01);
m_discrete->write(space, AVALNCHE_ATTRACT_EN, data & 0x01);
}
WRITE8_MEMBER(avalnche_state::avalnche_audio_w)
@ -37,16 +37,16 @@ WRITE8_MEMBER(avalnche_state::avalnche_audio_w)
switch (offset & 0x07)
{
case 0x00: /* AUD0 */
discrete_sound_w(m_discrete, space, AVALNCHE_AUD0_EN, bit);
m_discrete->write(space, AVALNCHE_AUD0_EN, bit);
break;
case 0x01: /* AUD1 */
discrete_sound_w(m_discrete, space, AVALNCHE_AUD1_EN, bit);
m_discrete->write(space, AVALNCHE_AUD1_EN, bit);
break;
case 0x02: /* AUD2 */
default:
discrete_sound_w(m_discrete, space, AVALNCHE_AUD2_EN, bit);
m_discrete->write(space, AVALNCHE_AUD2_EN, bit);
break;
}
}

View File

@ -38,7 +38,7 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(blockade_state::blockade_sound_freq_w)
{
discrete_sound_w(m_discrete,space,BLOCKADE_NOTE_DATA, data);
m_discrete->write(space,BLOCKADE_NOTE_DATA, data);
return;
}

View File

@ -12,18 +12,18 @@ Sound handlers
***************************************************************************/
WRITE8_MEMBER(bsktball_state::bsktball_bounce_w)
{
discrete_sound_w(m_discrete, space, BSKTBALL_CROWD_DATA, data & 0x0f); // Crowd
discrete_sound_w(m_discrete, space, BSKTBALL_BOUNCE_EN, data & 0x10); // Bounce
m_discrete->write(space, BSKTBALL_CROWD_DATA, data & 0x0f); // Crowd
m_discrete->write(space, BSKTBALL_BOUNCE_EN, data & 0x10); // Bounce
}
WRITE8_MEMBER(bsktball_state::bsktball_note_w)
{
discrete_sound_w(m_discrete, space, BSKTBALL_NOTE_DATA, data); // Note
m_discrete->write(space, BSKTBALL_NOTE_DATA, data); // Note
}
WRITE8_MEMBER(bsktball_state::bsktball_noise_reset_w)
{
discrete_sound_w(m_discrete, space, BSKTBALL_NOISE_EN, offset & 0x01);
m_discrete->write(space, BSKTBALL_NOISE_EN, offset & 0x01);
}

View File

@ -391,7 +391,7 @@ static const pokey_interface bzone_pokey_interface =
WRITE8_MEMBER(bzone_state::bzone_sounds_w)
{
discrete_sound_w(m_discrete, space, BZ_INPUT, data);
m_discrete->write(space, BZ_INPUT, data);
output_set_value("startled", (data >> 6) & 1);
machine().sound().system_enable(data & 0x20);

View File

@ -16,25 +16,25 @@
WRITE8_MEMBER(canyon_state::canyon_motor_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(CANYON_MOTOR1_DATA, (offset & 0x01)), data & 0x0f);
m_discrete->write(space, NODE_RELATIVE(CANYON_MOTOR1_DATA, (offset & 0x01)), data & 0x0f);
}
WRITE8_MEMBER(canyon_state::canyon_explode_w)
{
discrete_sound_w(m_discrete, space, CANYON_EXPLODE_DATA, data >> 4);
m_discrete->write(space, CANYON_EXPLODE_DATA, data >> 4);
}
WRITE8_MEMBER(canyon_state::canyon_attract_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(CANYON_ATTRACT1_EN, (offset & 0x01)), offset & 0x02);
m_discrete->write(space, NODE_RELATIVE(CANYON_ATTRACT1_EN, (offset & 0x01)), offset & 0x02);
}
WRITE8_MEMBER(canyon_state::canyon_whistle_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(CANYON_WHISTLE1_EN, (offset & 0x01)), offset & 0x02);
m_discrete->write(space, NODE_RELATIVE(CANYON_WHISTLE1_EN, (offset & 0x01)), offset & 0x02);
}

View File

@ -183,11 +183,11 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w)
switch ((data & 0x70) >> 4)
{
case 0 : /* All Off */
discrete_sound_w(m_discrete, space, CIRCUS_MUSIC_BIT, 0);
m_discrete->write(space, CIRCUS_MUSIC_BIT, 0);
break;
case 1 : /* Music */
discrete_sound_w(m_discrete, space, CIRCUS_MUSIC_BIT, 1);
m_discrete->write(space, CIRCUS_MUSIC_BIT, 1);
break;
case 2 : /* Circus = Pop; Rip Cord = Splash */
@ -216,7 +216,7 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w)
break;
case 2: /* robotbwl */
discrete_sound_w(m_discrete, space, ROBOTBWL_MUSIC_BIT, data & 0x08); /* Footsteps */
m_discrete->write(space, ROBOTBWL_MUSIC_BIT, data & 0x08); /* Footsteps */
if (data & 0x40) /* Hit */
m_samples->start(0, 0);
@ -241,11 +241,11 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w)
switch ((data & 0x70) >> 4)
{
case 0 : /* All Off */
discrete_sound_w(m_discrete, space, CRASH_MUSIC_BIT, 0);
m_discrete->write(space, CRASH_MUSIC_BIT, 0);
break;
case 1 : /* Music */
discrete_sound_w(m_discrete, space, CRASH_MUSIC_BIT, 1);
m_discrete->write(space, CRASH_MUSIC_BIT, 1);
break;
case 2 : /* Crash */
@ -253,14 +253,14 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w)
break;
case 3 : /* Normal Video and Beep */
discrete_sound_w(m_discrete, space, CRASH_BEEPER_EN, 0);
m_discrete->write(space, CRASH_BEEPER_EN, 0);
break;
case 4 : /* Skid */
break;
case 5 : /* Invert Video and Beep */
discrete_sound_w(m_discrete, space, CRASH_BEEPER_EN, 0);
m_discrete->write(space, CRASH_BEEPER_EN, 0);
break;
case 6 : /* Hi Motor */

View File

@ -702,27 +702,27 @@ WRITE8_MEMBER(copsnrob_state::copsnrob_misc_w)
switch (offset)
{
case 0x00:
discrete_sound_w(m_discrete, space, COPSNROB_MOTOR3_INV, special_data);
m_discrete->write(space, COPSNROB_MOTOR3_INV, special_data);
break;
case 0x01:
discrete_sound_w(m_discrete, space, COPSNROB_MOTOR2_INV, special_data);
m_discrete->write(space, COPSNROB_MOTOR2_INV, special_data);
break;
case 0x02:
discrete_sound_w(m_discrete, space, COPSNROB_MOTOR1_INV, special_data);
m_discrete->write(space, COPSNROB_MOTOR1_INV, special_data);
break;
case 0x03:
discrete_sound_w(m_discrete, space, COPSNROB_MOTOR0_INV, special_data);
m_discrete->write(space, COPSNROB_MOTOR0_INV, special_data);
break;
case 0x04:
discrete_sound_w(m_discrete, space, COPSNROB_SCREECH_INV, special_data);
m_discrete->write(space, COPSNROB_SCREECH_INV, special_data);
break;
case 0x05:
discrete_sound_w(m_discrete, space, COPSNROB_CRASH_INV, special_data);
m_discrete->write(space, COPSNROB_CRASH_INV, special_data);
break;
case 0x06:
@ -731,7 +731,7 @@ WRITE8_MEMBER(copsnrob_state::copsnrob_misc_w)
break;
case 0x07:
discrete_sound_w(m_discrete, space, COPSNROB_AUDIO_ENABLE, special_data);
m_discrete->write(space, COPSNROB_AUDIO_ENABLE, special_data);
//machine().sound().system_mute(special_data);
break;

View File

@ -30,13 +30,13 @@
WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_music_freq)
{
discrete_sound_w(m_discrete, space, CRBALOON_MUSIC_DATA, data);
m_discrete->write(space, CRBALOON_MUSIC_DATA, data);
}
WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_music_enable)
{
discrete_sound_w(m_discrete, space, CRBALOON_MUSIC_EN, data);
m_discrete->write(space, CRBALOON_MUSIC_EN, data);
}
@ -64,7 +64,7 @@ void crbaloon_state::crbaloon_audio_set_appear_enable(int enabled)
WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_laugh_enable)
{
discrete_sound_w(m_discrete, space, CRBALOON_LAUGH_EN, data);
m_discrete->write(space, CRBALOON_LAUGH_EN, data);
}

View File

@ -1253,7 +1253,7 @@ READ8_MEMBER(dkong_state::dkong_tune_r)
WRITE8_MEMBER(dkong_state::dkong_p1_w)
{
discrete_sound_w(m_discrete,space,DS_DAC,data);
m_discrete->write(space,DS_DAC,data);
}

View File

@ -15,50 +15,50 @@ WRITE8_MEMBER(firetrk_state::firetrk_skid_reset_w)
m_skid[1] = 0;
// also SUPERBUG_SKID_EN
discrete_sound_w(m_discrete, space, FIRETRUCK_SKID_EN, 1);
m_discrete->write(space, FIRETRUCK_SKID_EN, 1);
}
WRITE8_MEMBER(firetrk_state::montecar_skid_reset_w)
{
discrete_sound_w(m_discrete, space, MONTECAR_SKID_EN, 1);
m_discrete->write(space, MONTECAR_SKID_EN, 1);
}
WRITE8_MEMBER(firetrk_state::firetrk_crash_snd_w)
{
// also SUPERBUG_CRASH_DATA and MONTECAR_CRASH_DATA
discrete_sound_w(m_discrete, space, FIRETRUCK_CRASH_DATA, data >> 4);
m_discrete->write(space, FIRETRUCK_CRASH_DATA, data >> 4);
}
WRITE8_MEMBER(firetrk_state::firetrk_skid_snd_w)
{
// also SUPERBUG_SKID_EN and MONTECAR_SKID_EN
discrete_sound_w(m_discrete, space, FIRETRUCK_SKID_EN, 0);
m_discrete->write(space, FIRETRUCK_SKID_EN, 0);
}
WRITE8_MEMBER(firetrk_state::firetrk_motor_snd_w)
{
// also MONTECAR_DRONE_MOTOR_DATA
discrete_sound_w(m_discrete, space, FIRETRUCK_SIREN_DATA, data >> 4);
m_discrete->write(space, FIRETRUCK_SIREN_DATA, data >> 4);
// also MONTECAR_MOTOR_DATA
discrete_sound_w(m_discrete, space, FIRETRUCK_MOTOR_DATA, data & 0x0f);
m_discrete->write(space, FIRETRUCK_MOTOR_DATA, data & 0x0f);
}
WRITE8_MEMBER(firetrk_state::superbug_motor_snd_w)
{
discrete_sound_w(m_discrete, space, SUPERBUG_SPEED_DATA, data & 0x0f);
m_discrete->write(space, SUPERBUG_SPEED_DATA, data & 0x0f);
}
WRITE8_MEMBER(firetrk_state::firetrk_xtndply_w)
{
// also SUPERBUG_ASR_EN (extended play)
discrete_sound_w(m_discrete, space, FIRETRUCK_XTNDPLY_EN, data);
m_discrete->write(space, FIRETRUCK_XTNDPLY_EN, data);
}

View File

@ -426,7 +426,7 @@ void galaxian_sound_device::device_start()
/* IC 9J */
WRITE8_MEMBER( galaxian_sound_device::pitch_w )
{
discrete_sound_w(m_discrete, space, GAL_INP_PITCH, data );
m_discrete->write(space, GAL_INP_PITCH, data );
}
WRITE8_MEMBER( galaxian_sound_device::lfo_freq_w )
@ -436,28 +436,28 @@ WRITE8_MEMBER( galaxian_sound_device::lfo_freq_w )
if (m_lfo_val != lfo_val_new)
{
m_lfo_val = lfo_val_new;
discrete_sound_w(m_discrete, space, GAL_INP_BG_DAC, m_lfo_val);
m_discrete->write(space, GAL_INP_BG_DAC, m_lfo_val);
}
}
WRITE8_MEMBER( galaxian_sound_device::background_enable_w )
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(GAL_INP_FS1, offset), data & 0x01);
m_discrete->write(space, NODE_RELATIVE(GAL_INP_FS1, offset), data & 0x01);
}
WRITE8_MEMBER( galaxian_sound_device::noise_enable_w )
{
discrete_sound_w(m_discrete, space, GAL_INP_HIT, data & 0x01);
m_discrete->write(space, GAL_INP_HIT, data & 0x01);
}
WRITE8_MEMBER( galaxian_sound_device::vol_w )
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(GAL_INP_VOL1,offset), data & 0x01);
m_discrete->write(space, NODE_RELATIVE(GAL_INP_VOL1,offset), data & 0x01);
}
WRITE8_MEMBER( galaxian_sound_device::fire_enable_w )
{
discrete_sound_w(m_discrete, space, GAL_INP_FIRE, data & 0x01);
m_discrete->write(space, GAL_INP_FIRE, data & 0x01);
}
/* FIXME: May be replaced by one call! */

View File

@ -83,13 +83,13 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(asteroid_state::llander_snd_reset_w)
{
/* Resets the LFSR that is used for the white noise generator */
discrete_sound_w(m_discrete, space, LLANDER_NOISE_RESET, 0); /* Reset */
m_discrete->write(space, LLANDER_NOISE_RESET, 0); /* Reset */
}
WRITE8_MEMBER(asteroid_state::llander_sounds_w)
{
discrete_sound_w(m_discrete, space, LLANDER_THRUST_DATA, data & 0x07); /* Thrust volume */
discrete_sound_w(m_discrete, space, LLANDER_TONE3K_EN, data & 0x10); /* Tone 3KHz enable */
discrete_sound_w(m_discrete, space, LLANDER_TONE6K_EN, data & 0x20); /* Tone 6KHz enable */
discrete_sound_w(m_discrete, space, LLANDER_EXPLOD_EN, data & 0x08); /* Explosion */
m_discrete->write(space, LLANDER_THRUST_DATA, data & 0x07); /* Thrust volume */
m_discrete->write(space, LLANDER_TONE3K_EN, data & 0x10); /* Tone 3KHz enable */
m_discrete->write(space, LLANDER_TONE6K_EN, data & 0x20); /* Tone 6KHz enable */
m_discrete->write(space, LLANDER_EXPLOD_EN, data & 0x08); /* Explosion */
}

View File

@ -325,9 +325,9 @@ WRITE8_MEMBER(m79amb_state::m79amb_8000_w)
/* these values are not latched */
/* they are pulsed when the port is addressed */
/* the discrete system will just trigger from them */
discrete_sound_w(m_discrete, space, M79AMB_SHOT_EN, data & 0x01);
discrete_sound_w(m_discrete, space, M79AMB_BOOM_EN, data & 0x02);
discrete_sound_w(m_discrete, space, M79AMB_THUD_EN, data & 0x04);
m_discrete->write(space, M79AMB_SHOT_EN, data & 0x01);
m_discrete->write(space, M79AMB_BOOM_EN, data & 0x02);
m_discrete->write(space, M79AMB_THUD_EN, data & 0x04);
};
WRITE8_MEMBER(m79amb_state::m79amb_8003_w)
@ -335,9 +335,9 @@ WRITE8_MEMBER(m79amb_state::m79amb_8003_w)
/* Self Test goes low on reset and lights LED */
/* LED goes off on pass */
output_set_value("SELF_TEST", data & 0x01);
discrete_sound_w(m_discrete, space, M79AMB_MC_REV_EN, data & 0x02);
discrete_sound_w(m_discrete, space, M79AMB_MC_CONTROL_EN, data & 0x04);
discrete_sound_w(m_discrete, space, M79AMB_TANK_TRUCK_JEEP_EN, data & 0x08);
discrete_sound_w(m_discrete, space, M79AMB_WHISTLE_B_EN, data & 0x10);
discrete_sound_w(m_discrete, space, M79AMB_WHISTLE_A_EN, data & 0x20);
m_discrete->write(space, M79AMB_MC_REV_EN, data & 0x02);
m_discrete->write(space, M79AMB_MC_CONTROL_EN, data & 0x04);
m_discrete->write(space, M79AMB_TANK_TRUCK_JEEP_EN, data & 0x08);
m_discrete->write(space, M79AMB_WHISTLE_B_EN, data & 0x10);
m_discrete->write(space, M79AMB_WHISTLE_A_EN, data & 0x20);
}

View File

@ -493,7 +493,7 @@ READ8_MEMBER(mario_state::mario_sh_tune_r)
WRITE8_MEMBER(mario_state::mario_sh_sound_w)
{
discrete_sound_w(m_discrete, space, DS_DAC, data);
m_discrete->write(space, DS_DAC, data);
}
WRITE8_MEMBER(mario_state::mario_sh_p1_w)
@ -533,13 +533,13 @@ WRITE8_MEMBER(mario_state::mario_sh_tuneselect_w)
/* Mario running sample */
WRITE8_MEMBER(mario_state::mario_sh1_w)
{
discrete_sound_w(m_discrete, space, DS_SOUND0_INP, 0);
m_discrete->write(space, DS_SOUND0_INP, 0);
}
/* Luigi running sample */
WRITE8_MEMBER(mario_state::mario_sh2_w)
{
discrete_sound_w(m_discrete, space, DS_SOUND1_INP, 0);
m_discrete->write(space, DS_SOUND1_INP, 0);
}
/* Misc samples */
@ -572,7 +572,7 @@ WRITE8_MEMBER(mario_state::mario_sh3_w)
I8035_P1_W_AH(space, 3, data & 1);
break;
case 7: /* skid */
discrete_sound_w(machine().device("discrete"), space, DS_SOUND7_INP, data & 1);
machine().device<discrete_device>("discrete")->write(space, DS_SOUND7_INP, data & 1);
break;
}
}

View File

@ -80,9 +80,9 @@ static const discrete_op_amp_tvca_info midway_music_tvca_info =
WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_lo_w)
{
discrete_sound_w(m_discrete, space, MIDWAY_TONE_EN, (data >> 0) & 0x01);
m_discrete->write(space, MIDWAY_TONE_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, MIDWAY_TONE_DATA_L, (data >> 1) & 0x1f);
m_discrete->write(space, MIDWAY_TONE_DATA_L, (data >> 1) & 0x1f);
/* D6 and D7 are not connected */
}
@ -90,7 +90,7 @@ WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_lo_w)
WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_hi_w)
{
discrete_sound_w(m_discrete, space, MIDWAY_TONE_DATA_H, data & 0x3f);
m_discrete->write(space, MIDWAY_TONE_DATA_H, data & 0x3f);
/* D6 and D7 are not connected */
}
@ -322,11 +322,11 @@ MACHINE_CONFIG_END
WRITE8_MEMBER(mw8080bw_state::tornbase_audio_w)
{
discrete_sound_w(m_discrete, space, TORNBASE_TONE_240_EN, (data >> 0) & 0x01);
m_discrete->write(space, TORNBASE_TONE_240_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, TORNBASE_TONE_960_EN, (data >> 1) & 0x01);
m_discrete->write(space, TORNBASE_TONE_960_EN, (data >> 1) & 0x01);
discrete_sound_w(m_discrete, space, TORNBASE_TONE_120_EN, (data >> 2) & 0x01);
m_discrete->write(space, TORNBASE_TONE_120_EN, (data >> 2) & 0x01);
/* if (data & 0x08) enable SIREN sound */
@ -566,23 +566,23 @@ MACHINE_CONFIG_FRAGMENT( maze_audio )
MACHINE_CONFIG_END
void maze_write_discrete(device_t *device, UINT8 maze_tone_timing_state)
void maze_write_discrete(discrete_device *device, UINT8 maze_tone_timing_state)
{
/* controls need to be active low */
int controls = ~device->machine().root_device().ioport("IN0")->read() & 0xff;
address_space &space = device->machine().driver_data()->generic_space();
discrete_sound_w(device, space, MAZE_TONE_TIMING, maze_tone_timing_state);
discrete_sound_w(device, space, MAZE_P1_DATA, controls & 0x0f);
discrete_sound_w(device, space, MAZE_P2_DATA, (controls >> 4) & 0x0f);
discrete_sound_w(device, space, MAZE_JOYSTICK_IN_USE, controls != 0xff);
device->write(space, MAZE_TONE_TIMING, maze_tone_timing_state);
device->write(space, MAZE_P1_DATA, controls & 0x0f);
device->write(space, MAZE_P2_DATA, (controls >> 4) & 0x0f);
device->write(space, MAZE_JOYSTICK_IN_USE, controls != 0xff);
/* The coin line is connected directly to the discrete circuit. */
/* We can't really do that, so updating it with the tone timing is close enough. */
/* A better option might be to update it at vblank or set a timer to do it. */
/* The only noticeable difference doing it here, is that the controls don't */
/* immediately start making tones if pressed right after the coin is inserted. */
discrete_sound_w(device, space, MAZE_COIN, (~device->machine().root_device().ioport("IN1")->read() >> 3) & 0x01);
device->write(space, MAZE_COIN, (~device->machine().root_device().ioport("IN1")->read() >> 3) & 0x01);
}
@ -820,15 +820,15 @@ WRITE8_MEMBER(mw8080bw_state::boothill_audio_w)
coin_counter_w(machine(), 0, (data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, BOOTHILL_GAME_ON_EN, (data >> 3) & 0x01);
m_discrete->write(space, BOOTHILL_GAME_ON_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, BOOTHILL_LEFT_SHOT_EN, (data >> 4) & 0x01);
m_discrete->write(space, BOOTHILL_LEFT_SHOT_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, BOOTHILL_RIGHT_SHOT_EN, (data >> 5) & 0x01);
m_discrete->write(space, BOOTHILL_RIGHT_SHOT_EN, (data >> 5) & 0x01);
discrete_sound_w(m_discrete, space, BOOTHILL_LEFT_HIT_EN, (data >> 6) & 0x01);
m_discrete->write(space, BOOTHILL_LEFT_HIT_EN, (data >> 6) & 0x01);
discrete_sound_w(m_discrete, space, BOOTHILL_RIGHT_HIT_EN, (data >> 7) & 0x01);
m_discrete->write(space, BOOTHILL_RIGHT_HIT_EN, (data >> 7) & 0x01);
}
@ -1045,16 +1045,16 @@ MACHINE_CONFIG_END
WRITE8_MEMBER(mw8080bw_state::checkmat_audio_w)
{
discrete_sound_w(m_discrete, space, CHECKMAT_TONE_EN, data & 0x01);
m_discrete->write(space, CHECKMAT_TONE_EN, data & 0x01);
discrete_sound_w(m_discrete, space, CHECKMAT_BOOM_EN, (data >> 1) & 0x01);
m_discrete->write(space, CHECKMAT_BOOM_EN, (data >> 1) & 0x01);
coin_counter_w(machine(), 0, (data >> 2) & 0x01);
machine().sound().system_enable((data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, CHECKMAT_TONE_DATA_45, (data >> 4) & 0x03);
discrete_sound_w(m_discrete, space, CHECKMAT_TONE_DATA_67, (data >> 6) & 0x03);
m_discrete->write(space, CHECKMAT_TONE_DATA_45, (data >> 4) & 0x03);
m_discrete->write(space, CHECKMAT_TONE_DATA_67, (data >> 6) & 0x03);
}
@ -1260,23 +1260,23 @@ WRITE8_MEMBER(mw8080bw_state::desertgu_audio_1_w)
coin_counter_w(machine(), 0, (data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_GAME_ON_EN, (data >> 3) & 0x01);
m_discrete->write(space, DESERTGU_GAME_ON_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_RIFLE_SHOT_EN, (data >> 4) & 0x01);
m_discrete->write(space, DESERTGU_RIFLE_SHOT_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_BOTTLE_HIT_EN, (data >> 5) & 0x01);
m_discrete->write(space, DESERTGU_BOTTLE_HIT_EN, (data >> 5) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_ROAD_RUNNER_HIT_EN, (data >> 6) & 0x01);
m_discrete->write(space, DESERTGU_ROAD_RUNNER_HIT_EN, (data >> 6) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_CREATURE_HIT_EN, (data >> 7) & 0x01);
m_discrete->write(space, DESERTGU_CREATURE_HIT_EN, (data >> 7) & 0x01);
}
WRITE8_MEMBER(mw8080bw_state::desertgu_audio_2_w)
{
discrete_sound_w(m_discrete, space, DESERTGU_ROADRUNNER_BEEP_BEEP_EN, (data >> 0) & 0x01);
m_discrete->write(space, DESERTGU_ROADRUNNER_BEEP_BEEP_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, DESERTGU_TRIGGER_CLICK_EN, (data >> 1) & 0x01);
m_discrete->write(space, DESERTGU_TRIGGER_CLICK_EN, (data >> 1) & 0x01);
output_set_value("Player1_Gun_Recoil", (data >> 2) & 0x01);
@ -1521,15 +1521,15 @@ MACHINE_CONFIG_END
WRITE8_MEMBER(mw8080bw_state::dplay_audio_w)
{
discrete_sound_w(m_discrete, space, DPLAY_TONE_ON_EN, (data >> 0) & 0x01);
m_discrete->write(space, DPLAY_TONE_ON_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, DPLAY_CHEER_EN, (data >> 1) & 0x01);
m_discrete->write(space, DPLAY_CHEER_EN, (data >> 1) & 0x01);
discrete_sound_w(m_discrete, space, DPLAY_SIREN_EN, (data >> 2) & 0x01);
m_discrete->write(space, DPLAY_SIREN_EN, (data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, DPLAY_WHISTLE_EN, (data >> 3) & 0x01);
m_discrete->write(space, DPLAY_WHISTLE_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, DPLAY_GAME_ON_EN, (data >> 4) & 0x01);
m_discrete->write(space, DPLAY_GAME_ON_EN, (data >> 4) & 0x01);
coin_counter_w(machine(), 0, (data >> 5) & 0x01);
@ -1942,15 +1942,15 @@ WRITE8_MEMBER(mw8080bw_state::clowns_audio_2_w)
{
UINT8 rising_bits = data & ~m_port_2_last;
discrete_sound_w(m_discrete, space, CLOWNS_POP_BOTTOM_EN, (data >> 0) & 0x01);
m_discrete->write(space, CLOWNS_POP_BOTTOM_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, CLOWNS_POP_MIDDLE_EN, (data >> 1) & 0x01);
m_discrete->write(space, CLOWNS_POP_MIDDLE_EN, (data >> 1) & 0x01);
discrete_sound_w(m_discrete, space, CLOWNS_POP_TOP_EN, (data >> 2) & 0x01);
m_discrete->write(space, CLOWNS_POP_TOP_EN, (data >> 2) & 0x01);
machine().sound().system_enable((data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, CLOWNS_SPRINGBOARD_HIT_EN, (data >> 4) & 0x01);
m_discrete->write(space, CLOWNS_SPRINGBOARD_HIT_EN, (data >> 4) & 0x01);
if (rising_bits & 0x20) m_samples->start(0, 0); /* springboard miss */
@ -2301,22 +2301,22 @@ WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_1_w)
machine().sound().system_enable((data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_SPACE_SHIP_EN, (data >> 3) & 0x01);
m_discrete->write(space, SPACWALK_SPACE_SHIP_EN, (data >> 3) & 0x01);
}
WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_2_w)
{
discrete_sound_w(m_discrete, space, SPACWALK_TARGET_HIT_BOTTOM_EN, (data >> 0) & 0x01);
m_discrete->write(space, SPACWALK_TARGET_HIT_BOTTOM_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_TARGET_HIT_MIDDLE_EN, (data >> 1) & 0x01);
m_discrete->write(space, SPACWALK_TARGET_HIT_MIDDLE_EN, (data >> 1) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_TARGET_HIT_TOP_EN, (data >> 2) & 0x01);
m_discrete->write(space, SPACWALK_TARGET_HIT_TOP_EN, (data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_SPRINGBOARD_HIT1_EN, (data >> 3) & 0x01);
m_discrete->write(space, SPACWALK_SPRINGBOARD_HIT1_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_SPRINGBOARD_HIT2_EN, (data >> 4) & 0x01);
m_discrete->write(space, SPACWALK_SPRINGBOARD_HIT2_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, SPACWALK_SPRINGBOARD_MISS_EN, (data >> 5) & 0x01);
m_discrete->write(space, SPACWALK_SPRINGBOARD_MISS_EN, (data >> 5) & 0x01);
}
@ -2525,17 +2525,17 @@ MACHINE_CONFIG_END
WRITE8_MEMBER(mw8080bw_state::shuffle_audio_1_w)
{
discrete_sound_w(m_discrete, space, SHUFFLE_CLICK_EN, (data >> 0) & 0x01);
m_discrete->write(space, SHUFFLE_CLICK_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, SHUFFLE_ROLLOVER_EN, (data >> 1) & 0x01);
m_discrete->write(space, SHUFFLE_ROLLOVER_EN, (data >> 1) & 0x01);
machine().sound().system_enable((data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, NODE_29, (data >> 3) & 0x07);
m_discrete->write(space, NODE_29, (data >> 3) & 0x07);
discrete_sound_w(m_discrete, space, SHUFFLE_ROLLING_3_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, SHUFFLE_ROLLING_2_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, SHUFFLE_ROLLING_1_EN, (data >> 5) & 0x01);
m_discrete->write(space, SHUFFLE_ROLLING_3_EN, (data >> 3) & 0x01);
m_discrete->write(space, SHUFFLE_ROLLING_2_EN, (data >> 4) & 0x01);
m_discrete->write(space, SHUFFLE_ROLLING_1_EN, (data >> 5) & 0x01);
/* D6 and D7 are not connected */
}
@ -2543,7 +2543,7 @@ WRITE8_MEMBER(mw8080bw_state::shuffle_audio_1_w)
WRITE8_MEMBER(mw8080bw_state::shuffle_audio_2_w)
{
discrete_sound_w(m_discrete, space, SHUFFLE_FOUL_EN, (data >> 0) & 0x01);
m_discrete->write(space, SHUFFLE_FOUL_EN, (data >> 0) & 0x01);
coin_counter_w(machine(), 0, (data >> 1) & 0x01);
@ -2710,13 +2710,13 @@ WRITE8_MEMBER(mw8080bw_state::dogpatch_audio_w)
coin_counter_w(machine(), 0, (data >> 2) & 0x01);
machine().sound().system_enable((data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, DOGPATCH_GAME_ON_EN, (data >> 3) & 0x01);
m_discrete->write(space, DOGPATCH_GAME_ON_EN, (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, DOGPATCH_LEFT_SHOT_EN, (data >> 4) & 0x01);
m_discrete->write(space, DOGPATCH_LEFT_SHOT_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, DOGPATCH_RIGHT_SHOT_EN, (data >> 5) & 0x01);
m_discrete->write(space, DOGPATCH_RIGHT_SHOT_EN, (data >> 5) & 0x01);
discrete_sound_w(m_discrete, space, DOGPATCH_HIT_EN, (data >> 6) & 0x01);
m_discrete->write(space, DOGPATCH_HIT_EN, (data >> 6) & 0x01);
}
@ -3248,7 +3248,7 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_1_w)
/* D1 is marked as 'OPTIONAL SWITCH VIDEO FOR COCKTAIL',
but it is never set by the software */
discrete_sound_w(m_discrete, space, SPCENCTR_CRASH_EN, (data >> 2) & 0x01);
m_discrete->write(space, SPCENCTR_CRASH_EN, (data >> 2) & 0x01);
/* D3-D7 are not connected */
}
@ -3258,9 +3258,9 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_2_w)
{
/* set WIND SOUND FREQ(data & 0x0f) 0, if no wind */
discrete_sound_w(m_discrete, space, SPCENCTR_EXPLOSION_EN, (data >> 4) & 0x01);
m_discrete->write(space, SPCENCTR_EXPLOSION_EN, (data >> 4) & 0x01);
discrete_sound_w(m_discrete, space, SPCENCTR_PLAYER_SHOT_EN, (data >> 5) & 0x01);
m_discrete->write(space, SPCENCTR_PLAYER_SHOT_EN, (data >> 5) & 0x01);
/* D6 and D7 are not connected */
@ -3272,13 +3272,13 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_3_w)
{
/* if (data & 0x01) enable SCREECH (hit the sides) sound */
discrete_sound_w(m_discrete, space, SPCENCTR_ENEMY_SHIP_SHOT_EN, (data >> 1) & 0x01);
m_discrete->write(space, SPCENCTR_ENEMY_SHIP_SHOT_EN, (data >> 1) & 0x01);
m_spcenctr_strobe_state = (data >> 2) & 0x01;
output_set_value("LAMP", (data >> 3) & 0x01);
discrete_sound_w(m_discrete, space, SPCENCTR_BONUS_EN, (data >> 4) & 0x01);
m_discrete->write(space, SPCENCTR_BONUS_EN, (data >> 4) & 0x01);
m_sn->enable_w((data >> 5) & 0x01); /* saucer sound */
@ -3454,7 +3454,7 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_1_w)
machine().sound().system_enable((data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, BOWLER_FOWL_EN, (data >> 3) & 0x01);
m_discrete->write(space, BOWLER_FOWL_EN, (data >> 3) & 0x01);
/* D4 - appears to be a screen flip, but it's
shown unconnected on the schematics for both the
@ -4173,10 +4173,10 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_1_w)
{
m_sn->enable_w((~data >> 0) & 0x01); /* saucer sound */
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02);
m_discrete->write(space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04);
m_discrete->write(space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08);
m_discrete->write(space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10);
machine().sound().system_enable(data & 0x20);
@ -4186,8 +4186,8 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_1_w)
WRITE8_MEMBER(mw8080bw_state::invaders_audio_2_w)
{
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f);
m_discrete->write(space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10);
/* the flip screen line is only connected on the cocktail PCB */
if (invaders_is_cabinet_cocktail())
@ -4572,18 +4572,18 @@ MACHINE_CONFIG_END
WRITE8_MEMBER(mw8080bw_state::blueshrk_audio_w)
{
discrete_sound_w(m_discrete, space, BLUESHRK_GAME_ON_EN, (data >> 0) & 0x01);
m_discrete->write(space, BLUESHRK_GAME_ON_EN, (data >> 0) & 0x01);
discrete_sound_w(m_discrete, space, BLUESHRK_SHOT_EN, (data >> 1) & 0x01);
m_discrete->write(space, BLUESHRK_SHOT_EN, (data >> 1) & 0x01);
discrete_sound_w(m_discrete, space, BLUESHRK_HIT_EN, (data >> 2) & 0x01);
m_discrete->write(space, BLUESHRK_HIT_EN, (data >> 2) & 0x01);
discrete_sound_w(m_discrete, space, BLUESHRK_SHARK_EN, (data >> 3) & 0x01);
m_discrete->write(space, BLUESHRK_SHARK_EN, (data >> 3) & 0x01);
/* if (data & 0x10) enable KILLED DIVER sound, this circuit
doesn't appear to be on the schematics */
discrete_sound_w(m_discrete, space, BLUESHRK_OCTOPUS_EN, (data >> 5) & 0x01);
m_discrete->write(space, BLUESHRK_OCTOPUS_EN, (data >> 5) & 0x01);
/* D6 and D7 are not connected */
}
@ -4802,10 +4802,10 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_1_w)
{
m_sn1->enable_w((~data >> 0) & 0x01); /* saucer sound */
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02);
m_discrete->write(space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04);
m_discrete->write(space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08);
m_discrete->write(space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10);
machine().sound().system_enable(data & 0x20);
@ -4815,8 +4815,8 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_1_w)
WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_2_w)
{
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f);
m_discrete->write(space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10);
/* D5-D7 are not connected */
}
@ -4826,10 +4826,10 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_3_w)
{
m_sn2->enable_w((~data >> 0) & 0x01); /* saucer sound */
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 2), data & 0x02);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 2), data & 0x04);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 2), data & 0x08);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 2), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_MISSILE_EN, 2), data & 0x02);
m_discrete->write(space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 2), data & 0x04);
m_discrete->write(space, INVADERS_NODE(INVADERS_INVADER_HIT_EN, 2), data & 0x08);
m_discrete->write(space, INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 2), data & 0x10);
/* D5-D7 are not connected */
}
@ -4837,8 +4837,8 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_3_w)
WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_4_w)
{
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_FLEET_DATA, 2), data & 0x0f);
discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 2), data & 0x10);
m_discrete->write(space, INVADERS_NODE(INVADERS_FLEET_DATA, 2), data & 0x0f);
m_discrete->write(space, INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 2), data & 0x10);
/* D5-D7 are not connected */
}

View File

@ -78,7 +78,7 @@ READ8_MEMBER( namco_52xx_device::R1_r )
WRITE8_MEMBER( namco_52xx_device::P_w )
{
discrete_sound_w(m_discrete, space, NAMCO_52XX_P_DATA(m_basenode), data & 0x0f);
m_discrete->write(space, NAMCO_52XX_P_DATA(m_basenode), data & 0x0f);
}
WRITE8_MEMBER( namco_52xx_device::R2_w )

View File

@ -71,16 +71,16 @@ WRITE8_MEMBER( namco_54xx_device::O_w )
{
UINT8 out = (data & 0x0f);
if (data & 0x10)
discrete_sound_w(m_discrete, space, NAMCO_54XX_1_DATA(m_basenode), out);
m_discrete->write(space, NAMCO_54XX_1_DATA(m_basenode), out);
else
discrete_sound_w(m_discrete, space, NAMCO_54XX_0_DATA(m_basenode), out);
m_discrete->write(space, NAMCO_54XX_0_DATA(m_basenode), out);
}
WRITE8_MEMBER( namco_54xx_device::R1_w )
{
UINT8 out = (data & 0x0f);
discrete_sound_w(m_discrete, space, NAMCO_54XX_2_DATA(m_basenode), out);
m_discrete->write(space, NAMCO_54XX_2_DATA(m_basenode), out);
}

View File

@ -15,24 +15,24 @@
WRITE8_MEMBER(orbit_state::orbit_note_w)
{
discrete_sound_w(m_discrete, space, ORBIT_NOTE_FREQ, (~data) & 0xff);
m_discrete->write(space, ORBIT_NOTE_FREQ, (~data) & 0xff);
}
WRITE8_MEMBER(orbit_state::orbit_note_amp_w)
{
discrete_sound_w(m_discrete, space, ORBIT_ANOTE1_AMP, data & 0x0f);
discrete_sound_w(m_discrete, space, ORBIT_ANOTE2_AMP, data >> 4);
m_discrete->write(space, ORBIT_ANOTE1_AMP, data & 0x0f);
m_discrete->write(space, ORBIT_ANOTE2_AMP, data >> 4);
}
WRITE8_MEMBER(orbit_state::orbit_noise_amp_w)
{
discrete_sound_w(m_discrete, space, ORBIT_NOISE1_AMP, data & 0x0f);
discrete_sound_w(m_discrete, space, ORBIT_NOISE2_AMP, data >> 4);
m_discrete->write(space, ORBIT_NOISE1_AMP, data & 0x0f);
m_discrete->write(space, ORBIT_NOISE2_AMP, data >> 4);
}
WRITE8_MEMBER(orbit_state::orbit_noise_rst_w)
{
discrete_sound_w(m_discrete, space, ORBIT_NOISE_EN, 0);
m_discrete->write(space, ORBIT_NOISE_EN, 0);
}

View File

@ -78,7 +78,7 @@ void phoenix_sound_device::device_start()
memset(&m_c25_state, 0, sizeof(m_c25_state));
memset(&m_noise_state, 0, sizeof(m_noise_state));
m_discrete = machine().device("discrete");
m_discrete = machine().device<discrete_device>("discrete");
m_tms = machine().device<tms36xx_device>("tms");
m_poly18 = auto_alloc_array(machine(), UINT32, 1ul << (18-5));
@ -506,12 +506,12 @@ DISCRETE_SOUND_END
WRITE8_MEMBER( phoenix_sound_device::control_a_w )
{
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_2_DATA, data & 0x0f);
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_2_FREQ, (data & 0x30) >> 4);
m_discrete->write(space, PHOENIX_EFFECT_2_DATA, data & 0x0f);
m_discrete->write(space, PHOENIX_EFFECT_2_FREQ, (data & 0x30) >> 4);
#if 0
/* future handling of noise sounds */
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_3_EN , data & 0x40);
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_4_EN , data & 0x80);
m_discrete->write(space, PHOENIX_EFFECT_3_EN , data & 0x40);
m_discrete->write(space, PHOENIX_EFFECT_4_EN , data & 0x80);
#endif
m_channel->update();
m_sound_latch_a = data;
@ -519,9 +519,9 @@ WRITE8_MEMBER( phoenix_sound_device::control_a_w )
WRITE8_MEMBER( phoenix_sound_device::control_b_w )
{
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_1_DATA, data & 0x0f);
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_1_FILT, data & 0x20);
discrete_sound_w(m_discrete, space, PHOENIX_EFFECT_1_FREQ, data & 0x10);
m_discrete->write(space, PHOENIX_EFFECT_1_DATA, data & 0x0f);
m_discrete->write(space, PHOENIX_EFFECT_1_FILT, data & 0x20);
m_discrete->write(space, PHOENIX_EFFECT_1_FREQ, data & 0x10);
/* update the tune that the MM6221AA is playing */
m_tms->mm6221aa_tune_w(data >> 6);

View File

@ -157,20 +157,20 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(poolshrk_state::poolshrk_scratch_sound_w)
{
discrete_sound_w(m_discrete, space, POOLSHRK_SCRATCH_SND, offset & 1);
m_discrete->write(space, POOLSHRK_SCRATCH_SND, offset & 1);
}
WRITE8_MEMBER(poolshrk_state::poolshrk_score_sound_w)
{
discrete_sound_w(m_discrete, space, POOLSHRK_SCORE_EN, 1); /* this will trigger the sound code for 1 sample */
m_discrete->write(space, POOLSHRK_SCORE_EN, 1); /* this will trigger the sound code for 1 sample */
}
WRITE8_MEMBER(poolshrk_state::poolshrk_click_sound_w)
{
discrete_sound_w(m_discrete, space, POOLSHRK_CLICK_EN, 1); /* this will trigger the sound code for 1 sample */
m_discrete->write(space, POOLSHRK_CLICK_EN, 1); /* this will trigger the sound code for 1 sample */
}
WRITE8_MEMBER(poolshrk_state::poolshrk_bump_sound_w)
{
discrete_sound_w(m_discrete, space, POOLSHRK_BUMP_EN, offset & 1);
m_discrete->write(space, POOLSHRK_BUMP_EN, offset & 1);
}

View File

@ -28,12 +28,12 @@ Audio handlers
WRITE8_MEMBER(qix_state::qix_dac_w)
{
discrete_sound_w(m_discrete, space, QIX_DAC_DATA, data);
m_discrete->write(space, QIX_DAC_DATA, data);
}
WRITE8_MEMBER(qix_state::qix_vol_w)
{
discrete_sound_w(m_discrete, space, QIX_VOL_DATA, data);
m_discrete->write(space, QIX_VOL_DATA, data);
}

View File

@ -292,10 +292,10 @@ WRITE8_MEMBER(skyraid_state::skyraid_sound_w)
/* BIT4 => PLANE ON */
/* BIT5 => ATTRACT */
discrete_sound_w(m_discrete, space, SKYRAID_PLANE_SWEEP_EN, data & 0x01);
discrete_sound_w(m_discrete, space, SKYRAID_MISSILE_EN, data & 0x02);
discrete_sound_w(m_discrete, space, SKYRAID_EXPLOSION_EN, data & 0x04);
m_discrete->write(space, SKYRAID_PLANE_SWEEP_EN, data & 0x01);
m_discrete->write(space, SKYRAID_MISSILE_EN, data & 0x02);
m_discrete->write(space, SKYRAID_EXPLOSION_EN, data & 0x04);
set_led_status(machine(), 0, !(data & 0x08));
discrete_sound_w(m_discrete, space, SKYRAID_PLANE_ON_EN, data & 0x10);
discrete_sound_w(m_discrete, space, SKYRAID_ATTRACT_EN, data & 0x20);
m_discrete->write(space, SKYRAID_PLANE_ON_EN, data & 0x10);
m_discrete->write(space, SKYRAID_ATTRACT_EN, data & 0x20);
}

View File

@ -860,7 +860,7 @@ WRITE8_MEMBER( snk6502_sound_device::fantasy_sound_w )
}
/* BOMB */
discrete_sound_w(space.machine().device("discrete"), space, FANTASY_BOMB_EN, data & 0x80);
machine().device<discrete_device>("discrete")->write(space, FANTASY_BOMB_EN, data & 0x80);
m_LastPort1 = data;
break;

View File

@ -182,22 +182,22 @@ WRITE8_MEMBER(spiders_state::spiders_audio_command_w)
WRITE8_MEMBER(spiders_state::spiders_audio_a_w)
{
discrete_sound_w(m_discrete, space, SPIDER_WEB_SOUND_MOD_DATA, 1 + (data & 4) * 8 + (data & 2) * 4 + (data & 1) * 2);
m_discrete->write(space, SPIDER_WEB_SOUND_MOD_DATA, 1 + (data & 4) * 8 + (data & 2) * 4 + (data & 1) * 2);
}
WRITE8_MEMBER(spiders_state::spiders_audio_b_w)
{
discrete_sound_w(m_discrete, space, SPIDERS_WEB_SOUND_DATA, data);
m_discrete->write(space, SPIDERS_WEB_SOUND_DATA, data);
}
WRITE8_MEMBER(spiders_state::spiders_audio_ctrl_w)
{
discrete_sound_w(m_discrete, space, SPIDERS_FIRE_EN, data & 0x10 ? 1 : 0);
discrete_sound_w(m_discrete, space, SPIDERS_EXP_EN, data & 0x08 ? 1 : 0);
discrete_sound_w(m_discrete, space, SPIDERS_SUPER_WEB_EXPL_EN, data & 0x04 ? 1 : 0);
discrete_sound_w(m_discrete, space, SPIDERS_SUPER_WEB_EN, data & 0x02 ? 1 : 0);
discrete_sound_w(m_discrete, space, SPIDERS_X_EN, data & 0x01 ? 1 : 0);
m_discrete->write(space, SPIDERS_FIRE_EN, data & 0x10 ? 1 : 0);
m_discrete->write(space, SPIDERS_EXP_EN, data & 0x08 ? 1 : 0);
m_discrete->write(space, SPIDERS_SUPER_WEB_EXPL_EN, data & 0x04 ? 1 : 0);
m_discrete->write(space, SPIDERS_SUPER_WEB_EN, data & 0x02 ? 1 : 0);
m_discrete->write(space, SPIDERS_X_EN, data & 0x01 ? 1 : 0);
}

View File

@ -295,20 +295,20 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(sprint8_state::sprint8_crash_w)
{
discrete_sound_w(m_discrete, space, SPRINT8_CRASH_EN, data & 0x01);
m_discrete->write(space, SPRINT8_CRASH_EN, data & 0x01);
}
WRITE8_MEMBER(sprint8_state::sprint8_screech_w)
{
discrete_sound_w(m_discrete, space, SPRINT8_SCREECH_EN, data & 0x01);
m_discrete->write(space, SPRINT8_SCREECH_EN, data & 0x01);
}
WRITE8_MEMBER(sprint8_state::sprint8_attract_w)
{
discrete_sound_w(m_discrete, space, SPRINT8_ATTRACT_EN, data & 0x01);
m_discrete->write(space, SPRINT8_ATTRACT_EN, data & 0x01);
}
WRITE8_MEMBER(sprint8_state::sprint8_motor_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(SPRINT8_MOTOR1_EN, offset & 0x07), data & 0x01);
m_discrete->write(space, NODE_RELATIVE(SPRINT8_MOTOR1_EN, offset & 0x07), data & 0x01);
}

View File

@ -14,28 +14,28 @@ sub sound functions
WRITE8_MEMBER(subs_state::subs_sonar1_w)
{
discrete_sound_w(m_discrete, space, SUBS_SONAR1_EN, offset & 0x01);
m_discrete->write(space, SUBS_SONAR1_EN, offset & 0x01);
}
WRITE8_MEMBER(subs_state::subs_sonar2_w)
{
discrete_sound_w(m_discrete, space, SUBS_SONAR2_EN, offset & 0x01);
m_discrete->write(space, SUBS_SONAR2_EN, offset & 0x01);
}
WRITE8_MEMBER(subs_state::subs_crash_w)
{
discrete_sound_w(m_discrete, space, SUBS_CRASH_EN, offset & 0x01);
m_discrete->write(space, SUBS_CRASH_EN, offset & 0x01);
}
WRITE8_MEMBER(subs_state::subs_explode_w)
{
discrete_sound_w(m_discrete, space, SUBS_EXPLODE_EN, offset & 0x01);
m_discrete->write(space, SUBS_EXPLODE_EN, offset & 0x01);
}
WRITE8_MEMBER(subs_state::subs_noise_reset_w)
{
/* Pulse noise reset */
discrete_sound_w(m_discrete, space, SUBS_NOISE_RESET, 0);
m_discrete->write(space, SUBS_NOISE_RESET, 0);
}

View File

@ -41,17 +41,17 @@ static void turbo_update_samples(turbo_state *state, samples_device *samples)
static TIMER_CALLBACK( update_sound_a )
{
device_t *discrete = machine.device("discrete");
discrete_device *discrete = machine.device<discrete_device>("discrete");
int data = param;
/* missing short crash sample, but I've never seen it triggered */
discrete_sound_w(discrete, 0, !(data & 0x01));
discrete_sound_w(discrete, 1, (data >> 1) & 1);
discrete_sound_w(discrete, 2, (data >> 2) & 1);
discrete_sound_w(discrete, 3, (data >> 3) & 1);
discrete_sound_w(discrete, 4, (data >> 4) & 1);
discrete_sound_w(discrete, 5, !(data & 0x20));
discrete_sound_w(discrete, 6, !(data & 0x40));
discrete->write(0, !(data & 0x01));
discrete->write(1, (data >> 1) & 1);
discrete->write(2, (data >> 2) & 1);
discrete->write(3, (data >> 3) & 1);
discrete->write(4, (data >> 4) & 1);
discrete->write(5, !(data & 0x20));
discrete->write(6, !(data & 0x40));
if (!((data >> 1) & 1)) mame_printf_debug("/TRIG1\n");
if (!((data >> 2) & 1)) mame_printf_debug("/TRIG2\n");

View File

@ -148,12 +148,12 @@ WRITE8_MEMBER( vicdual_state::frogs_audio_w )
int new_croak = data & 0x08;
int new_buzzz = data & 0x10;
// discrete_sound_w(m_discrete, space, FROGS_HOP_EN, data & 0x01);
// discrete_sound_w(m_discrete, space, FROGS_JUMP_EN, data & 0x02);
discrete_sound_w(m_discrete, space, FROGS_TONGUE_EN, data & 0x04);
// discrete_sound_w(m_discrete, space, FROGS_CAPTURE_EN, data & 0x08);
// discrete_sound_w(m_discrete, space, FROGS_FLY_EN, data & 0x10);
// discrete_sound_w(m_discrete, space, FROGS_SPLASH_EN, data & 0x80);
// m_discrete->write(space, FROGS_HOP_EN, data & 0x01);
// m_discrete->write(space, FROGS_JUMP_EN, data & 0x02);
m_discrete->write(space, FROGS_TONGUE_EN, data & 0x04);
// m_discrete->write(space, FROGS_CAPTURE_EN, data & 0x08);
// m_discrete->write(space, FROGS_FLY_EN, data & 0x10);
// m_discrete->write(space, FROGS_SPLASH_EN, data & 0x80);
if (data & 0x01)
m_samples->start(3, 3); // Hop
@ -460,13 +460,13 @@ WRITE8_MEMBER( vicdual_state::headon_audio_w )
{
if (m_discrete == NULL)
return;
discrete_sound_w(m_discrete, space, HEADON_HISPEED_PC_EN, data & 0x01);
discrete_sound_w(m_discrete, space, HEADON_SCREECH1_EN, data & 0x02);
discrete_sound_w(m_discrete, space, HEADON_CRASH_EN, data & 0x04);
discrete_sound_w(m_discrete, space, HEADON_HISPEED_CC_EN, data & 0x08);
discrete_sound_w(m_discrete, space, HEADON_SCREECH2_EN, data & 0x10);
discrete_sound_w(m_discrete, space, HEADON_BONUS_EN, data & 0x20);
discrete_sound_w(m_discrete, space, HEADON_CAR_ON_EN, data & 0x40);
m_discrete->write(space, HEADON_HISPEED_PC_EN, data & 0x01);
m_discrete->write(space, HEADON_SCREECH1_EN, data & 0x02);
m_discrete->write(space, HEADON_CRASH_EN, data & 0x04);
m_discrete->write(space, HEADON_HISPEED_CC_EN, data & 0x08);
m_discrete->write(space, HEADON_SCREECH2_EN, data & 0x10);
m_discrete->write(space, HEADON_BONUS_EN, data & 0x20);
m_discrete->write(space, HEADON_CAR_ON_EN, data & 0x40);
}
@ -474,13 +474,13 @@ WRITE8_MEMBER( vicdual_state::invho2_audio_w )
{
if (m_discrete == NULL)
return;
discrete_sound_w(m_discrete, space, HEADON_HISPEED_PC_EN, data & 0x10);
discrete_sound_w(m_discrete, space, HEADON_SCREECH1_EN, data & 0x08);
discrete_sound_w(m_discrete, space, HEADON_CRASH_EN, data & 0x80);
discrete_sound_w(m_discrete, space, HEADON_HISPEED_CC_EN, data & 0x40);
discrete_sound_w(m_discrete, space, HEADON_SCREECH2_EN, data & 0x04);
discrete_sound_w(m_discrete, space, HEADON_BONUS_EN, data & 0x02);
discrete_sound_w(m_discrete, space, HEADON_CAR_ON_EN, data & 0x20);
m_discrete->write(space, HEADON_HISPEED_PC_EN, data & 0x10);
m_discrete->write(space, HEADON_SCREECH1_EN, data & 0x08);
m_discrete->write(space, HEADON_CRASH_EN, data & 0x80);
m_discrete->write(space, HEADON_HISPEED_CC_EN, data & 0x40);
m_discrete->write(space, HEADON_SCREECH2_EN, data & 0x04);
m_discrete->write(space, HEADON_BONUS_EN, data & 0x02);
m_discrete->write(space, HEADON_CAR_ON_EN, data & 0x20);
}

View File

@ -122,9 +122,9 @@ WRITE8_MEMBER(circusc_state::circusc_sound_w)
/* CS6 */
case 4:
discrete_sound_w(m_discrete, space, NODE_05, (offset & 0x20) >> 5);
discrete_sound_w(m_discrete, space, NODE_06, (offset & 0x18) >> 3);
discrete_sound_w(m_discrete, space, NODE_07, (offset & 0x40) >> 6);
m_discrete->write(space, NODE_05, (offset & 0x20) >> 5);
m_discrete->write(space, NODE_06, (offset & 0x18) >> 3);
m_discrete->write(space, NODE_07, (offset & 0x40) >> 6);
break;
}
}

View File

@ -179,8 +179,8 @@ READ8_MEMBER(cliffhgr_state::cliff_irq_ack_r)
WRITE8_MEMBER(cliffhgr_state::cliff_sound_overlay_w)
{
/* audio */
discrete_sound_w(m_discrete, space, CLIFF_ENABLE_SND_1, data & 1);
discrete_sound_w(m_discrete, space, CLIFF_ENABLE_SND_2, (data >> 1) & 1);
m_discrete->write(space, CLIFF_ENABLE_SND_1, data & 1);
m_discrete->write(space, CLIFF_ENABLE_SND_2, (data >> 1) & 1);
// bit 4 (data & 0x10) is overlay related?
}

View File

@ -70,21 +70,21 @@ void dragrace_state::dragrace_update_misc_flags( address_space &space )
set_led_status(machine(), 0, m_misc_flags & 0x00008000);
set_led_status(machine(), 1, m_misc_flags & 0x80000000);
discrete_sound_w(m_discrete, space, DRAGRACE_MOTOR1_DATA, ~m_misc_flags & 0x0000001f); // Speed1 data*
discrete_sound_w(m_discrete, space, DRAGRACE_EXPLODE1_EN, (m_misc_flags & 0x00000020) ? 1: 0); // Explosion1 enable
discrete_sound_w(m_discrete, space, DRAGRACE_SCREECH1_EN, (m_misc_flags & 0x00000040) ? 1: 0); // Screech1 enable
discrete_sound_w(m_discrete, space, DRAGRACE_KLEXPL1_EN, (m_misc_flags & 0x00000200) ? 1: 0); // KLEXPL1 enable
discrete_sound_w(m_discrete, space, DRAGRACE_MOTOR1_EN, (m_misc_flags & 0x00000800) ? 1: 0); // Motor1 enable
m_discrete->write(space, DRAGRACE_MOTOR1_DATA, ~m_misc_flags & 0x0000001f); // Speed1 data*
m_discrete->write(space, DRAGRACE_EXPLODE1_EN, (m_misc_flags & 0x00000020) ? 1: 0); // Explosion1 enable
m_discrete->write(space, DRAGRACE_SCREECH1_EN, (m_misc_flags & 0x00000040) ? 1: 0); // Screech1 enable
m_discrete->write(space, DRAGRACE_KLEXPL1_EN, (m_misc_flags & 0x00000200) ? 1: 0); // KLEXPL1 enable
m_discrete->write(space, DRAGRACE_MOTOR1_EN, (m_misc_flags & 0x00000800) ? 1: 0); // Motor1 enable
discrete_sound_w(m_discrete, space, DRAGRACE_MOTOR2_DATA, (~m_misc_flags & 0x001f0000) >> 0x10); // Speed2 data*
discrete_sound_w(m_discrete, space, DRAGRACE_EXPLODE2_EN, (m_misc_flags & 0x00200000) ? 1: 0); // Explosion2 enable
discrete_sound_w(m_discrete, space, DRAGRACE_SCREECH2_EN, (m_misc_flags & 0x00400000) ? 1: 0); // Screech2 enable
discrete_sound_w(m_discrete, space, DRAGRACE_KLEXPL2_EN, (m_misc_flags & 0x02000000) ? 1: 0); // KLEXPL2 enable
discrete_sound_w(m_discrete, space, DRAGRACE_MOTOR2_EN, (m_misc_flags & 0x08000000) ? 1: 0); // Motor2 enable
m_discrete->write(space, DRAGRACE_MOTOR2_DATA, (~m_misc_flags & 0x001f0000) >> 0x10); // Speed2 data*
m_discrete->write(space, DRAGRACE_EXPLODE2_EN, (m_misc_flags & 0x00200000) ? 1: 0); // Explosion2 enable
m_discrete->write(space, DRAGRACE_SCREECH2_EN, (m_misc_flags & 0x00400000) ? 1: 0); // Screech2 enable
m_discrete->write(space, DRAGRACE_KLEXPL2_EN, (m_misc_flags & 0x02000000) ? 1: 0); // KLEXPL2 enable
m_discrete->write(space, DRAGRACE_MOTOR2_EN, (m_misc_flags & 0x08000000) ? 1: 0); // Motor2 enable
discrete_sound_w(m_discrete, space, DRAGRACE_ATTRACT_EN, (m_misc_flags & 0x00001000) ? 1: 0); // Attract enable
discrete_sound_w(m_discrete, space, DRAGRACE_LOTONE_EN, (m_misc_flags & 0x00002000) ? 1: 0); // LoTone enable
discrete_sound_w(m_discrete, space, DRAGRACE_HITONE_EN, (m_misc_flags & 0x20000000) ? 1: 0); // HiTone enable
m_discrete->write(space, DRAGRACE_ATTRACT_EN, (m_misc_flags & 0x00001000) ? 1: 0); // Attract enable
m_discrete->write(space, DRAGRACE_LOTONE_EN, (m_misc_flags & 0x00002000) ? 1: 0); // LoTone enable
m_discrete->write(space, DRAGRACE_HITONE_EN, (m_misc_flags & 0x20000000) ? 1: 0); // HiTone enable
}
WRITE8_MEMBER(dragrace_state::dragrace_misc_w)

View File

@ -35,7 +35,7 @@ INPUT_CHANGED_MEMBER(firetrk_state::service_mode_switch_changed)
INPUT_CHANGED_MEMBER(firetrk_state::firetrk_horn_changed)
{
discrete_sound_w(m_discrete, generic_space(), FIRETRUCK_HORN_EN, newval);
m_discrete->write(generic_space(), FIRETRUCK_HORN_EN, newval);
}
@ -76,7 +76,7 @@ WRITE8_MEMBER(firetrk_state::firetrk_output_w)
set_led_status(machine(), 3, !(data & 0x08));
/* BIT4 => ATTRACT */
discrete_sound_w(m_discrete, space, FIRETRUCK_ATTRACT_EN, data & 0x10);
m_discrete->write(space, FIRETRUCK_ATTRACT_EN, data & 0x10);
coin_lockout_w(machine(), 0, !(data & 0x10));
coin_lockout_w(machine(), 1, !(data & 0x10));
@ -86,7 +86,7 @@ WRITE8_MEMBER(firetrk_state::firetrk_output_w)
/* BIT6 => UNUSED */
/* BIT7 => BELL OUT */
discrete_sound_w(m_discrete, space, FIRETRUCK_BELL_EN, data & 0x80);
m_discrete->write(space, FIRETRUCK_BELL_EN, data & 0x80);
}
@ -96,7 +96,7 @@ WRITE8_MEMBER(firetrk_state::superbug_output_w)
set_led_status(machine(), 0, offset & 0x01);
/* BIT1 => ATTRACT */
discrete_sound_w(m_discrete, space, SUPERBUG_ATTRACT_EN, offset & 0x02);
m_discrete->write(space, SUPERBUG_ATTRACT_EN, offset & 0x02);
coin_lockout_w(machine(), 0, !(offset & 0x02));
coin_lockout_w(machine(), 1, !(offset & 0x02));
@ -117,7 +117,7 @@ WRITE8_MEMBER(firetrk_state::montecar_output_1_w)
set_led_status(machine(), 1, !(data & 0x02));
/* BIT2 => ATTRACT */
discrete_sound_w(m_discrete, space, MONTECAR_ATTRACT_INV, data & 0x04);
m_discrete->write(space, MONTECAR_ATTRACT_INV, data & 0x04);
/* BIT3 => UNUSED */
/* BIT4 => UNUSED */
@ -137,8 +137,8 @@ WRITE8_MEMBER(firetrk_state::montecar_output_2_w)
{
m_flash = data & 0x80;
discrete_sound_w(m_discrete, space, MONTECAR_BEEPER_EN, data & 0x10);
discrete_sound_w(m_discrete, space, MONTECAR_DRONE_LOUD_DATA, data & 0x0f);
m_discrete->write(space, MONTECAR_BEEPER_EN, data & 0x10);
m_discrete->write(space, MONTECAR_DRONE_LOUD_DATA, data & 0x0f);
}

View File

@ -579,7 +579,7 @@ READ8_MEMBER(galaxian_state::konami_sound_timer_r)
WRITE8_MEMBER(galaxian_state::konami_sound_filter_w)
{
device_t *discrete = machine().device("konami");
discrete_device *discrete = machine().device<discrete_device>("konami");
static const char *const ayname[2] = { "8910.0", "8910.1" };
int which, chan;
@ -594,7 +594,7 @@ WRITE8_MEMBER(galaxian_state::konami_sound_filter_w)
/* low bit goes to 0.22uF capacitor = 220000pF */
/* high bit goes to 0.047uF capacitor = 47000pF */
discrete_sound_w(discrete, space, NODE(3 * which + chan + 11), bits);
discrete->write(space, NODE(3 * which + chan + 11), bits);
}
}

View File

@ -1452,8 +1452,8 @@ WRITE8_MEMBER(goldnpkr_state::sound_w)
logerror("Sound Data: %2x\n",data & 0x0f);
/* discrete sound is connected to PIA1, portA: bits 0-3 */
discrete_sound_w(m_discrete, space, NODE_01, data >> 3 & 0x01);
discrete_sound_w(m_discrete, space, NODE_10, data & 0x07);
m_discrete->write(space, NODE_01, data >> 3 & 0x01);
m_discrete->write(space, NODE_10, data & 0x07);
}
WRITE8_MEMBER(goldnpkr_state::pia0_a_w)

View File

@ -300,18 +300,18 @@ WRITE8_MEMBER(grchamp_state::cpu1_outputs_w)
/* bit 2-4: ATTACK UP 1-3 */
/* bit 5-6: SIFT 1-2 */
/* bit 7: ENGINE CS */
discrete_sound_w(m_discrete, space, GRCHAMP_ENGINE_CS_EN, data & 0x80);
discrete_sound_w(m_discrete, space, GRCHAMP_SIFT_DATA, (data >> 5) & 0x03);
discrete_sound_w(m_discrete, space, GRCHAMP_ATTACK_UP_DATA, (data >> 2) & 0x07);
discrete_sound_w(m_discrete, space, GRCHAMP_IDLING_EN, data & 0x02);
discrete_sound_w(m_discrete, space, GRCHAMP_FOG_EN, data & 0x01);
m_discrete->write(space, GRCHAMP_ENGINE_CS_EN, data & 0x80);
m_discrete->write(space, GRCHAMP_SIFT_DATA, (data >> 5) & 0x03);
m_discrete->write(space, GRCHAMP_ATTACK_UP_DATA, (data >> 2) & 0x07);
m_discrete->write(space, GRCHAMP_IDLING_EN, data & 0x02);
m_discrete->write(space, GRCHAMP_FOG_EN, data & 0x01);
break;
case 0x0d: /* OUTD */
/* bit 0-3: ATTACK SPEED 1-4 */
/* bit 4-7: PLAYER SPEED 1-4 */
discrete_sound_w(m_discrete, space, GRCHAMP_PLAYER_SPEED_DATA, (data >> 4) & 0x0f);
discrete_sound_w(m_discrete, space, GRCHAMP_ATTACK_SPEED_DATA, data & 0x0f);
m_discrete->write(space, GRCHAMP_PLAYER_SPEED_DATA, (data >> 4) & 0x0f);
m_discrete->write(space, GRCHAMP_ATTACK_SPEED_DATA, data & 0x0f);
break;
default:
@ -409,12 +409,12 @@ READ8_MEMBER(grchamp_state::main_to_sub_comm_r)
WRITE8_MEMBER(grchamp_state::grchamp_portA_0_w)
{
discrete_sound_w(m_discrete, space, GRCHAMP_A_DATA, data);
m_discrete->write(space, GRCHAMP_A_DATA, data);
}
WRITE8_MEMBER(grchamp_state::grchamp_portB_0_w)
{
discrete_sound_w(m_discrete, space, GRCHAMP_B_DATA, 255-data);
m_discrete->write(space, GRCHAMP_B_DATA, 255-data);
}
WRITE8_MEMBER(grchamp_state::grchamp_portA_2_w)

View File

@ -113,7 +113,7 @@ READ8_MEMBER(gyruss_state::gyruss_portA_r)
WRITE8_MEMBER(gyruss_state::gyruss_dac_w)
{
discrete_sound_w(m_discrete, space, NODE(16), data);
m_discrete->write(space, NODE(16), data);
}
WRITE8_MEMBER(gyruss_state::gyruss_irq_clear_w)
@ -121,7 +121,7 @@ WRITE8_MEMBER(gyruss_state::gyruss_irq_clear_w)
m_audiocpu_2->set_input_line(0, CLEAR_LINE);
}
static void filter_w( device_t *device, int chip, int data )
void gyruss_state::filter_w(address_space &space, int chip, int data )
{
int i;
@ -130,20 +130,19 @@ static void filter_w( device_t *device, int chip, int data )
{
/* low bit: 47000pF = 0.047uF */
/* high bit: 220000pF = 0.22uF */
address_space &space = device->machine().driver_data()->generic_space();
discrete_sound_w(device, space, NODE(3 * chip + i + 21), data & 3);
m_discrete->write(space, NODE(3 * chip + i + 21), data & 3);
data >>= 2;
}
}
WRITE8_MEMBER(gyruss_state::gyruss_filter0_w)
{
filter_w(m_discrete, 0, data);
filter_w(space, 0, data);
}
WRITE8_MEMBER(gyruss_state::gyruss_filter1_w)
{
filter_w(m_discrete, 1, data);
filter_w(space, 1, data);
}

View File

@ -190,15 +190,15 @@ WRITE8_MEMBER(hitme_state::output_port_0_w)
attotime duration = attotime(0, ATTOSECONDS_PER_SECOND * 0.45 * 6.8e-6 * resistance * (data + 1));
m_timeout_time = machine().time() + duration;
discrete_sound_w(m_discrete, space, HITME_DOWNCOUNT_VAL, data);
discrete_sound_w(m_discrete, space, HITME_OUT0, 1);
m_discrete->write(space, HITME_DOWNCOUNT_VAL, data);
m_discrete->write(space, HITME_OUT0, 1);
}
WRITE8_MEMBER(hitme_state::output_port_1_w)
{
discrete_sound_w(m_discrete, space, HITME_ENABLE_VAL, data);
discrete_sound_w(m_discrete, space, HITME_OUT1, 1);
m_discrete->write(space, HITME_ENABLE_VAL, data);
m_discrete->write(space, HITME_OUT1, 1);
}

View File

@ -43,10 +43,10 @@ WRITE8_MEMBER(ironhors_state::ironhors_sh_irqtrigger_w)
WRITE8_MEMBER(ironhors_state::ironhors_filter_w)
{
device_t *device = machine().device("disc_ih");
discrete_sound_w(device, space, NODE_11, (data & 0x04) >> 2);
discrete_sound_w(device, space, NODE_12, (data & 0x02) >> 1);
discrete_sound_w(device, space, NODE_13, (data & 0x01) >> 0);
discrete_device *m_disc_ih = machine().device<discrete_device>("disc_ih");
m_disc_ih->write(space, NODE_11, (data & 0x04) >> 2);
m_disc_ih->write(space, NODE_12, (data & 0x02) >> 1);
m_disc_ih->write(space, NODE_13, (data & 0x01) >> 0);
}
/*************************************

View File

@ -68,11 +68,11 @@ READ8_MEMBER(madalien_state::madalien_sound_command_r)
WRITE8_MEMBER(madalien_state::madalien_portA_w)
{
discrete_sound_w(m_discrete, space, MADALIEN_8910_PORTA, data);
m_discrete->write(space, MADALIEN_8910_PORTA, data);
}
WRITE8_MEMBER(madalien_state::madalien_portB_w)
{
discrete_sound_w(m_discrete, space, MADALIEN_8910_PORTB, data);
m_discrete->write(space, MADALIEN_8910_PORTB, data);
}

View File

@ -674,8 +674,8 @@ WRITE8_MEMBER(norautp_state::soundlamps_w)
output_set_lamp_value(9, (data >> 1) & 1); /* BET / COLLECT lamp */
/* the 4 MSB are for discrete sound */
discrete_sound_w(m_discrete, space, NORAUTP_SND_EN, (data >> 7) & 0x01);
discrete_sound_w(m_discrete, space, NORAUTP_FREQ_DATA, (data >> 4) & 0x07);
m_discrete->write(space, NORAUTP_SND_EN, (data >> 7) & 0x01);
m_discrete->write(space, NORAUTP_FREQ_DATA, (data >> 4) & 0x07);
// popmessage("sound bits 4-5-6-7: %02x, %02x, %02x, %02x", ((data >> 4) & 0x01), ((data >> 5) & 0x01), ((data >> 6) & 0x01), ((data >> 7) & 0x01));
}

View File

@ -72,7 +72,7 @@ void orbit_state::update_misc_flags(address_space &space, UINT8 val)
/* BIT6 => HYPER LED */
/* BIT7 => WARNING SND */
discrete_sound_w(m_discrete, space, ORBIT_WARNING_EN, BIT(m_misc_flags, 7));
m_discrete->write(space, ORBIT_WARNING_EN, BIT(m_misc_flags, 7));
set_led_status(machine(), 0, BIT(m_misc_flags, 3));
set_led_status(machine(), 1, BIT(m_misc_flags, 6));

View File

@ -149,11 +149,11 @@ INTERRUPT_GEN_MEMBER(skydiver_state::skydiver_interrupt)
{
/* Convert range data to divide value and write to sound */
address_space &space = m_maincpu->space(AS_PROGRAM);
discrete_sound_w(m_discrete, space, SKYDIVER_RANGE_DATA, (0x01 << (~m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2
m_discrete->write(space, SKYDIVER_RANGE_DATA, (0x01 << (~m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2
discrete_sound_w(m_discrete, space, SKYDIVER_RANGE3_EN, m_videoram[0x394] & 0x08); // Range 3 - note disable
discrete_sound_w(m_discrete, space, SKYDIVER_NOTE_DATA, ~m_videoram[0x395] & 0xff); // Note - freq
discrete_sound_w(m_discrete, space, SKYDIVER_NOISE_DATA, m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude
m_discrete->write(space, SKYDIVER_RANGE3_EN, m_videoram[0x394] & 0x08); // Range 3 - note disable
m_discrete->write(space, SKYDIVER_NOTE_DATA, ~m_videoram[0x395] & 0xff); // Note - freq
m_discrete->write(space, SKYDIVER_NOISE_DATA, m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude
if (m_nmion)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
@ -169,12 +169,12 @@ INTERRUPT_GEN_MEMBER(skydiver_state::skydiver_interrupt)
WRITE8_MEMBER(skydiver_state::skydiver_sound_enable_w)
{
discrete_sound_w(m_discrete, space, SKYDIVER_SOUND_EN, offset);
m_discrete->write(space, SKYDIVER_SOUND_EN, offset);
}
WRITE8_MEMBER(skydiver_state::skydiver_whistle_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(SKYDIVER_WHISTLE1_EN, (offset >> 1)), offset & 0x01);
m_discrete->write(space, NODE_RELATIVE(SKYDIVER_WHISTLE1_EN, (offset >> 1)), offset & 0x01);
}

View File

@ -94,9 +94,9 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2)
}
address_space &space = m_maincpu->space(AS_PROGRAM);
discrete_sound_w(m_discrete, space, SPRINT2_MOTORSND1_DATA, m_video_ram[0x394] & 15); // also DOMINOS_FREQ_DATA
discrete_sound_w(m_discrete, space, SPRINT2_MOTORSND2_DATA, m_video_ram[0x395] & 15);
discrete_sound_w(m_discrete, space, SPRINT2_CRASHSND_DATA, m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA
m_discrete->write(space, SPRINT2_MOTORSND1_DATA, m_video_ram[0x394] & 15); // also DOMINOS_FREQ_DATA
m_discrete->write(space, SPRINT2_MOTORSND2_DATA, m_video_ram[0x395] & 15);
m_discrete->write(space, SPRINT2_CRASHSND_DATA, m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA
/* interrupts and watchdog are disabled during service mode */
@ -203,25 +203,25 @@ WRITE8_MEMBER(sprint2_state::sprint2_attract_w)
m_attract = offset & 1;
// also DOMINOS_ATTRACT_EN
discrete_sound_w(m_discrete, space, SPRINT2_ATTRACT_EN, m_attract);
m_discrete->write(space, SPRINT2_ATTRACT_EN, m_attract);
}
WRITE8_MEMBER(sprint2_state::sprint2_noise_reset_w)
{
discrete_sound_w(m_discrete, space, SPRINT2_NOISE_RESET, 0);
m_discrete->write(space, SPRINT2_NOISE_RESET, 0);
}
WRITE8_MEMBER(sprint2_state::sprint2_skid1_w)
{
// also DOMINOS_TUMBLE_EN
discrete_sound_w(m_discrete, space, SPRINT2_SKIDSND1_EN, offset & 1);
m_discrete->write(space, SPRINT2_SKIDSND1_EN, offset & 1);
}
WRITE8_MEMBER(sprint2_state::sprint2_skid2_w)
{
discrete_sound_w(m_discrete, space, SPRINT2_SKIDSND2_EN, offset & 1);
m_discrete->write(space, SPRINT2_SKIDSND2_EN, offset & 1);
}

View File

@ -198,36 +198,36 @@ WRITE8_MEMBER(sprint4_state::sprint4_lockout_w)
WRITE8_MEMBER(sprint4_state::sprint4_screech_1_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_SCREECH_EN_1, offset & 1);
m_discrete->write(space, SPRINT4_SCREECH_EN_1, offset & 1);
}
WRITE8_MEMBER(sprint4_state::sprint4_screech_2_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_SCREECH_EN_2, offset & 1);
m_discrete->write(space, SPRINT4_SCREECH_EN_2, offset & 1);
}
WRITE8_MEMBER(sprint4_state::sprint4_screech_3_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_SCREECH_EN_3, offset & 1);
m_discrete->write(space, SPRINT4_SCREECH_EN_3, offset & 1);
}
WRITE8_MEMBER(sprint4_state::sprint4_screech_4_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_SCREECH_EN_4, offset & 1);
m_discrete->write(space, SPRINT4_SCREECH_EN_4, offset & 1);
}
WRITE8_MEMBER(sprint4_state::sprint4_bang_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_BANG_DATA, data & 0x0f);
m_discrete->write(space, SPRINT4_BANG_DATA, data & 0x0f);
}
WRITE8_MEMBER(sprint4_state::sprint4_attract_w)
{
discrete_sound_w(m_discrete, space, SPRINT4_ATTRACT_EN, data & 1);
m_discrete->write(space, SPRINT4_ATTRACT_EN, data & 1);
}

View File

@ -29,26 +29,26 @@ WRITE8_MEMBER(starshp1_state::starshp1_audio_w)
{
case 0:
m_attract = data;
discrete_sound_w(m_discrete, space, STARSHP1_ATTRACT, data);
m_discrete->write(space, STARSHP1_ATTRACT, data);
break;
case 1:
m_phasor = data;
discrete_sound_w(m_discrete, space, STARSHP1_PHASOR_ON, data);
m_discrete->write(space, STARSHP1_PHASOR_ON, data);
break;
case 2:
discrete_sound_w(m_discrete, space, STARSHP1_KICKER, data);
m_discrete->write(space, STARSHP1_KICKER, data);
break;
case 3:
discrete_sound_w(m_discrete, space, STARSHP1_SL1, data);
m_discrete->write(space, STARSHP1_SL1, data);
break;
case 4:
discrete_sound_w(m_discrete, space, STARSHP1_SL2, data);
m_discrete->write(space, STARSHP1_SL2, data);
break;
case 5:
discrete_sound_w(m_discrete, space, STARSHP1_MOLVL, data);
m_discrete->write(space, STARSHP1_MOLVL, data);
break;
case 6:
discrete_sound_w(m_discrete, space, STARSHP1_NOISE_FREQ, data);
m_discrete->write(space, STARSHP1_NOISE_FREQ, data);
break;
}
@ -107,13 +107,13 @@ WRITE8_MEMBER(starshp1_state::starshp1_analog_out_w)
m_ship_size = data;
break;
case 2:
discrete_sound_w(m_discrete, space, STARSHP1_NOISE_AMPLITUDE, data);
m_discrete->write(space, STARSHP1_NOISE_AMPLITUDE, data);
break;
case 3:
discrete_sound_w(m_discrete, space, STARSHP1_TONE_PITCH, data);
m_discrete->write(space, STARSHP1_TONE_PITCH, data);
break;
case 4:
discrete_sound_w(m_discrete, space, STARSHP1_MOTOR_SPEED, data);
m_discrete->write(space, STARSHP1_MOTOR_SPEED, data);
break;
case 5:
m_circle_hpos = data;

View File

@ -45,17 +45,17 @@ WRITE8_MEMBER(tank8_state::tank8_int_reset_w)
WRITE8_MEMBER(tank8_state::tank8_crash_w)
{
discrete_sound_w(m_discrete, space, TANK8_CRASH_EN, data);
m_discrete->write(space, TANK8_CRASH_EN, data);
}
WRITE8_MEMBER(tank8_state::tank8_explosion_w)
{
discrete_sound_w(m_discrete, space, TANK8_EXPLOSION_EN, data);
m_discrete->write(space, TANK8_EXPLOSION_EN, data);
}
WRITE8_MEMBER(tank8_state::tank8_bugle_w)
{
discrete_sound_w(m_discrete, space, TANK8_BUGLE_EN, data);
m_discrete->write(space, TANK8_BUGLE_EN, data);
}
WRITE8_MEMBER(tank8_state::tank8_bug_w)
@ -63,20 +63,20 @@ WRITE8_MEMBER(tank8_state::tank8_bug_w)
/* D0 and D1 determine the on/off time off the square wave */
switch(data & 3) {
case 0:
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA1,8.0);
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA2,4.0);
m_discrete->write(space, TANK8_BUGLE_DATA1,8.0);
m_discrete->write(space, TANK8_BUGLE_DATA2,4.0);
break;
case 1:
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA1,8.0);
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA2,7.0);
m_discrete->write(space, TANK8_BUGLE_DATA1,8.0);
m_discrete->write(space, TANK8_BUGLE_DATA2,7.0);
break;
case 2:
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA1,8.0);
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA2,2.0);
m_discrete->write(space, TANK8_BUGLE_DATA1,8.0);
m_discrete->write(space, TANK8_BUGLE_DATA2,2.0);
break;
case 3:
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA1,16.0);
discrete_sound_w(m_discrete, space, TANK8_BUGLE_DATA2,4.0);
m_discrete->write(space, TANK8_BUGLE_DATA1,16.0);
m_discrete->write(space, TANK8_BUGLE_DATA2,4.0);
break;
}
@ -84,12 +84,12 @@ WRITE8_MEMBER(tank8_state::tank8_bug_w)
WRITE8_MEMBER(tank8_state::tank8_attract_w)
{
discrete_sound_w(m_discrete, space, TANK8_ATTRACT_EN, data);
m_discrete->write(space, TANK8_ATTRACT_EN, data);
}
WRITE8_MEMBER(tank8_state::tank8_motor_w)
{
discrete_sound_w(m_discrete, space, NODE_RELATIVE(TANK8_MOTOR1_EN, offset), data);
m_discrete->write(space, NODE_RELATIVE(TANK8_MOTOR1_EN, offset), data);
}
static ADDRESS_MAP_START( tank8_cpu_map, AS_PROGRAM, 8, tank8_state )

View File

@ -67,9 +67,9 @@ void triplhnt_state::triplhnt_update_misc(address_space &space, int offset)
coin_lockout_w(machine(), 0, !(m_misc_flags & 0x08));
coin_lockout_w(machine(), 1, !(m_misc_flags & 0x08));
discrete_sound_w(m_discrete, space, TRIPLHNT_SCREECH_EN, m_misc_flags & 0x04); // screech
discrete_sound_w(m_discrete, space, TRIPLHNT_LAMP_EN, m_misc_flags & 0x02); // Lamp is used to reset noise
discrete_sound_w(m_discrete, space, TRIPLHNT_BEAR_EN, m_misc_flags & 0x80); // bear
m_discrete->write(space, TRIPLHNT_SCREECH_EN, m_misc_flags & 0x04); // screech
m_discrete->write(space, TRIPLHNT_LAMP_EN, m_misc_flags & 0x02); // Lamp is used to reset noise
m_discrete->write(space, TRIPLHNT_BEAR_EN, m_misc_flags & 0x80); // bear
is_witch_hunt = ioport("0C09")->read() == 0x40;
bit = ~m_misc_flags & 0x40;

View File

@ -161,7 +161,7 @@ WRITE8_MEMBER(uapce_state::jamma_if_control_latch_w)
752 Hz (D-3) square wave to be output on the common audio path.
(1= Tone output ON, 0= Tone output OFF) */
discrete_sound_w(m_discrete, space, UAPCE_SOUND_EN, BIT(data,3));
m_discrete->write(space, UAPCE_SOUND_EN, BIT(data,3));
/* D2 : Not latched, though software writes to this bit like it is. */

View File

@ -142,19 +142,19 @@ WRITE8_MEMBER(ultratnk_state::ultratnk_lockout_w)
WRITE8_MEMBER(ultratnk_state::ultratnk_fire_1_w)
{
discrete_sound_w(m_discrete, space, ULTRATNK_FIRE_EN_1, offset & 1);
m_discrete->write(space, ULTRATNK_FIRE_EN_1, offset & 1);
}
WRITE8_MEMBER(ultratnk_state::ultratnk_fire_2_w)
{
discrete_sound_w(m_discrete, space, ULTRATNK_FIRE_EN_2, offset & 1);
m_discrete->write(space, ULTRATNK_FIRE_EN_2, offset & 1);
}
WRITE8_MEMBER(ultratnk_state::ultratnk_attract_w)
{
discrete_sound_w(m_discrete, space, ULTRATNK_ATTRACT_EN, data & 1);
m_discrete->write(space, ULTRATNK_ATTRACT_EN, data & 1);
}
WRITE8_MEMBER(ultratnk_state::ultratnk_explosion_w)
{
discrete_sound_w(m_discrete, space, ULTRATNK_EXPLOSION_DATA, data & 15);
m_discrete->write(space, ULTRATNK_EXPLOSION_DATA, data & 15);
}

View File

@ -164,7 +164,7 @@ WRITE8_MEMBER(videopin_state::videopin_out1_w)
coin_lockout_global_w(machine(), ~data & 0x08);
/* Convert octave data to divide value and write to sound */
discrete_sound_w(m_discrete, space, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe);
m_discrete->write(space, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe);
}
@ -181,17 +181,17 @@ WRITE8_MEMBER(videopin_state::videopin_out2_w)
coin_counter_w(machine(), 0, data & 0x10);
discrete_sound_w(m_discrete, space, VIDEOPIN_BELL_EN, data & 0x40); // Bell
discrete_sound_w(m_discrete, space, VIDEOPIN_BONG_EN, data & 0x20); // Bong
discrete_sound_w(m_discrete, space, VIDEOPIN_ATTRACT_EN, data & 0x80); // Attract
discrete_sound_w(m_discrete, space, VIDEOPIN_VOL_DATA, data & 0x07); // Vol0,1,2
m_discrete->write(space, VIDEOPIN_BELL_EN, data & 0x40); // Bell
m_discrete->write(space, VIDEOPIN_BONG_EN, data & 0x20); // Bong
m_discrete->write(space, VIDEOPIN_ATTRACT_EN, data & 0x80); // Attract
m_discrete->write(space, VIDEOPIN_VOL_DATA, data & 0x07); // Vol0,1,2
}
WRITE8_MEMBER(videopin_state::videopin_note_dvsr_w)
{
/* note data */
discrete_sound_w(m_discrete, space, VIDEOPIN_NOTE_DATA, ~data &0xff);
m_discrete->write(space, VIDEOPIN_NOTE_DATA, ~data &0xff);
}

View File

@ -261,15 +261,15 @@ DISCRETE_SOUND_END
WRITE8_MEMBER(wiz_state::stinger_explosion_w)
{
// explosion sound trigger(analog?)
discrete_sound_w(m_discrete, space, STINGER_BOOM_EN1, m_dsc1);
discrete_sound_w(m_discrete, space, STINGER_BOOM_EN2, m_dsc1^=1);
m_discrete->write(space, STINGER_BOOM_EN1, m_dsc1);
m_discrete->write(space, STINGER_BOOM_EN2, m_dsc1^=1);
}
WRITE8_MEMBER(wiz_state::stinger_shot_w)
{
// player shot sound trigger(analog?)
discrete_sound_w(m_discrete, space, STINGER_SHOT_EN1, m_dsc0);
discrete_sound_w(m_discrete, space, STINGER_SHOT_EN2, m_dsc0^=1);
m_discrete->write(space, STINGER_SHOT_EN1, m_dsc0);
m_discrete->write(space, STINGER_SHOT_EN2, m_dsc0^=1);
}

View File

@ -63,4 +63,5 @@ public:
INTERRUPT_GEN_MEMBER(master_vblank_irq);
INTERRUPT_GEN_MEMBER(slave_vblank_irq);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void filter_w(address_space &space, int chip, int data );
};

View File

@ -260,7 +260,7 @@ MACHINE_CONFIG_EXTERN( tornbase_audio );
MACHINE_CONFIG_EXTERN( zzzap_audio );
MACHINE_CONFIG_EXTERN( maze_audio );
void maze_write_discrete(device_t *device, UINT8 maze_tone_timing_state);
void maze_write_discrete(discrete_device *device, UINT8 maze_tone_timing_state);
MACHINE_CONFIG_EXTERN( boothill_audio );

View File

@ -101,7 +101,7 @@ private:
UINT8 m_sound_latch_a;
sound_stream * m_channel;
UINT32 * m_poly18;
device_t *m_discrete;
discrete_device *m_discrete;
tms36xx_device *m_tms;
int update_c24(int samplerate);

View File

@ -13,10 +13,10 @@ WRITE8_MEMBER(atarifb_state::atarifb_out1_w)
{
m_CTRLD = data;
discrete_sound_w(m_discrete, space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
discrete_sound_w(m_discrete, space, ATARIFB_HIT_EN, data & 0x02); // Hit
discrete_sound_w(m_discrete, space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
discrete_sound_w(m_discrete, space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
m_discrete->write(space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
m_discrete->write(space, ATARIFB_HIT_EN, data & 0x02); // Hit
m_discrete->write(space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
m_discrete->write(space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
}
@ -24,10 +24,10 @@ WRITE8_MEMBER(atarifb_state::atarifb4_out1_w)
{
m_CTRLD = data;
discrete_sound_w(m_discrete, space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
discrete_sound_w(m_discrete, space, ATARIFB_HIT_EN, data & 0x02); // Hit
discrete_sound_w(m_discrete, space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
discrete_sound_w(m_discrete, space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
m_discrete->write(space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
m_discrete->write(space, ATARIFB_HIT_EN, data & 0x02); // Hit
m_discrete->write(space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
m_discrete->write(space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
coin_counter_w(machine(), 1, data & 0x80);
}
@ -37,10 +37,10 @@ WRITE8_MEMBER(atarifb_state::abaseb_out1_w)
{
m_CTRLD = data;
discrete_sound_w(m_discrete, space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
discrete_sound_w(m_discrete, space, ATARIFB_HIT_EN, data & 0x02); // Hit
discrete_sound_w(m_discrete, space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
discrete_sound_w(m_discrete, space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
m_discrete->write(space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
m_discrete->write(space, ATARIFB_HIT_EN, data & 0x02); // Hit
m_discrete->write(space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
m_discrete->write(space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
if (data & 0x80)
{
@ -69,10 +69,10 @@ WRITE8_MEMBER(atarifb_state::soccer_out1_w)
/* bit 5-6 = trackball CTRL bits */
/* bit 7 = Rule LED */
discrete_sound_w(m_discrete, space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
discrete_sound_w(m_discrete, space, ATARIFB_HIT_EN, data & 0x02); // Hit
discrete_sound_w(m_discrete, space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
discrete_sound_w(m_discrete, space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
m_discrete->write(space, ATARIFB_WHISTLE_EN, data & 0x01); // Whistle
m_discrete->write(space, ATARIFB_HIT_EN, data & 0x02); // Hit
m_discrete->write(space, ATARIFB_ATTRACT_EN, data & 0x10); // Attract
m_discrete->write(space, ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker
// set_led_status(machine(), 0, data & 0x10); // !!!!!!!!!! Is this correct????
set_led_status(machine(), 1, data & 0x80);
@ -81,7 +81,7 @@ WRITE8_MEMBER(atarifb_state::soccer_out1_w)
WRITE8_MEMBER(atarifb_state::atarifb_out2_w)
{
discrete_sound_w(m_discrete, space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd
m_discrete->write(space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd
coin_counter_w (machine(), 0, data & 0x10);
}
@ -89,7 +89,7 @@ WRITE8_MEMBER(atarifb_state::atarifb_out2_w)
WRITE8_MEMBER(atarifb_state::soccer_out2_w)
{
discrete_sound_w(m_discrete, space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd
m_discrete->write(space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd
coin_counter_w (machine(), 0, data & 0x10);
coin_counter_w (machine(), 1, data & 0x20);

View File

@ -207,9 +207,9 @@ D5 = SKID2
WRITE8_MEMBER(nitedrvr_state::nitedrvr_out0_w)
{
discrete_sound_w(m_discrete, space, NITEDRVR_MOTOR_DATA, data & 0x0f); // Motor freq data
discrete_sound_w(m_discrete, space, NITEDRVR_SKID1_EN, data & 0x10); // Skid1 enable
discrete_sound_w(m_discrete, space, NITEDRVR_SKID2_EN, data & 0x20); // Skid2 enable
m_discrete->write(space, NITEDRVR_MOTOR_DATA, data & 0x0f); // Motor freq data
m_discrete->write(space, NITEDRVR_SKID1_EN, data & 0x10); // Skid1 enable
m_discrete->write(space, NITEDRVR_SKID2_EN, data & 0x20); // Skid2 enable
}
/***************************************************************************
@ -229,8 +229,8 @@ WRITE8_MEMBER(nitedrvr_state::nitedrvr_out1_w)
m_crash_en = data & 0x01;
discrete_sound_w(m_discrete, space, NITEDRVR_CRASH_EN, m_crash_en); // Crash enable
discrete_sound_w(m_discrete, space, NITEDRVR_ATTRACT_EN, data & 0x02); // Attract enable (sound disable)
m_discrete->write(space, NITEDRVR_CRASH_EN, m_crash_en); // Crash enable
m_discrete->write(space, NITEDRVR_ATTRACT_EN, data & 0x02); // Attract enable (sound disable)
if (!m_crash_en)
{
@ -241,7 +241,7 @@ WRITE8_MEMBER(nitedrvr_state::nitedrvr_out1_w)
m_palette->set_pen_color(1, rgb_t(0x00,0x00,0x00)); /* BLACK */
m_palette->set_pen_color(0, rgb_t(0xff,0xff,0xff)); /* WHITE */
}
discrete_sound_w(m_discrete, space, NITEDRVR_BANG_DATA, m_crash_data_en ? m_crash_data : 0); // Crash Volume
m_discrete->write(space, NITEDRVR_BANG_DATA, m_crash_data_en ? m_crash_data : 0); // Crash Volume
}
@ -251,7 +251,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::nitedrvr_crash_toggle_callback)
{
m_crash_data--;
address_space &space = machine().driver_data()->generic_space();
discrete_sound_w(m_discrete, space, NITEDRVR_BANG_DATA, m_crash_data); // Crash Volume
m_discrete->write(space, NITEDRVR_BANG_DATA, m_crash_data); // Crash Volume
if (!m_crash_data)
m_crash_data_en = 0; // Done counting?

View File

@ -143,13 +143,13 @@ WRITE8_MEMBER(skydiver_state::skydiver_2000_201F_w)
output_set_value("lampr", bit);
break;
case (0x0a):
discrete_sound_w(m_discrete, space, SKYDIVER_OCT1_EN, bit);
m_discrete->write(space, SKYDIVER_OCT1_EN, bit);
break;
case (0x0c):
discrete_sound_w(m_discrete, space, SKYDIVER_OCT2_EN, bit);
m_discrete->write(space, SKYDIVER_OCT2_EN, bit);
break;
case (0x0e):
discrete_sound_w(m_discrete, space, SKYDIVER_NOISE_RST, bit);
m_discrete->write(space, SKYDIVER_NOISE_RST, bit);
break;
}
}

View File

@ -133,10 +133,10 @@ void sprint4_state::screen_eof_sprint4(screen_device &screen, bool state)
/* update sound status */
address_space &space = machine().driver_data()->generic_space();
discrete_sound_w(m_discrete, space, SPRINT4_MOTOR_DATA_1, videoram[0x391] & 15);
discrete_sound_w(m_discrete, space, SPRINT4_MOTOR_DATA_2, videoram[0x393] & 15);
discrete_sound_w(m_discrete, space, SPRINT4_MOTOR_DATA_3, videoram[0x395] & 15);
discrete_sound_w(m_discrete, space, SPRINT4_MOTOR_DATA_4, videoram[0x397] & 15);
m_discrete->write(space, SPRINT4_MOTOR_DATA_1, videoram[0x391] & 15);
m_discrete->write(space, SPRINT4_MOTOR_DATA_2, videoram[0x393] & 15);
m_discrete->write(space, SPRINT4_MOTOR_DATA_3, videoram[0x395] & 15);
m_discrete->write(space, SPRINT4_MOTOR_DATA_4, videoram[0x397] & 15);
}
}

View File

@ -112,8 +112,8 @@ UINT32 subs_state::screen_update_subs_left(screen_device &screen, bitmap_ind16 &
/* Update sound */
address_space &space = machine().driver_data()->generic_space();
discrete_sound_w(m_discrete, space, SUBS_LAUNCH_DATA, spriteram[5] & 0x0f); // Launch data
discrete_sound_w(m_discrete, space, SUBS_CRASH_DATA, spriteram[5] >> 4); // Crash/explode data
m_discrete->write(space, SUBS_LAUNCH_DATA, spriteram[5] & 0x0f); // Launch data
m_discrete->write(space, SUBS_CRASH_DATA, spriteram[5] >> 4); // Crash/explode data
return 0;
}

View File

@ -118,7 +118,7 @@ UINT32 triplhnt_state::screen_update_triplhnt(screen_device &screen, bitmap_ind1
draw_sprites(bitmap, cliprect);
address_space &space = machine().driver_data()->generic_space();
discrete_sound_w(m_discrete, space, TRIPLHNT_BEAR_ROAR_DATA, m_playfield_ram[0xfa] & 15);
discrete_sound_w(m_discrete, space, TRIPLHNT_SHOT_DATA, m_playfield_ram[0xfc] & 15);
m_discrete->write(space, TRIPLHNT_BEAR_ROAR_DATA, m_playfield_ram[0xfa] & 15);
m_discrete->write(space, TRIPLHNT_SHOT_DATA, m_playfield_ram[0xfc] & 15);
return 0;
}

View File

@ -138,8 +138,8 @@ void ultratnk_state::screen_eof_ultratnk(screen_device &screen, bool state)
/* update sound status */
address_space &space = machine().driver_data()->generic_space();
discrete_sound_w(m_discrete, space, ULTRATNK_MOTOR_DATA_1, videoram[0x391] & 15);
discrete_sound_w(m_discrete, space, ULTRATNK_MOTOR_DATA_2, videoram[0x393] & 15);
m_discrete->write(space, ULTRATNK_MOTOR_DATA_1, videoram[0x391] & 15);
m_discrete->write(space, ULTRATNK_MOTOR_DATA_2, videoram[0x393] & 15);
}
}

View File

@ -163,7 +163,7 @@ READ8_MEMBER( abc800_state::pling_r )
{
m_pling = !m_pling;
discrete_sound_w(m_discrete, space, NODE_01, m_pling);
m_discrete->write(space, NODE_01, m_pling);
return 0xff;
}
@ -177,7 +177,7 @@ READ8_MEMBER( abc802_state::pling_r )
{
m_pling = !m_pling;
discrete_sound_w(m_discrete, space, NODE_01, m_pling);
m_discrete->write(space, NODE_01, m_pling);
return 0xff;
}

View File

@ -294,7 +294,7 @@ WRITE8_MEMBER( sb2m600_state::keyboard_w )
m_keylatch = data;
if (m_io_sound->read())
discrete_sound_w(m_discrete, space, NODE_01, (data >> 2) & 0x0f);
m_discrete->write(space, NODE_01, (data >> 2) & 0x0f);
}
WRITE8_MEMBER( uk101_state::keyboard_w )
@ -322,7 +322,7 @@ WRITE8_MEMBER( sb2m600_state::ctrl_w )
m_32 = BIT(data, 0);
m_coloren = BIT(data, 1);
discrete_sound_w(m_discrete, space, NODE_10, BIT(data, 4));
m_discrete->write(space, NODE_10, BIT(data, 4));
}
WRITE8_MEMBER( c1p_state::osi630_ctrl_w )

View File

@ -144,7 +144,7 @@ WRITE8_MEMBER( vidbrain_state::sound_w )
if (!m_sound_clk && sound_clk)
{
//discrete_sound_w(m_discrete, space, NODE_01, m_keylatch & 0x03);
//m_discrete->write(space, NODE_01, m_keylatch & 0x03);
UINT8 dac_data = 0;

View File

@ -477,7 +477,7 @@ READ_LINE_MEMBER( vip_state::ef4_r )
WRITE_LINE_MEMBER( vip_state::q_w )
{
// sound output
discrete_sound_w(m_beeper, machine().driver_data()->generic_space(), NODE_01, state);
m_beeper->write(machine().driver_data()->generic_space(), NODE_01, state);
// Q led
set_led_status(machine(), LED_Q, state);
@ -634,7 +634,7 @@ void vip_state::machine_start()
set_led_status(machine(), LED_POWER, 1);
// reset sound
discrete_sound_w(m_beeper, machine().driver_data()->generic_space(), NODE_01, 0);
m_beeper->write(machine().driver_data()->generic_space(), NODE_01, 0);
// state saving
save_item(NAME(m_8000));

View File

@ -547,7 +547,7 @@ WRITE8_MEMBER( vixen_state::i8155_pc_w )
m_256 = BIT(data, 4);
// beep enable
discrete_sound_w(m_discrete, space, NODE_01, BIT(data, 5));
m_discrete->write(space, NODE_01, BIT(data, 5));
}
static I8155_INTERFACE( i8155_intf )

View File

@ -413,7 +413,7 @@ WRITE8_MEMBER(hec2hrp_state::hector_color_a_w)
WRITE8_MEMBER(hec2hrp_state::hector_color_b_w)
{
device_t *discrete = machine().device("discrete");
discrete_device *discrete = machine().device<discrete_device>("discrete");
m_hector_color[1] = data & 0x07;
m_hector_color[3] = (data >> 3) & 0x07;
@ -421,7 +421,7 @@ WRITE8_MEMBER(hec2hrp_state::hector_color_b_w)
if (data & 0x40) m_hector_color[2] |= 8; else m_hector_color[2] &= 7;
/* Play bit*/
discrete_sound_w(discrete, space, NODE_01, (data & 0x80) ? 0:1 );
discrete->write(space, NODE_01, (data & 0x80) ? 0:1 );
}

View File

@ -421,7 +421,7 @@ WRITE8_MEMBER( v1050_keyboard_device::kb_p2_w )
output_set_led_value(0, BIT(data, 5));
// speaker output
discrete_sound_w(m_discrete, space, NODE_01, BIT(data, 6));
m_discrete->write(space, NODE_01, BIT(data, 6));
// serial output
m_out_tx_handler(BIT(data, 7));