From c188d549658934ae30de9516e0975e792d058f00 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 12 Nov 2018 16:13:48 -0500 Subject: discrete: Eliminate unnecessary address space argument from handlers (nw) audio/galaxian: Move configuration to driver files (nw) --- src/devices/bus/abckb/abc77.cpp | 2 +- src/devices/sound/discrete.cpp | 4 +- src/devices/sound/discrete.h | 6 +- src/mame/audio/8080bw.cpp | 42 +++++----- src/mame/audio/asteroid.cpp | 10 +-- src/mame/audio/avalnche.cpp | 2 +- src/mame/audio/bsktball.cpp | 6 +- src/mame/audio/bzone.cpp | 2 +- src/mame/audio/canyon.cpp | 4 +- src/mame/audio/circus.cpp | 14 ++-- src/mame/audio/crbaloon.cpp | 6 +- src/mame/audio/dkong.cpp | 2 +- src/mame/audio/firetrk.cpp | 16 ++-- src/mame/audio/galaxian.cpp | 60 ++------------- src/mame/audio/galaxian.h | 5 +- src/mame/audio/llander.cpp | 10 +-- src/mame/audio/m79amb.cpp | 16 ++-- src/mame/audio/mw8080bw.cpp | 167 ++++++++++++++++++++-------------------- src/mame/audio/namco52.cpp | 2 +- src/mame/audio/namco54.cpp | 6 +- src/mame/audio/orbit.cpp | 12 +-- src/mame/audio/phoenix.cpp | 14 ++-- src/mame/audio/poolshrk.cpp | 8 +- src/mame/audio/qix.cpp | 4 +- src/mame/audio/skyraid.cpp | 10 +-- src/mame/audio/snk6502.cpp | 2 +- src/mame/audio/spiders.cpp | 14 ++-- src/mame/audio/subs.cpp | 2 +- src/mame/audio/vicdual.cpp | 40 +++++----- src/mame/drivers/abc80x.cpp | 4 +- src/mame/drivers/alinvade.cpp | 2 +- src/mame/drivers/blockade.cpp | 2 +- src/mame/drivers/by35.cpp | 8 +- src/mame/drivers/circusc.cpp | 6 +- src/mame/drivers/cliffhgr.cpp | 4 +- src/mame/drivers/dragrace.cpp | 4 +- src/mame/drivers/firetrk.cpp | 14 ++-- src/mame/drivers/galaxian.cpp | 15 +++- src/mame/drivers/galaxold.cpp | 17 ++++ src/mame/drivers/goldnpkr.cpp | 4 +- src/mame/drivers/grchamp.cpp | 18 ++--- src/mame/drivers/gyruss.cpp | 4 +- src/mame/drivers/hitme.cpp | 8 +- src/mame/drivers/ironhors.cpp | 6 +- src/mame/drivers/madalien.cpp | 4 +- src/mame/drivers/norautp.cpp | 4 +- src/mame/drivers/osi.cpp | 4 +- src/mame/drivers/skydiver.cpp | 9 +-- src/mame/drivers/sprint2.cpp | 9 +-- src/mame/drivers/sprint4.cpp | 4 +- src/mame/drivers/starshp1.cpp | 10 +-- src/mame/drivers/taitosj.cpp | 2 +- src/mame/drivers/tank8.cpp | 26 +++---- src/mame/drivers/uapce.cpp | 2 +- src/mame/drivers/ultratnk.cpp | 4 +- src/mame/drivers/videopin.cpp | 12 +-- src/mame/drivers/vip.cpp | 4 +- src/mame/drivers/vixen.cpp | 2 +- src/mame/drivers/wiz.cpp | 8 +- src/mame/includes/galaxian.h | 3 - src/mame/machine/atarifb.cpp | 36 ++++----- src/mame/machine/hec2hrp.cpp | 2 +- src/mame/machine/nitedrvr.cpp | 15 ++-- src/mame/machine/v1050kb.cpp | 2 +- src/mame/video/sprint4.cpp | 9 +-- src/mame/video/subs.cpp | 5 +- src/mame/video/triplhnt.cpp | 5 +- src/mame/video/ultratnk.cpp | 6 +- 68 files changed, 380 insertions(+), 411 deletions(-) diff --git a/src/devices/bus/abckb/abc77.cpp b/src/devices/bus/abckb/abc77.cpp index 666491c2b32..f225b7c06f9 100644 --- a/src/devices/bus/abckb/abc77.cpp +++ b/src/devices/bus/abckb/abc77.cpp @@ -564,7 +564,7 @@ WRITE8_MEMBER( abc77_device::p2_w ) } // beep - m_discrete->write(space, NODE_01, BIT(data, 4)); + m_discrete->write(NODE_01, BIT(data, 4)); // transmit data serial_output(BIT(data, 5)); diff --git a/src/devices/sound/discrete.cpp b/src/devices/sound/discrete.cpp index 8e0ff993dc4..2b3a47dbfb8 100644 --- a/src/devices/sound/discrete.cpp +++ b/src/devices/sound/discrete.cpp @@ -1090,7 +1090,7 @@ void discrete_sound_device::sound_stream_update(sound_stream &stream, stream_sam // read - read from the chip's registers and internal RAM //------------------------------------------------- -READ8_MEMBER( discrete_device::read ) +uint8_t discrete_device::read(offs_t offset) { const discrete_base_node *node = discrete_find_node(offset); @@ -1114,7 +1114,7 @@ READ8_MEMBER( discrete_device::read ) // write - write to the chip's registers and internal RAM //------------------------------------------------- -WRITE8_MEMBER( discrete_device::write ) +void discrete_device::write(offs_t offset, uint8_t data) { const discrete_base_node *node = discrete_find_node(offset); diff --git a/src/devices/sound/discrete.h b/src/devices/sound/discrete.h index eca3fcea4af..97d33b33e03 100644 --- a/src/devices/sound/discrete.h +++ b/src/devices/sound/discrete.h @@ -4280,14 +4280,14 @@ public: // inline configuration helpers void set_intf(const discrete_block *intf) { m_intf = intf; } - DECLARE_READ8_MEMBER(read); - DECLARE_WRITE8_MEMBER(write); + uint8_t read(offs_t offset); + void write(offs_t offset, uint8_t data); virtual ~discrete_device(void); template DECLARE_WRITE_LINE_MEMBER(write_line) { - write(machine().dummy_space(), DiscreteInput, state ? 1 : 0); + write(DiscreteInput, state ? 1 : 0); } /* --------------------------------- */ diff --git a/src/mame/audio/8080bw.cpp b/src/mame/audio/8080bw.cpp index 518d1db7a0b..ed88e244747 100644 --- a/src/mame/audio/8080bw.cpp +++ b/src/mame/audio/8080bw.cpp @@ -242,7 +242,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER( _8080bw_state::ballbomb_01_w ) { - m_discrete->write(space, BALLBOMB_MUSIC_DATA, data|0x80); + m_discrete->write(BALLBOMB_MUSIC_DATA, data|0x80); } WRITE8_MEMBER(_8080bw_state::ballbomb_sh_port_1_w) @@ -351,7 +351,7 @@ WRITE8_MEMBER(_8080bw_state::indianbt_sh_port_2_w) WRITE8_MEMBER(_8080bw_state::indianbt_sh_port_3_w) { - m_discrete->write(space, INDIANBT_MUSIC_DATA, data); + m_discrete->write(INDIANBT_MUSIC_DATA, data); } WRITE8_MEMBER(_8080bw_state::indianbtbr_sh_port_1_w) @@ -695,27 +695,27 @@ DISCRETE_SOUND_END WRITE8_MEMBER(_8080bw_state::polaris_sh_port_1_w) { - m_discrete->write(space, POLARIS_MUSIC_DATA, data); + m_discrete->write(POLARIS_MUSIC_DATA, data); } WRITE8_MEMBER(_8080bw_state::polaris_sh_port_2_w) { /* 0x01 - SX0 - Shot */ - m_discrete->write(space, POLARIS_SX0_EN, data & 0x01); + m_discrete->write(POLARIS_SX0_EN, data & 0x01); /* 0x02 - SX1 - Ship Hit (Sub) */ - m_discrete->write(space, POLARIS_SX1_EN, data & 0x02); + m_discrete->write(POLARIS_SX1_EN, data & 0x02); /* 0x04 - SX2 - Ship */ - m_discrete->write(space, POLARIS_SX2_EN, data & 0x04); + m_discrete->write(POLARIS_SX2_EN, data & 0x04); /* 0x08 - SX3 - Explosion */ - m_discrete->write(space, POLARIS_SX3_EN, data & 0x08); + m_discrete->write(POLARIS_SX3_EN, data & 0x08); /* 0x10 - SX4 */ /* 0x20 - SX5 - Sound Enable */ - m_discrete->write(space, POLARIS_SX5_EN, data & 0x20); + m_discrete->write(POLARIS_SX5_EN, data & 0x20); } WRITE8_MEMBER(_8080bw_state::polaris_sh_port_3_w) @@ -725,16 +725,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 */ - m_discrete->write(space, POLARIS_SX6_EN, data & 0x01); + m_discrete->write(POLARIS_SX6_EN, data & 0x01); /* 0x02 - SX7 - Plane Up */ - m_discrete->write(space, POLARIS_SX7_EN, data & 0x02); + m_discrete->write(POLARIS_SX7_EN, data & 0x02); /* 0x08 - SX9 - Hit */ - m_discrete->write(space, POLARIS_SX9_EN, data & 0x08); + m_discrete->write(POLARIS_SX9_EN, data & 0x08); /* 0x10 - SX10 - Hit */ - m_discrete->write(space, POLARIS_SX10_EN, data & 0x10); + m_discrete->write(POLARIS_SX10_EN, data & 0x10); } @@ -859,8 +859,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. */ - m_discrete->write(space, SCHASER_DOT_EN, data & 0x01); - m_discrete->write(space, SCHASER_DOT_SEL, data & 0x02); + m_discrete->write(SCHASER_DOT_EN, data & 0x01); + m_discrete->write(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 @@ -921,9 +921,9 @@ WRITE8_MEMBER(_8080bw_state::schaser_sh_port_2_w) bit 4 - Field Control B (SX10) bit 5 - Flip Screen */ - m_discrete->write(space, SCHASER_MUSIC_BIT, BIT(data, 0)); + m_discrete->write(SCHASER_MUSIC_BIT, BIT(data, 0)); - m_discrete->write(space, SCHASER_SND_EN, BIT(data, 1)); + m_discrete->write(SCHASER_SND_EN, BIT(data, 1)); machine().sound().system_enable(BIT(data, 1)); machine().bookkeeping().coin_lockout_global_w(BIT(data, 2)); @@ -1061,7 +1061,7 @@ const char *const lupin3_sample_names[] = WRITE8_MEMBER( _8080bw_state::lupin3_00_w ) { - m_discrete->write(space, INDIANBT_MUSIC_DATA, data); + m_discrete->write(INDIANBT_MUSIC_DATA, data); } WRITE8_MEMBER(_8080bw_state::lupin3_sh_port_1_w) @@ -1151,10 +1151,10 @@ WRITE8_MEMBER(_8080bw_state::crashrd_port03_w) bit 4 - Dot Sound Enable (SX0) bit 5 - Effect Sound C (SX4) */ - m_discrete->write(space, SCHASER_SND_EN, BIT(data,5)); + m_discrete->write(SCHASER_SND_EN, BIT(data,5)); machine().sound().system_enable(BIT(data,5)); - m_discrete->write(space, SCHASER_DOT_EN, BIT(data, 4)); - m_discrete->write(space, SCHASER_DOT_SEL, BIT(data, 0)); + m_discrete->write(SCHASER_DOT_EN, BIT(data, 4)); + m_discrete->write(SCHASER_DOT_SEL, BIT(data, 0)); /* 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 @@ -1210,7 +1210,7 @@ WRITE8_MEMBER(_8080bw_state::crashrd_port05_w) { // bit 0 = bitstream audio // bit 4 = not sure - m_discrete->write(space, SCHASER_MUSIC_BIT, BIT(data, 0)); + m_discrete->write(SCHASER_MUSIC_BIT, BIT(data, 0)); } diff --git a/src/mame/audio/asteroid.cpp b/src/mame/audio/asteroid.cpp index 1b647d42a4e..bfc5bb773f7 100644 --- a/src/mame/audio/asteroid.cpp +++ b/src/mame/audio/asteroid.cpp @@ -283,7 +283,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER(asteroid_state::asteroid_explode_w) { - m_discrete->write(space,ASTEROID_EXPLODE_DATA,(data&0x3c)>>2); // Volume + m_discrete->write(ASTEROID_EXPLODE_DATA,(data&0x3c)>>2); // Volume /* We will modify the pitch data to send the divider value. */ switch ((data&0xc0)) { @@ -300,18 +300,18 @@ WRITE8_MEMBER(asteroid_state::asteroid_explode_w) data = 5; break; } - m_discrete->write(space, ASTEROID_EXPLODE_PITCH, data); + m_discrete->write(ASTEROID_EXPLODE_PITCH, data); } WRITE8_MEMBER(asteroid_state::asteroid_thump_w) { - m_discrete->write(space, ASTEROID_THUMP_EN, data & 0x10); - m_discrete->write(space, ASTEROID_THUMP_DATA, data & 0x0f); + m_discrete->write(ASTEROID_THUMP_EN, data & 0x10); + m_discrete->write(ASTEROID_THUMP_DATA, data & 0x0f); } WRITE8_MEMBER(asteroid_state::asteroid_noise_reset_w) { - m_discrete->write(space, ASTEROID_NOISE_RESET, 0); + m_discrete->write(ASTEROID_NOISE_RESET, 0); } diff --git a/src/mame/audio/avalnche.cpp b/src/mame/audio/avalnche.cpp index 2572b907698..3200bd8576f 100644 --- a/src/mame/audio/avalnche.cpp +++ b/src/mame/audio/avalnche.cpp @@ -26,7 +26,7 @@ WRITE8_MEMBER(avalnche_state::avalnche_noise_amplitude_w) { - m_discrete->write(space, AVALNCHE_SOUNDLVL_DATA, data & 0x3f); + m_discrete->write(AVALNCHE_SOUNDLVL_DATA, data & 0x3f); } diff --git a/src/mame/audio/bsktball.cpp b/src/mame/audio/bsktball.cpp index 287d6523d6e..3acf428145b 100644 --- a/src/mame/audio/bsktball.cpp +++ b/src/mame/audio/bsktball.cpp @@ -14,13 +14,13 @@ Sound handlers ***************************************************************************/ WRITE8_MEMBER(bsktball_state::bsktball_bounce_w) { - m_discrete->write(space, BSKTBALL_CROWD_DATA, data & 0x0f); // Crowd - m_discrete->write(space, BSKTBALL_BOUNCE_EN, data & 0x10); // Bounce + m_discrete->write(BSKTBALL_CROWD_DATA, data & 0x0f); // Crowd + m_discrete->write(BSKTBALL_BOUNCE_EN, data & 0x10); // Bounce } WRITE8_MEMBER(bsktball_state::bsktball_note_w) { - m_discrete->write(space, BSKTBALL_NOTE_DATA, data); // Note + m_discrete->write(BSKTBALL_NOTE_DATA, data); // Note } diff --git a/src/mame/audio/bzone.cpp b/src/mame/audio/bzone.cpp index aada4df6c6f..5698b787737 100644 --- a/src/mame/audio/bzone.cpp +++ b/src/mame/audio/bzone.cpp @@ -390,7 +390,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER(bzone_state::bzone_sounds_w) { - m_discrete->write(space, BZ_INPUT, data); + m_discrete->write(BZ_INPUT, data); m_startled = BIT(data, 6); machine().sound().system_enable(data & 0x20); diff --git a/src/mame/audio/canyon.cpp b/src/mame/audio/canyon.cpp index 2819659e030..f928c997e69 100644 --- a/src/mame/audio/canyon.cpp +++ b/src/mame/audio/canyon.cpp @@ -18,13 +18,13 @@ WRITE8_MEMBER(canyon_state::canyon_motor_w) { - m_discrete->write(space, NODE_RELATIVE(CANYON_MOTOR1_DATA, (offset & 0x01)), data & 0x0f); + m_discrete->write(NODE_RELATIVE(CANYON_MOTOR1_DATA, (offset & 0x01)), data & 0x0f); } WRITE8_MEMBER(canyon_state::canyon_explode_w) { - m_discrete->write(space, CANYON_EXPLODE_DATA, data >> 4); + m_discrete->write(CANYON_EXPLODE_DATA, data >> 4); } diff --git a/src/mame/audio/circus.cpp b/src/mame/audio/circus.cpp index b589d1ccc5a..c5e27151029 100644 --- a/src/mame/audio/circus.cpp +++ b/src/mame/audio/circus.cpp @@ -162,11 +162,11 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w) switch ((data & 0x70) >> 4) { case 0 : /* All Off */ - m_discrete->write(space, CIRCUS_MUSIC_BIT, 0); + m_discrete->write(CIRCUS_MUSIC_BIT, 0); break; case 1 : /* Music */ - m_discrete->write(space, CIRCUS_MUSIC_BIT, 1); + m_discrete->write(CIRCUS_MUSIC_BIT, 1); break; case 2 : /* Circus = Pop; Rip Cord = Splash */ @@ -195,7 +195,7 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w) break; case 2: /* robotbwl */ - m_discrete->write(space, ROBOTBWL_MUSIC_BIT, data & 0x08); /* Footsteps */ + m_discrete->write(ROBOTBWL_MUSIC_BIT, data & 0x08); /* Footsteps */ if (data & 0x40) /* Hit */ m_samples->start(0, 0); @@ -220,11 +220,11 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w) switch ((data & 0x70) >> 4) { case 0 : /* All Off */ - m_discrete->write(space, CRASH_MUSIC_BIT, 0); + m_discrete->write(CRASH_MUSIC_BIT, 0); break; case 1 : /* Music */ - m_discrete->write(space, CRASH_MUSIC_BIT, 1); + m_discrete->write(CRASH_MUSIC_BIT, 1); break; case 2 : /* Crash */ @@ -232,14 +232,14 @@ WRITE8_MEMBER(circus_state::circus_clown_z_w) break; case 3 : /* Normal Video and Beep */ - m_discrete->write(space, CRASH_BEEPER_EN, 0); + m_discrete->write(CRASH_BEEPER_EN, 0); break; case 4 : /* Skid */ break; case 5 : /* Invert Video and Beep */ - m_discrete->write(space, CRASH_BEEPER_EN, 0); + m_discrete->write(CRASH_BEEPER_EN, 0); break; case 6 : /* Hi Motor */ diff --git a/src/mame/audio/crbaloon.cpp b/src/mame/audio/crbaloon.cpp index 48f4236aabe..1b9649aa891 100644 --- a/src/mame/audio/crbaloon.cpp +++ b/src/mame/audio/crbaloon.cpp @@ -33,13 +33,13 @@ WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_music_freq) { - m_discrete->write(space, CRBALOON_MUSIC_DATA, data); + m_discrete->write(CRBALOON_MUSIC_DATA, data); } WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_music_enable) { - m_discrete->write(space, CRBALOON_MUSIC_EN, data); + m_discrete->write(CRBALOON_MUSIC_EN, data); } @@ -67,7 +67,7 @@ void crbaloon_state::crbaloon_audio_set_appear_enable(int enabled) WRITE8_MEMBER(crbaloon_state::crbaloon_audio_set_laugh_enable) { - m_discrete->write(space, CRBALOON_LAUGH_EN, data); + m_discrete->write(CRBALOON_LAUGH_EN, data); } diff --git a/src/mame/audio/dkong.cpp b/src/mame/audio/dkong.cpp index 0d1080e8098..8119918ffa4 100644 --- a/src/mame/audio/dkong.cpp +++ b/src/mame/audio/dkong.cpp @@ -1245,7 +1245,7 @@ READ8_MEMBER(dkong_state::dkong_tune_r) WRITE8_MEMBER(dkong_state::dkong_p1_w) { - m_discrete->write(space,DS_DAC,data); + m_discrete->write(DS_DAC,data); } diff --git a/src/mame/audio/firetrk.cpp b/src/mame/audio/firetrk.cpp index 562423e5391..849fe26138f 100644 --- a/src/mame/audio/firetrk.cpp +++ b/src/mame/audio/firetrk.cpp @@ -17,50 +17,50 @@ WRITE8_MEMBER(firetrk_state::firetrk_skid_reset_w) m_skid[1] = 0; // also SUPERBUG_SKID_EN - m_discrete->write(space, FIRETRUCK_SKID_EN, 1); + m_discrete->write(FIRETRUCK_SKID_EN, 1); } WRITE8_MEMBER(firetrk_state::montecar_skid_reset_w) { - m_discrete->write(space, MONTECAR_SKID_EN, 1); + m_discrete->write(MONTECAR_SKID_EN, 1); } WRITE8_MEMBER(firetrk_state::firetrk_crash_snd_w) { // also SUPERBUG_CRASH_DATA and MONTECAR_CRASH_DATA - m_discrete->write(space, FIRETRUCK_CRASH_DATA, data >> 4); + m_discrete->write(FIRETRUCK_CRASH_DATA, data >> 4); } WRITE8_MEMBER(firetrk_state::firetrk_skid_snd_w) { // also SUPERBUG_SKID_EN and MONTECAR_SKID_EN - m_discrete->write(space, FIRETRUCK_SKID_EN, 0); + m_discrete->write(FIRETRUCK_SKID_EN, 0); } WRITE8_MEMBER(firetrk_state::firetrk_motor_snd_w) { // also MONTECAR_DRONE_MOTOR_DATA - m_discrete->write(space, FIRETRUCK_SIREN_DATA, data >> 4); + m_discrete->write(FIRETRUCK_SIREN_DATA, data >> 4); // also MONTECAR_MOTOR_DATA - m_discrete->write(space, FIRETRUCK_MOTOR_DATA, data & 0x0f); + m_discrete->write(FIRETRUCK_MOTOR_DATA, data & 0x0f); } WRITE8_MEMBER(firetrk_state::superbug_motor_snd_w) { - m_discrete->write(space, SUPERBUG_SPEED_DATA, data & 0x0f); + m_discrete->write(SUPERBUG_SPEED_DATA, data & 0x0f); } WRITE8_MEMBER(firetrk_state::firetrk_xtndply_w) { // also SUPERBUG_ASR_EN (extended play) - m_discrete->write(space, FIRETRUCK_XTNDPLY_EN, data); + m_discrete->write(FIRETRUCK_XTNDPLY_EN, data); } diff --git a/src/mame/audio/galaxian.cpp b/src/mame/audio/galaxian.cpp index 06a3ad300ec..57277decfd6 100644 --- a/src/mame/audio/galaxian.cpp +++ b/src/mame/audio/galaxian.cpp @@ -25,7 +25,6 @@ TODO: #include "emu.h" #include "audio/galaxian.h" #include "includes/galaxian.h" -#include "includes/galaxold.h" /************************************* * @@ -244,7 +243,7 @@ static const discrete_op_amp_filt_info galaxian_bandpass_desc = *************************************/ -static DISCRETE_SOUND_START(galaxian_discrete) +DISCRETE_SOUND_START(galaxian_discrete) /************************************************/ /* Input register mapping for galaxian */ @@ -376,7 +375,7 @@ static DISCRETE_SOUND_START(galaxian_discrete) DISCRETE_SOUND_END -static DISCRETE_SOUND_START(mooncrst_discrete) +DISCRETE_SOUND_START(mooncrst_discrete) DISCRETE_IMPORT(galaxian_discrete) /************************************************/ @@ -417,7 +416,7 @@ void galaxian_sound_device::device_start() /* IC 9J */ WRITE8_MEMBER( galaxian_sound_device::pitch_w ) { - m_discrete->write(space, GAL_INP_PITCH, data ); + m_discrete->write(GAL_INP_PITCH, data ); } WRITE8_MEMBER( galaxian_sound_device::lfo_freq_w ) @@ -427,28 +426,28 @@ WRITE8_MEMBER( galaxian_sound_device::lfo_freq_w ) if (m_lfo_val != lfo_val_new) { m_lfo_val = lfo_val_new; - m_discrete->write(space, GAL_INP_BG_DAC, m_lfo_val); + m_discrete->write(GAL_INP_BG_DAC, m_lfo_val); } } WRITE8_MEMBER( galaxian_sound_device::background_enable_w ) { - m_discrete->write(space, NODE_RELATIVE(GAL_INP_FS1, offset), data & 0x01); + m_discrete->write(NODE_RELATIVE(GAL_INP_FS1, offset), data & 0x01); } WRITE8_MEMBER( galaxian_sound_device::noise_enable_w ) { - m_discrete->write(space, GAL_INP_HIT, data & 0x01); + m_discrete->write(GAL_INP_HIT, data & 0x01); } WRITE8_MEMBER( galaxian_sound_device::vol_w ) { - m_discrete->write(space, NODE_RELATIVE(GAL_INP_VOL1,offset), data & 0x01); + m_discrete->write(NODE_RELATIVE(GAL_INP_VOL1,offset), data & 0x01); } WRITE8_MEMBER( galaxian_sound_device::fire_enable_w ) { - m_discrete->write(space, GAL_INP_FIRE, data & 0x01); + m_discrete->write(GAL_INP_FIRE, data & 0x01); } /* FIXME: May be replaced by one call! */ @@ -488,46 +487,3 @@ WRITE8_MEMBER( galaxian_sound_device::sound_w ) void galaxian_sound_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) { } - -/************************************* - * - * Driver definitions - * - *************************************/ - -MACHINE_CONFIG_START(galaxold_state::galaxian_audio) - - MCFG_DEVICE_ADD("cust", GALAXIAN, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) - - MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, galaxian_discrete) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(galaxold_state::mooncrst_audio) - - MCFG_DEVICE_ADD("cust", GALAXIAN, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) - - MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, mooncrst_discrete) - - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(galaxian_state::galaxian_audio) - - MCFG_DEVICE_ADD("cust", GALAXIAN, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) - - MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, galaxian_discrete) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(galaxian_state::mooncrst_audio) - - MCFG_DEVICE_ADD("cust", GALAXIAN, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) - - MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, mooncrst_discrete) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END diff --git a/src/mame/audio/galaxian.h b/src/mame/audio/galaxian.h index 58ae3e360c2..7165ca6d011 100644 --- a/src/mame/audio/galaxian.h +++ b/src/mame/audio/galaxian.h @@ -22,9 +22,6 @@ public: DECLARE_WRITE8_MEMBER( fire_enable_w ); DECLARE_WRITE8_MEMBER( lfo_freq_w ); - void mooncrst_audio(machine_config &config); - void galaxian_audio(machine_config &config); - protected: // device-level overrides virtual void device_start() override; @@ -40,5 +37,7 @@ private: DECLARE_DEVICE_TYPE(GALAXIAN, galaxian_sound_device) +DISCRETE_SOUND_EXTERN(galaxian_discrete); +DISCRETE_SOUND_EXTERN(mooncrst_discrete); #endif // MAME_AUDIO_GALAXIAN_H diff --git a/src/mame/audio/llander.cpp b/src/mame/audio/llander.cpp index 6c2ec3510b1..4c216f3679b 100644 --- a/src/mame/audio/llander.cpp +++ b/src/mame/audio/llander.cpp @@ -86,15 +86,15 @@ DISCRETE_SOUND_END WRITE8_MEMBER(asteroid_state::llander_snd_reset_w) { /* Resets the LFSR that is used for the white noise generator */ - m_discrete->write(space, LLANDER_NOISE_RESET, 0); /* Reset */ + m_discrete->write(LLANDER_NOISE_RESET, 0); /* Reset */ } WRITE8_MEMBER(asteroid_state::llander_sounds_w) { - 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 */ + m_discrete->write(LLANDER_THRUST_DATA, data & 0x07); /* Thrust volume */ + m_discrete->write(LLANDER_TONE3K_EN, data & 0x10); /* Tone 3KHz enable */ + m_discrete->write(LLANDER_TONE6K_EN, data & 0x20); /* Tone 6KHz enable */ + m_discrete->write(LLANDER_EXPLOD_EN, data & 0x08); /* Explosion */ } diff --git a/src/mame/audio/m79amb.cpp b/src/mame/audio/m79amb.cpp index 0d989b357d0..ad33b2f3761 100644 --- a/src/mame/audio/m79amb.cpp +++ b/src/mame/audio/m79amb.cpp @@ -327,9 +327,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 */ - 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); + m_discrete->write(M79AMB_SHOT_EN, data & 0x01); + m_discrete->write(M79AMB_BOOM_EN, data & 0x02); + m_discrete->write(M79AMB_THUD_EN, data & 0x04); } WRITE8_MEMBER(m79amb_state::m79amb_8003_w) @@ -337,9 +337,9 @@ WRITE8_MEMBER(m79amb_state::m79amb_8003_w) /* Self Test goes low on reset and lights LED */ /* LED goes off on pass */ m_self_test = BIT(data, 0); - 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); + m_discrete->write(M79AMB_MC_REV_EN, data & 0x02); + m_discrete->write(M79AMB_MC_CONTROL_EN, data & 0x04); + m_discrete->write(M79AMB_TANK_TRUCK_JEEP_EN, data & 0x08); + m_discrete->write(M79AMB_WHISTLE_B_EN, data & 0x10); + m_discrete->write(M79AMB_WHISTLE_A_EN, data & 0x20); } diff --git a/src/mame/audio/mw8080bw.cpp b/src/mame/audio/mw8080bw.cpp index f4d9781f174..67c7a133406 100644 --- a/src/mame/audio/mw8080bw.cpp +++ b/src/mame/audio/mw8080bw.cpp @@ -84,9 +84,9 @@ static const discrete_op_amp_tvca_info midway_music_tvca_info = WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_lo_w) { - m_discrete->write(space, MIDWAY_TONE_EN, (data >> 0) & 0x01); + m_discrete->write(MIDWAY_TONE_EN, (data >> 0) & 0x01); - m_discrete->write(space, MIDWAY_TONE_DATA_L, (data >> 1) & 0x1f); + m_discrete->write(MIDWAY_TONE_DATA_L, (data >> 1) & 0x1f); /* D6 and D7 are not connected */ } @@ -94,7 +94,7 @@ WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_lo_w) WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_hi_w) { - m_discrete->write(space, MIDWAY_TONE_DATA_H, data & 0x3f); + m_discrete->write(MIDWAY_TONE_DATA_H, data & 0x3f); /* D6 and D7 are not connected */ } @@ -317,11 +317,11 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::tornbase_audio_w) { - m_discrete->write(space, TORNBASE_TONE_240_EN, (data >> 0) & 0x01); + m_discrete->write(TORNBASE_TONE_240_EN, (data >> 0) & 0x01); - m_discrete->write(space, TORNBASE_TONE_960_EN, (data >> 1) & 0x01); + m_discrete->write(TORNBASE_TONE_960_EN, (data >> 1) & 0x01); - m_discrete->write(space, TORNBASE_TONE_120_EN, (data >> 2) & 0x01); + m_discrete->write(TORNBASE_TONE_120_EN, (data >> 2) & 0x01); /* if (data & 0x08) enable SIREN sound */ @@ -565,18 +565,17 @@ void mw8080bw_state::maze_write_discrete(uint8_t maze_tone_timing_state) /* controls need to be active low */ int controls = ~ioport("IN0")->read() & 0xff; - address_space &space = machine().dummy_space(); - m_discrete->write(space, MAZE_TONE_TIMING, maze_tone_timing_state); - m_discrete->write(space, MAZE_P1_DATA, controls & 0x0f); - m_discrete->write(space, MAZE_P2_DATA, (controls >> 4) & 0x0f); - m_discrete->write(space, MAZE_JOYSTICK_IN_USE, controls != 0xff); + m_discrete->write(MAZE_TONE_TIMING, maze_tone_timing_state); + m_discrete->write(MAZE_P1_DATA, controls & 0x0f); + m_discrete->write(MAZE_P2_DATA, (controls >> 4) & 0x0f); + m_discrete->write(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. */ - m_discrete->write(space, MAZE_COIN, (~ioport("IN1")->read() >> 3) & 0x01); + m_discrete->write(MAZE_COIN, (~ioport("IN1")->read() >> 3) & 0x01); } @@ -814,15 +813,15 @@ WRITE8_MEMBER(mw8080bw_state::boothill_audio_w) machine().bookkeeping().coin_counter_w(0, (data >> 2) & 0x01); - m_discrete->write(space, BOOTHILL_GAME_ON_EN, (data >> 3) & 0x01); + m_discrete->write(BOOTHILL_GAME_ON_EN, (data >> 3) & 0x01); - m_discrete->write(space, BOOTHILL_LEFT_SHOT_EN, (data >> 4) & 0x01); + m_discrete->write(BOOTHILL_LEFT_SHOT_EN, (data >> 4) & 0x01); - m_discrete->write(space, BOOTHILL_RIGHT_SHOT_EN, (data >> 5) & 0x01); + m_discrete->write(BOOTHILL_RIGHT_SHOT_EN, (data >> 5) & 0x01); - m_discrete->write(space, BOOTHILL_LEFT_HIT_EN, (data >> 6) & 0x01); + m_discrete->write(BOOTHILL_LEFT_HIT_EN, (data >> 6) & 0x01); - m_discrete->write(space, BOOTHILL_RIGHT_HIT_EN, (data >> 7) & 0x01); + m_discrete->write(BOOTHILL_RIGHT_HIT_EN, (data >> 7) & 0x01); } @@ -1038,16 +1037,16 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::checkmat_audio_w) { - m_discrete->write(space, CHECKMAT_TONE_EN, data & 0x01); + m_discrete->write(CHECKMAT_TONE_EN, data & 0x01); - m_discrete->write(space, CHECKMAT_BOOM_EN, (data >> 1) & 0x01); + m_discrete->write(CHECKMAT_BOOM_EN, (data >> 1) & 0x01); machine().bookkeeping().coin_counter_w(0, (data >> 2) & 0x01); machine().sound().system_enable((data >> 3) & 0x01); - m_discrete->write(space, CHECKMAT_TONE_DATA_45, (data >> 4) & 0x03); - m_discrete->write(space, CHECKMAT_TONE_DATA_67, (data >> 6) & 0x03); + m_discrete->write(CHECKMAT_TONE_DATA_45, (data >> 4) & 0x03); + m_discrete->write(CHECKMAT_TONE_DATA_67, (data >> 6) & 0x03); } @@ -1252,23 +1251,23 @@ WRITE8_MEMBER(mw8080bw_state::desertgu_audio_1_w) machine().bookkeeping().coin_counter_w(0, (data >> 2) & 0x01); - m_discrete->write(space, DESERTGU_GAME_ON_EN, (data >> 3) & 0x01); + m_discrete->write(DESERTGU_GAME_ON_EN, (data >> 3) & 0x01); - m_discrete->write(space, DESERTGU_RIFLE_SHOT_EN, (data >> 4) & 0x01); + m_discrete->write(DESERTGU_RIFLE_SHOT_EN, (data >> 4) & 0x01); - m_discrete->write(space, DESERTGU_BOTTLE_HIT_EN, (data >> 5) & 0x01); + m_discrete->write(DESERTGU_BOTTLE_HIT_EN, (data >> 5) & 0x01); - m_discrete->write(space, DESERTGU_ROAD_RUNNER_HIT_EN, (data >> 6) & 0x01); + m_discrete->write(DESERTGU_ROAD_RUNNER_HIT_EN, (data >> 6) & 0x01); - m_discrete->write(space, DESERTGU_CREATURE_HIT_EN, (data >> 7) & 0x01); + m_discrete->write(DESERTGU_CREATURE_HIT_EN, (data >> 7) & 0x01); } WRITE8_MEMBER(mw8080bw_state::desertgu_audio_2_w) { - m_discrete->write(space, DESERTGU_ROADRUNNER_BEEP_BEEP_EN, (data >> 0) & 0x01); + m_discrete->write(DESERTGU_ROADRUNNER_BEEP_BEEP_EN, (data >> 0) & 0x01); - m_discrete->write(space, DESERTGU_TRIGGER_CLICK_EN, (data >> 1) & 0x01); + m_discrete->write(DESERTGU_TRIGGER_CLICK_EN, (data >> 1) & 0x01); output().set_value("Player1_Gun_Recoil", (data >> 2) & 0x01); @@ -1512,15 +1511,15 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::dplay_audio_w) { - m_discrete->write(space, DPLAY_TONE_ON_EN, (data >> 0) & 0x01); + m_discrete->write(DPLAY_TONE_ON_EN, (data >> 0) & 0x01); - m_discrete->write(space, DPLAY_CHEER_EN, (data >> 1) & 0x01); + m_discrete->write(DPLAY_CHEER_EN, (data >> 1) & 0x01); - m_discrete->write(space, DPLAY_SIREN_EN, (data >> 2) & 0x01); + m_discrete->write(DPLAY_SIREN_EN, (data >> 2) & 0x01); - m_discrete->write(space, DPLAY_WHISTLE_EN, (data >> 3) & 0x01); + m_discrete->write(DPLAY_WHISTLE_EN, (data >> 3) & 0x01); - m_discrete->write(space, DPLAY_GAME_ON_EN, (data >> 4) & 0x01); + m_discrete->write(DPLAY_GAME_ON_EN, (data >> 4) & 0x01); machine().bookkeeping().coin_counter_w(0, (data >> 5) & 0x01); @@ -1922,15 +1921,15 @@ WRITE8_MEMBER(mw8080bw_state::clowns_audio_2_w) { uint8_t rising_bits = data & ~m_port_2_last; - m_discrete->write(space, CLOWNS_POP_BOTTOM_EN, (data >> 0) & 0x01); + m_discrete->write(CLOWNS_POP_BOTTOM_EN, (data >> 0) & 0x01); - m_discrete->write(space, CLOWNS_POP_MIDDLE_EN, (data >> 1) & 0x01); + m_discrete->write(CLOWNS_POP_MIDDLE_EN, (data >> 1) & 0x01); - m_discrete->write(space, CLOWNS_POP_TOP_EN, (data >> 2) & 0x01); + m_discrete->write(CLOWNS_POP_TOP_EN, (data >> 2) & 0x01); machine().sound().system_enable((data >> 3) & 0x01); - m_discrete->write(space, CLOWNS_SPRINGBOARD_HIT_EN, (data >> 4) & 0x01); + m_discrete->write(CLOWNS_SPRINGBOARD_HIT_EN, (data >> 4) & 0x01); if (rising_bits & 0x20) m_samples->start(0, 0); /* springboard miss */ @@ -2280,22 +2279,22 @@ WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_1_w) machine().sound().system_enable((data >> 2) & 0x01); - m_discrete->write(space, SPACWALK_SPACE_SHIP_EN, (data >> 3) & 0x01); + m_discrete->write(SPACWALK_SPACE_SHIP_EN, (data >> 3) & 0x01); } WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_2_w) { - m_discrete->write(space, SPACWALK_TARGET_HIT_BOTTOM_EN, (data >> 0) & 0x01); + m_discrete->write(SPACWALK_TARGET_HIT_BOTTOM_EN, (data >> 0) & 0x01); - m_discrete->write(space, SPACWALK_TARGET_HIT_MIDDLE_EN, (data >> 1) & 0x01); + m_discrete->write(SPACWALK_TARGET_HIT_MIDDLE_EN, (data >> 1) & 0x01); - m_discrete->write(space, SPACWALK_TARGET_HIT_TOP_EN, (data >> 2) & 0x01); + m_discrete->write(SPACWALK_TARGET_HIT_TOP_EN, (data >> 2) & 0x01); - m_discrete->write(space, SPACWALK_SPRINGBOARD_HIT1_EN, (data >> 3) & 0x01); + m_discrete->write(SPACWALK_SPRINGBOARD_HIT1_EN, (data >> 3) & 0x01); - m_discrete->write(space, SPACWALK_SPRINGBOARD_HIT2_EN, (data >> 4) & 0x01); + m_discrete->write(SPACWALK_SPRINGBOARD_HIT2_EN, (data >> 4) & 0x01); - m_discrete->write(space, SPACWALK_SPRINGBOARD_MISS_EN, (data >> 5) & 0x01); + m_discrete->write(SPACWALK_SPRINGBOARD_MISS_EN, (data >> 5) & 0x01); } @@ -2503,17 +2502,17 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::shuffle_audio_1_w) { - m_discrete->write(space, SHUFFLE_CLICK_EN, (data >> 0) & 0x01); + m_discrete->write(SHUFFLE_CLICK_EN, (data >> 0) & 0x01); - m_discrete->write(space, SHUFFLE_ROLLOVER_EN, (data >> 1) & 0x01); + m_discrete->write(SHUFFLE_ROLLOVER_EN, (data >> 1) & 0x01); machine().sound().system_enable((data >> 2) & 0x01); - m_discrete->write(space, NODE_29, (data >> 3) & 0x07); + m_discrete->write(NODE_29, (data >> 3) & 0x07); - 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); + m_discrete->write(SHUFFLE_ROLLING_3_EN, (data >> 3) & 0x01); + m_discrete->write(SHUFFLE_ROLLING_2_EN, (data >> 4) & 0x01); + m_discrete->write(SHUFFLE_ROLLING_1_EN, (data >> 5) & 0x01); /* D6 and D7 are not connected */ } @@ -2521,7 +2520,7 @@ WRITE8_MEMBER(mw8080bw_state::shuffle_audio_1_w) WRITE8_MEMBER(mw8080bw_state::shuffle_audio_2_w) { - m_discrete->write(space, SHUFFLE_FOUL_EN, (data >> 0) & 0x01); + m_discrete->write(SHUFFLE_FOUL_EN, (data >> 0) & 0x01); machine().bookkeeping().coin_counter_w(0, (data >> 1) & 0x01); @@ -2688,13 +2687,13 @@ WRITE8_MEMBER(mw8080bw_state::dogpatch_audio_w) machine().bookkeeping().coin_counter_w(0, (data >> 2) & 0x01); machine().sound().system_enable((data >> 3) & 0x01); - m_discrete->write(space, DOGPATCH_GAME_ON_EN, (data >> 3) & 0x01); + m_discrete->write(DOGPATCH_GAME_ON_EN, (data >> 3) & 0x01); - m_discrete->write(space, DOGPATCH_LEFT_SHOT_EN, (data >> 4) & 0x01); + m_discrete->write(DOGPATCH_LEFT_SHOT_EN, (data >> 4) & 0x01); - m_discrete->write(space, DOGPATCH_RIGHT_SHOT_EN, (data >> 5) & 0x01); + m_discrete->write(DOGPATCH_RIGHT_SHOT_EN, (data >> 5) & 0x01); - m_discrete->write(space, DOGPATCH_HIT_EN, (data >> 6) & 0x01); + m_discrete->write(DOGPATCH_HIT_EN, (data >> 6) & 0x01); } @@ -3209,7 +3208,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 */ - m_discrete->write(space, SPCENCTR_CRASH_EN, (data >> 2) & 0x01); + m_discrete->write(SPCENCTR_CRASH_EN, (data >> 2) & 0x01); /* D3-D7 are not connected */ } @@ -3219,9 +3218,9 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_2_w) { /* set WIND SOUND FREQ(data & 0x0f) 0, if no wind */ - m_discrete->write(space, SPCENCTR_EXPLOSION_EN, (data >> 4) & 0x01); + m_discrete->write(SPCENCTR_EXPLOSION_EN, (data >> 4) & 0x01); - m_discrete->write(space, SPCENCTR_PLAYER_SHOT_EN, (data >> 5) & 0x01); + m_discrete->write(SPCENCTR_PLAYER_SHOT_EN, (data >> 5) & 0x01); /* D6 and D7 are not connected */ @@ -3233,13 +3232,13 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_3_w) { /* if (data & 0x01) enable SCREECH (hit the sides) sound */ - m_discrete->write(space, SPCENCTR_ENEMY_SHIP_SHOT_EN, (data >> 1) & 0x01); + m_discrete->write(SPCENCTR_ENEMY_SHIP_SHOT_EN, (data >> 1) & 0x01); m_spcenctr_strobe_state = (data >> 2) & 0x01; output().set_value("LAMP", (data >> 3) & 0x01); - m_discrete->write(space, SPCENCTR_BONUS_EN, (data >> 4) & 0x01); + m_discrete->write(SPCENCTR_BONUS_EN, (data >> 4) & 0x01); m_sn->enable_w((data >> 5) & 0x01); /* saucer sound */ @@ -3408,7 +3407,7 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_1_w) machine().sound().system_enable((data >> 2) & 0x01); - m_discrete->write(space, BOWLER_FOWL_EN, (data >> 3) & 0x01); + m_discrete->write(BOWLER_FOWL_EN, (data >> 3) & 0x01); /* D4 - appears to be a screen flip, but it's shown unconnected on the schematics for both the @@ -4116,10 +4115,10 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_1_w) { m_sn->enable_w((~data >> 0) & 0x01); /* saucer sound */ - 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); + m_discrete->write(INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02); + m_discrete->write(INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04); + m_discrete->write(INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08); + m_discrete->write(INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10); machine().sound().system_enable(data & 0x20); @@ -4129,8 +4128,8 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_1_w) WRITE8_MEMBER(mw8080bw_state::invaders_audio_2_w) { - 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); + m_discrete->write(INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f); + m_discrete->write(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()) @@ -4514,18 +4513,18 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::blueshrk_audio_w) { - m_discrete->write(space, BLUESHRK_GAME_ON_EN, (data >> 0) & 0x01); + m_discrete->write(BLUESHRK_GAME_ON_EN, (data >> 0) & 0x01); - m_discrete->write(space, BLUESHRK_SHOT_EN, (data >> 1) & 0x01); + m_discrete->write(BLUESHRK_SHOT_EN, (data >> 1) & 0x01); - m_discrete->write(space, BLUESHRK_HIT_EN, (data >> 2) & 0x01); + m_discrete->write(BLUESHRK_HIT_EN, (data >> 2) & 0x01); - m_discrete->write(space, BLUESHRK_SHARK_EN, (data >> 3) & 0x01); + m_discrete->write(BLUESHRK_SHARK_EN, (data >> 3) & 0x01); /* if (data & 0x10) enable KILLED DIVER sound, this circuit doesn't appear to be on the schematics */ - m_discrete->write(space, BLUESHRK_OCTOPUS_EN, (data >> 5) & 0x01); + m_discrete->write(BLUESHRK_OCTOPUS_EN, (data >> 5) & 0x01); /* D6 and D7 are not connected */ } @@ -4712,10 +4711,10 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_1_w) { m_sn1->enable_w((~data >> 0) & 0x01); /* saucer sound */ - 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); + m_discrete->write(INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02); + m_discrete->write(INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04); + m_discrete->write(INVADERS_NODE(INVADERS_INVADER_HIT_EN, 1), data & 0x08); + m_discrete->write(INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 1), data & 0x10); machine().sound().system_enable(data & 0x20); @@ -4725,8 +4724,8 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_1_w) WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_2_w) { - 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); + m_discrete->write(INVADERS_NODE(INVADERS_FLEET_DATA, 1), data & 0x0f); + m_discrete->write(INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 1), data & 0x10); /* D5-D7 are not connected */ } @@ -4736,10 +4735,10 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_3_w) { m_sn2->enable_w((~data >> 0) & 0x01); /* saucer sound */ - 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); + m_discrete->write(INVADERS_NODE(INVADERS_MISSILE_EN, 2), data & 0x02); + m_discrete->write(INVADERS_NODE(INVADERS_EXPLOSION_EN, 2), data & 0x04); + m_discrete->write(INVADERS_NODE(INVADERS_INVADER_HIT_EN, 2), data & 0x08); + m_discrete->write(INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, 2), data & 0x10); /* D5-D7 are not connected */ } @@ -4747,8 +4746,8 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_3_w) WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_4_w) { - 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); + m_discrete->write(INVADERS_NODE(INVADERS_FLEET_DATA, 2), data & 0x0f); + m_discrete->write(INVADERS_NODE(INVADERS_SAUCER_HIT_EN, 2), data & 0x10); /* D5-D7 are not connected */ } diff --git a/src/mame/audio/namco52.cpp b/src/mame/audio/namco52.cpp index e7bdb78990b..287711d428c 100644 --- a/src/mame/audio/namco52.cpp +++ b/src/mame/audio/namco52.cpp @@ -78,7 +78,7 @@ READ8_MEMBER( namco_52xx_device::R1_r ) WRITE8_MEMBER( namco_52xx_device::P_w ) { - m_discrete->write(space, NAMCO_52XX_P_DATA(m_basenode), data & 0x0f); + m_discrete->write(NAMCO_52XX_P_DATA(m_basenode), data & 0x0f); } WRITE8_MEMBER( namco_52xx_device::R2_w ) diff --git a/src/mame/audio/namco54.cpp b/src/mame/audio/namco54.cpp index e6deb1fdc59..2db6af5e8d3 100644 --- a/src/mame/audio/namco54.cpp +++ b/src/mame/audio/namco54.cpp @@ -71,16 +71,16 @@ WRITE8_MEMBER( namco_54xx_device::O_w ) { uint8_t out = (data & 0x0f); if (data & 0x10) - m_discrete->write(space, NAMCO_54XX_1_DATA(m_basenode), out); + m_discrete->write(NAMCO_54XX_1_DATA(m_basenode), out); else - m_discrete->write(space, NAMCO_54XX_0_DATA(m_basenode), out); + m_discrete->write(NAMCO_54XX_0_DATA(m_basenode), out); } WRITE8_MEMBER( namco_54xx_device::R1_w ) { uint8_t out = (data & 0x0f); - m_discrete->write(space, NAMCO_54XX_2_DATA(m_basenode), out); + m_discrete->write(NAMCO_54XX_2_DATA(m_basenode), out); } diff --git a/src/mame/audio/orbit.cpp b/src/mame/audio/orbit.cpp index 646a1cbf793..2d69ee7ab15 100644 --- a/src/mame/audio/orbit.cpp +++ b/src/mame/audio/orbit.cpp @@ -16,24 +16,24 @@ WRITE8_MEMBER(orbit_state::note_w) { - m_discrete->write(space, ORBIT_NOTE_FREQ, (~data) & 0xff); + m_discrete->write(ORBIT_NOTE_FREQ, (~data) & 0xff); } WRITE8_MEMBER(orbit_state::note_amp_w) { - m_discrete->write(space, ORBIT_ANOTE1_AMP, data & 0x0f); - m_discrete->write(space, ORBIT_ANOTE2_AMP, data >> 4); + m_discrete->write(ORBIT_ANOTE1_AMP, data & 0x0f); + m_discrete->write(ORBIT_ANOTE2_AMP, data >> 4); } WRITE8_MEMBER(orbit_state::noise_amp_w) { - m_discrete->write(space, ORBIT_NOISE1_AMP, data & 0x0f); - m_discrete->write(space, ORBIT_NOISE2_AMP, data >> 4); + m_discrete->write(ORBIT_NOISE1_AMP, data & 0x0f); + m_discrete->write(ORBIT_NOISE2_AMP, data >> 4); } WRITE8_MEMBER(orbit_state::noise_rst_w) { - m_discrete->write(space, ORBIT_NOISE_EN, 0); + m_discrete->write(ORBIT_NOISE_EN, 0); } diff --git a/src/mame/audio/phoenix.cpp b/src/mame/audio/phoenix.cpp index b7788a218a3..60a70850e07 100644 --- a/src/mame/audio/phoenix.cpp +++ b/src/mame/audio/phoenix.cpp @@ -497,12 +497,12 @@ DISCRETE_SOUND_END WRITE8_MEMBER( phoenix_sound_device::control_a_w ) { - m_discrete->write(space, PHOENIX_EFFECT_2_DATA, data & 0x0f); - m_discrete->write(space, PHOENIX_EFFECT_2_FREQ, (data & 0x30) >> 4); + m_discrete->write(PHOENIX_EFFECT_2_DATA, data & 0x0f); + m_discrete->write(PHOENIX_EFFECT_2_FREQ, (data & 0x30) >> 4); #if 0 /* future handling of noise sounds */ - m_discrete->write(space, PHOENIX_EFFECT_3_EN , data & 0x40); - m_discrete->write(space, PHOENIX_EFFECT_4_EN , data & 0x80); + m_discrete->write(PHOENIX_EFFECT_3_EN , data & 0x40); + m_discrete->write(PHOENIX_EFFECT_4_EN , data & 0x80); #endif m_channel->update(); m_sound_latch_a = data; @@ -510,9 +510,9 @@ WRITE8_MEMBER( phoenix_sound_device::control_a_w ) WRITE8_MEMBER( phoenix_sound_device::control_b_w ) { - 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); + m_discrete->write(PHOENIX_EFFECT_1_DATA, data & 0x0f); + m_discrete->write(PHOENIX_EFFECT_1_FILT, data & 0x20); + m_discrete->write(PHOENIX_EFFECT_1_FREQ, data & 0x10); /* update the tune that the MM6221AA is playing */ m_tms->mm6221aa_tune_w(data >> 6); diff --git a/src/mame/audio/poolshrk.cpp b/src/mame/audio/poolshrk.cpp index ab4ca35ff5c..9a966f31b9a 100644 --- a/src/mame/audio/poolshrk.cpp +++ b/src/mame/audio/poolshrk.cpp @@ -159,20 +159,20 @@ DISCRETE_SOUND_END WRITE8_MEMBER(poolshrk_state::scratch_sound_w) { - m_discrete->write(space, POOLSHRK_SCRATCH_SND, offset & 1); + m_discrete->write(POOLSHRK_SCRATCH_SND, offset & 1); } WRITE8_MEMBER(poolshrk_state::score_sound_w) { - m_discrete->write(space, POOLSHRK_SCORE_EN, 1); /* this will trigger the sound code for 1 sample */ + m_discrete->write(POOLSHRK_SCORE_EN, 1); /* this will trigger the sound code for 1 sample */ } WRITE8_MEMBER(poolshrk_state::click_sound_w) { - m_discrete->write(space, POOLSHRK_CLICK_EN, 1); /* this will trigger the sound code for 1 sample */ + m_discrete->write(POOLSHRK_CLICK_EN, 1); /* this will trigger the sound code for 1 sample */ } WRITE8_MEMBER(poolshrk_state::bump_sound_w) { - m_discrete->write(space, POOLSHRK_BUMP_EN, offset & 1); + m_discrete->write(POOLSHRK_BUMP_EN, offset & 1); } diff --git a/src/mame/audio/qix.cpp b/src/mame/audio/qix.cpp index 1e2172a8b75..c701d840fb8 100644 --- a/src/mame/audio/qix.cpp +++ b/src/mame/audio/qix.cpp @@ -31,12 +31,12 @@ Audio handlers WRITE8_MEMBER(qix_state::qix_dac_w) { - m_discrete->write(space, QIX_DAC_DATA, data); + m_discrete->write(QIX_DAC_DATA, data); } WRITE8_MEMBER(qix_state::qix_vol_w) { - m_discrete->write(space, QIX_VOL_DATA, data); + m_discrete->write(QIX_VOL_DATA, data); } diff --git a/src/mame/audio/skyraid.cpp b/src/mame/audio/skyraid.cpp index 75e9eac3397..d18e0a75cbf 100644 --- a/src/mame/audio/skyraid.cpp +++ b/src/mame/audio/skyraid.cpp @@ -294,10 +294,10 @@ WRITE8_MEMBER(skyraid_state::skyraid_sound_w) /* BIT4 => PLANE ON */ /* BIT5 => ATTRACT */ - 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); + m_discrete->write(SKYRAID_PLANE_SWEEP_EN, data & 0x01); + m_discrete->write(SKYRAID_MISSILE_EN, data & 0x02); + m_discrete->write(SKYRAID_EXPLOSION_EN, data & 0x04); m_led = !BIT(data, 3); - m_discrete->write(space, SKYRAID_PLANE_ON_EN, data & 0x10); - m_discrete->write(space, SKYRAID_ATTRACT_EN, data & 0x20); + m_discrete->write(SKYRAID_PLANE_ON_EN, data & 0x10); + m_discrete->write(SKYRAID_ATTRACT_EN, data & 0x20); } diff --git a/src/mame/audio/snk6502.cpp b/src/mame/audio/snk6502.cpp index 659deadd16d..1fa6af8811c 100644 --- a/src/mame/audio/snk6502.cpp +++ b/src/mame/audio/snk6502.cpp @@ -789,7 +789,7 @@ WRITE8_MEMBER(fantasy_sound_device::sound_w) m_custom->mute_channel(2); /* BOMB */ - m_discrete->write(space, FANTASY_BOMB_EN, data & 0x80); + m_discrete->write(FANTASY_BOMB_EN, data & 0x80); m_last_port1 = data; break; diff --git a/src/mame/audio/spiders.cpp b/src/mame/audio/spiders.cpp index de491db21ec..93c03844447 100644 --- a/src/mame/audio/spiders.cpp +++ b/src/mame/audio/spiders.cpp @@ -185,22 +185,22 @@ WRITE8_MEMBER(spiders_state::spiders_audio_command_w) WRITE8_MEMBER(spiders_state::spiders_audio_a_w) { - m_discrete->write(space, SPIDER_WEB_SOUND_MOD_DATA, 1 + (data & 4) * 8 + (data & 2) * 4 + (data & 1) * 2); + m_discrete->write(SPIDER_WEB_SOUND_MOD_DATA, 1 + (data & 4) * 8 + (data & 2) * 4 + (data & 1) * 2); } WRITE8_MEMBER(spiders_state::spiders_audio_b_w) { - m_discrete->write(space, SPIDERS_WEB_SOUND_DATA, data); + m_discrete->write(SPIDERS_WEB_SOUND_DATA, data); } WRITE8_MEMBER(spiders_state::spiders_audio_ctrl_w) { - 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); + m_discrete->write(SPIDERS_FIRE_EN, data & 0x10 ? 1 : 0); + m_discrete->write(SPIDERS_EXP_EN, data & 0x08 ? 1 : 0); + m_discrete->write(SPIDERS_SUPER_WEB_EXPL_EN, data & 0x04 ? 1 : 0); + m_discrete->write(SPIDERS_SUPER_WEB_EN, data & 0x02 ? 1 : 0); + m_discrete->write(SPIDERS_X_EN, data & 0x01 ? 1 : 0); } diff --git a/src/mame/audio/subs.cpp b/src/mame/audio/subs.cpp index cb550ec12a5..10fd6c08118 100644 --- a/src/mame/audio/subs.cpp +++ b/src/mame/audio/subs.cpp @@ -17,7 +17,7 @@ sub sound functions WRITE8_MEMBER(subs_state::noise_reset_w) { /* Pulse noise reset */ - m_discrete->write(space, SUBS_NOISE_RESET, 0); + m_discrete->write(SUBS_NOISE_RESET, 0); } diff --git a/src/mame/audio/vicdual.cpp b/src/mame/audio/vicdual.cpp index 1b2f6af170b..e0ab608bd7b 100644 --- a/src/mame/audio/vicdual.cpp +++ b/src/mame/audio/vicdual.cpp @@ -143,12 +143,12 @@ WRITE8_MEMBER( vicdual_state::frogs_audio_w ) int new_croak = data & 0x08; int new_buzzz = data & 0x10; -// 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); +// m_discrete->write(FROGS_HOP_EN, data & 0x01); +// m_discrete->write(FROGS_JUMP_EN, data & 0x02); + m_discrete->write(FROGS_TONGUE_EN, data & 0x04); +// m_discrete->write(FROGS_CAPTURE_EN, data & 0x08); +// m_discrete->write(FROGS_FLY_EN, data & 0x10); +// m_discrete->write(FROGS_SPLASH_EN, data & 0x80); if (data & 0x01) m_samples->start(3, 3); // Hop @@ -454,13 +454,13 @@ WRITE8_MEMBER( vicdual_state::headon_audio_w ) { if (m_discrete == nullptr) return; - 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); + m_discrete->write(HEADON_HISPEED_PC_EN, data & 0x01); + m_discrete->write(HEADON_SCREECH1_EN, data & 0x02); + m_discrete->write(HEADON_CRASH_EN, data & 0x04); + m_discrete->write(HEADON_HISPEED_CC_EN, data & 0x08); + m_discrete->write(HEADON_SCREECH2_EN, data & 0x10); + m_discrete->write(HEADON_BONUS_EN, data & 0x20); + m_discrete->write(HEADON_CAR_ON_EN, data & 0x40); } @@ -468,13 +468,13 @@ WRITE8_MEMBER( vicdual_state::invho2_audio_w ) { if (m_discrete == nullptr) return; - 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); + m_discrete->write(HEADON_HISPEED_PC_EN, data & 0x10); + m_discrete->write(HEADON_SCREECH1_EN, data & 0x08); + m_discrete->write(HEADON_CRASH_EN, data & 0x80); + m_discrete->write(HEADON_HISPEED_CC_EN, data & 0x40); + m_discrete->write(HEADON_SCREECH2_EN, data & 0x04); + m_discrete->write(HEADON_BONUS_EN, data & 0x02); + m_discrete->write(HEADON_CAR_ON_EN, data & 0x20); } diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp index 3268be79bc1..2b5f0279ba1 100644 --- a/src/mame/drivers/abc80x.cpp +++ b/src/mame/drivers/abc80x.cpp @@ -175,8 +175,8 @@ DISCRETE_SOUND_END READ8_MEMBER( abc800_state::pling_r ) { - m_discrete->write(space, NODE_01, 0); - m_discrete->write(space, NODE_01, 1); + m_discrete->write(NODE_01, 0); + m_discrete->write(NODE_01, 1); return 0xff; } diff --git a/src/mame/drivers/alinvade.cpp b/src/mame/drivers/alinvade.cpp index 7c6658b248a..e77ae1747d4 100644 --- a/src/mame/drivers/alinvade.cpp +++ b/src/mame/drivers/alinvade.cpp @@ -82,7 +82,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER( alinvade_state::sound_w ) { - m_discrete->write(space, NODE_01, (data^0x3f)<<2); + m_discrete->write(NODE_01, (data^0x3f)<<2); } WRITE8_MEMBER( alinvade_state::sounden_w ) diff --git a/src/mame/drivers/blockade.cpp b/src/mame/drivers/blockade.cpp index a472e834430..596dd8e974f 100644 --- a/src/mame/drivers/blockade.cpp +++ b/src/mame/drivers/blockade.cpp @@ -413,7 +413,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER( blockade_state::sound_freq_w ) { - m_discrete->write(space, BLOCKADE_NOTE_DATA, data); + m_discrete->write(BLOCKADE_NOTE_DATA, data); return; } diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp index 46994bd6386..90a62545b98 100644 --- a/src/mame/drivers/by35.cpp +++ b/src/mame/drivers/by35.cpp @@ -644,7 +644,7 @@ WRITE_LINE_MEMBER( as2888_state::u11_cb2_as2888_w ) { m_snd_sustain_timer->adjust(attotime::from_msec(5)); - m_discrete->write(machine().dummy_space(), NODE_08, 11); // 11 volt pulse + m_discrete->write(NODE_08, 11); // 11 volt pulse } u11_cb2_w(state); @@ -919,8 +919,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( as2888_state::timer_s ) m_snd_tone_gen = m_snd_sel; m_snd_div++; - m_discrete->write(machine().dummy_space(), NODE_04, BIT(m_snd_div, 2) * 1); - m_discrete->write(machine().dummy_space(), NODE_01, BIT(m_snd_div, 0) * 1); + m_discrete->write(NODE_04, BIT(m_snd_div, 2) * 1); + m_discrete->write(NODE_01, BIT(m_snd_div, 0) * 1); if (m_snd_sel == 0x01) LOG("SndSel=%02x, Tone=%02x, Div=%02x\n",m_snd_sel, m_snd_tone_gen, m_snd_div); } @@ -939,7 +939,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( as2888_state::timer_as2888 ) LOG("SndSel=%02x, Tone=%02x, Div=%02x\n",m_snd_sel, m_snd_tone_gen, m_snd_div); } - m_discrete->write(machine().dummy_space(), NODE_08, 0); + m_discrete->write(NODE_08, 0); m_snd_sustain_timer->adjust(attotime::never); LOG("Sustain off\n"); diff --git a/src/mame/drivers/circusc.cpp b/src/mame/drivers/circusc.cpp index beeb0637448..caa6e42ae6d 100644 --- a/src/mame/drivers/circusc.cpp +++ b/src/mame/drivers/circusc.cpp @@ -139,9 +139,9 @@ WRITE8_MEMBER(circusc_state::circusc_sound_w) /* CS6 */ case 4: - 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); + m_discrete->write(NODE_05, (offset & 0x20) >> 5); + m_discrete->write(NODE_06, (offset & 0x18) >> 3); + m_discrete->write(NODE_07, (offset & 0x40) >> 6); break; } } diff --git a/src/mame/drivers/cliffhgr.cpp b/src/mame/drivers/cliffhgr.cpp index 69fcd3279c8..2096eedf939 100644 --- a/src/mame/drivers/cliffhgr.cpp +++ b/src/mame/drivers/cliffhgr.cpp @@ -193,8 +193,8 @@ READ8_MEMBER(cliffhgr_state::cliff_irq_ack_r) WRITE8_MEMBER(cliffhgr_state::cliff_sound_overlay_w) { /* audio */ - m_discrete->write(space, CLIFF_ENABLE_SND_1, data & 1); - m_discrete->write(space, CLIFF_ENABLE_SND_2, (data >> 1) & 1); + m_discrete->write(CLIFF_ENABLE_SND_1, data & 1); + m_discrete->write(CLIFF_ENABLE_SND_2, (data >> 1) & 1); // bit 4 (data & 0x10) is overlay related? } diff --git a/src/mame/drivers/dragrace.cpp b/src/mame/drivers/dragrace.cpp index 4ee8a707460..c8dd6c96cd5 100644 --- a/src/mame/drivers/dragrace.cpp +++ b/src/mame/drivers/dragrace.cpp @@ -42,7 +42,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback) WRITE8_MEMBER(dragrace_state::speed1_w) { unsigned freq = ~data & 0x1f; - m_discrete->write(machine().dummy_space(), DRAGRACE_MOTOR1_DATA, freq); + m_discrete->write(DRAGRACE_MOTOR1_DATA, freq); // the tachometers are driven from the same frequency generator that creates the engine sound output().set_value("tachometer", freq); @@ -51,7 +51,7 @@ WRITE8_MEMBER(dragrace_state::speed1_w) WRITE8_MEMBER(dragrace_state::speed2_w) { unsigned freq = ~data & 0x1f; - m_discrete->write(machine().dummy_space(), DRAGRACE_MOTOR2_DATA, freq); + m_discrete->write(DRAGRACE_MOTOR2_DATA, freq); // the tachometers are driven from the same frequency generator that creates the engine sound output().set_value("tachometer2", freq); diff --git a/src/mame/drivers/firetrk.cpp b/src/mame/drivers/firetrk.cpp index 3c735dd3446..e4e91872b03 100644 --- a/src/mame/drivers/firetrk.cpp +++ b/src/mame/drivers/firetrk.cpp @@ -37,7 +37,7 @@ INPUT_CHANGED_MEMBER(firetrk_state::service_mode_switch_changed) INPUT_CHANGED_MEMBER(firetrk_state::firetrk_horn_changed) { - m_discrete->write(generic_space(), FIRETRUCK_HORN_EN, newval); + m_discrete->write(FIRETRUCK_HORN_EN, newval); } @@ -81,7 +81,7 @@ WRITE8_MEMBER(firetrk_state::firetrk_output_w) m_leds[3] = BIT(~data, 3); /* BIT4 => ATTRACT */ - m_discrete->write(space, FIRETRUCK_ATTRACT_EN, data & 0x10); + m_discrete->write(FIRETRUCK_ATTRACT_EN, data & 0x10); machine().bookkeeping().coin_lockout_w(0, !(data & 0x10)); machine().bookkeeping().coin_lockout_w(1, !(data & 0x10)); @@ -91,7 +91,7 @@ WRITE8_MEMBER(firetrk_state::firetrk_output_w) /* BIT6 => UNUSED */ /* BIT7 => BELL OUT */ - m_discrete->write(space, FIRETRUCK_BELL_EN, data & 0x80); + m_discrete->write(FIRETRUCK_BELL_EN, data & 0x80); } @@ -101,7 +101,7 @@ WRITE8_MEMBER(firetrk_state::superbug_output_w) m_leds[0] = BIT(offset, 0); /* BIT1 => ATTRACT */ - m_discrete->write(space, SUPERBUG_ATTRACT_EN, offset & 0x02); + m_discrete->write(SUPERBUG_ATTRACT_EN, offset & 0x02); machine().bookkeeping().coin_lockout_w(0, !(offset & 0x02)); machine().bookkeeping().coin_lockout_w(1, !(offset & 0x02)); @@ -122,7 +122,7 @@ WRITE8_MEMBER(firetrk_state::montecar_output_1_w) m_leds[1] = BIT(~data, 1); /* BIT2 => ATTRACT */ - m_discrete->write(space, MONTECAR_ATTRACT_INV, data & 0x04); + m_discrete->write(MONTECAR_ATTRACT_INV, data & 0x04); /* BIT3 => UNUSED */ /* BIT4 => UNUSED */ @@ -142,8 +142,8 @@ WRITE8_MEMBER(firetrk_state::montecar_output_2_w) { m_flash = data & 0x80; - m_discrete->write(space, MONTECAR_BEEPER_EN, data & 0x10); - m_discrete->write(space, MONTECAR_DRONE_LOUD_DATA, data & 0x0f); + m_discrete->write(MONTECAR_BEEPER_EN, data & 0x10); + m_discrete->write(MONTECAR_DRONE_LOUD_DATA, data & 0x0f); } diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 8398e5bb285..91d4858c7bc 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -837,7 +837,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 */ - m_discrete->write(space, NODE(3 * which + chan + 11), bits); + m_discrete->write(NODE(3 * which + chan + 11), bits); } } } @@ -6065,7 +6065,12 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(galaxian_state::galaxian) galaxian_base(config); - galaxian_audio(config); + + MCFG_DEVICE_ADD("cust", GALAXIAN, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) + + MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, galaxian_discrete) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) MACHINE_CONFIG_END MACHINE_CONFIG_START(galaxian_state::victoryc) @@ -6150,7 +6155,11 @@ MACHINE_CONFIG_START(galaxian_state::mooncrst) MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_PROGRAM_MAP(mooncrst_map) - mooncrst_audio(config); + MCFG_DEVICE_ADD("cust", GALAXIAN, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) + + MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, mooncrst_discrete) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) MACHINE_CONFIG_END MACHINE_CONFIG_START(galaxian_state::moonqsr) diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp index a0b16efb5e1..9078dc63dd5 100644 --- a/src/mame/drivers/galaxold.cpp +++ b/src/mame/drivers/galaxold.cpp @@ -2287,6 +2287,23 @@ MACHINE_CONFIG_START(galaxold_state::galaxold_base) SPEAKER(config, "speaker").front_center(); MACHINE_CONFIG_END +MACHINE_CONFIG_START(galaxold_state::galaxian_audio) + MCFG_DEVICE_ADD("cust", GALAXIAN, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) + + MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, galaxian_discrete) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(galaxold_state::mooncrst_audio) + MCFG_DEVICE_ADD("cust", GALAXIAN, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) + + MCFG_DEVICE_ADD(GAL_AUDIO, DISCRETE, mooncrst_discrete) + + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) +MACHINE_CONFIG_END + MACHINE_CONFIG_START(galaxold_state::galaxian) galaxold_base(config); diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp index 6c5eb4512f2..023f68e12f4 100644 --- a/src/mame/drivers/goldnpkr.cpp +++ b/src/mame/drivers/goldnpkr.cpp @@ -1803,8 +1803,8 @@ WRITE8_MEMBER(goldnpkr_state::sound_w) logerror("Sound Data: %2x\n",data & 0x0f); /* discrete sound is connected to PIA1, portA: bits 0-3 */ - m_discrete->write(space, NODE_01, data >> 3 & 0x01); - m_discrete->write(space, NODE_10, data & 0x07); + m_discrete->write(NODE_01, data >> 3 & 0x01); + m_discrete->write(NODE_10, data & 0x07); } WRITE8_MEMBER(goldnpkr_state::pia0_a_w) diff --git a/src/mame/drivers/grchamp.cpp b/src/mame/drivers/grchamp.cpp index 91f17f0f4f0..cfdef1cfd86 100644 --- a/src/mame/drivers/grchamp.cpp +++ b/src/mame/drivers/grchamp.cpp @@ -333,18 +333,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 */ - 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); + m_discrete->write(GRCHAMP_ENGINE_CS_EN, data & 0x80); + m_discrete->write(GRCHAMP_SIFT_DATA, (data >> 5) & 0x03); + m_discrete->write(GRCHAMP_ATTACK_UP_DATA, (data >> 2) & 0x07); + m_discrete->write(GRCHAMP_IDLING_EN, data & 0x02); + m_discrete->write(GRCHAMP_FOG_EN, data & 0x01); break; case 0x0d: /* OUTD */ /* bit 0-3: ATTACK SPEED 1-4 */ /* bit 4-7: PLAYER SPEED 1-4 */ - m_discrete->write(space, GRCHAMP_PLAYER_SPEED_DATA, (data >> 4) & 0x0f); - m_discrete->write(space, GRCHAMP_ATTACK_SPEED_DATA, data & 0x0f); + m_discrete->write(GRCHAMP_PLAYER_SPEED_DATA, (data >> 4) & 0x0f); + m_discrete->write(GRCHAMP_ATTACK_SPEED_DATA, data & 0x0f); break; default: @@ -480,12 +480,12 @@ READ8_MEMBER(grchamp_state::soundlatch_flags_r) WRITE8_MEMBER(grchamp_state::portA_0_w) { - m_discrete->write(space, GRCHAMP_A_DATA, data); + m_discrete->write(GRCHAMP_A_DATA, data); } WRITE8_MEMBER(grchamp_state::portB_0_w) { - m_discrete->write(space, GRCHAMP_B_DATA, 255-data); + m_discrete->write(GRCHAMP_B_DATA, 255-data); } WRITE8_MEMBER(grchamp_state::portA_2_w) diff --git a/src/mame/drivers/gyruss.cpp b/src/mame/drivers/gyruss.cpp index 77f1e4070bd..81a14fc5606 100644 --- a/src/mame/drivers/gyruss.cpp +++ b/src/mame/drivers/gyruss.cpp @@ -120,7 +120,7 @@ READ8_MEMBER(gyruss_state::gyruss_portA_r) WRITE8_MEMBER(gyruss_state::gyruss_dac_w) { - m_discrete->write(space, NODE(16), data); + m_discrete->write(NODE(16), data); } WRITE8_MEMBER(gyruss_state::gyruss_irq_clear_w) @@ -135,7 +135,7 @@ void gyruss_state::filter_w(address_space &space, int chip, int data ) { /* low bit: 47000pF = 0.047uF */ /* high bit: 220000pF = 0.22uF */ - m_discrete->write(space, NODE(3 * chip + i + 21), data & 3); + m_discrete->write(NODE(3 * chip + i + 21), data & 3); data >>= 2; } } diff --git a/src/mame/drivers/hitme.cpp b/src/mame/drivers/hitme.cpp index 48c15c416fc..ecc1d19a63c 100644 --- a/src/mame/drivers/hitme.cpp +++ b/src/mame/drivers/hitme.cpp @@ -195,15 +195,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; - m_discrete->write(space, HITME_DOWNCOUNT_VAL, data); - m_discrete->write(space, HITME_OUT0, 1); + m_discrete->write(HITME_DOWNCOUNT_VAL, data); + m_discrete->write(HITME_OUT0, 1); } WRITE8_MEMBER(hitme_state::output_port_1_w) { - m_discrete->write(space, HITME_ENABLE_VAL, data); - m_discrete->write(space, HITME_OUT1, 1); + m_discrete->write(HITME_ENABLE_VAL, data); + m_discrete->write(HITME_OUT1, 1); } diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp index e3b06771e59..e0161daaf8e 100644 --- a/src/mame/drivers/ironhors.cpp +++ b/src/mame/drivers/ironhors.cpp @@ -47,9 +47,9 @@ WRITE8_MEMBER(ironhors_state::sh_irqtrigger_w) WRITE8_MEMBER(ironhors_state::filter_w) { - 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); + m_disc_ih->write(NODE_11, (data & 0x04) >> 2); + m_disc_ih->write(NODE_12, (data & 0x02) >> 1); + m_disc_ih->write(NODE_13, (data & 0x01) >> 0); } /************************************* diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp index faf5a1da842..a0d3f1863f7 100644 --- a/src/mame/drivers/madalien.cpp +++ b/src/mame/drivers/madalien.cpp @@ -59,11 +59,11 @@ WRITE8_MEMBER(madalien_state::madalien_output_w) WRITE8_MEMBER(madalien_state::madalien_portA_w) { - m_discrete->write(space, MADALIEN_8910_PORTA, data); + m_discrete->write(MADALIEN_8910_PORTA, data); } WRITE8_MEMBER(madalien_state::madalien_portB_w) { - m_discrete->write(space, MADALIEN_8910_PORTB, data); + m_discrete->write(MADALIEN_8910_PORTB, data); } diff --git a/src/mame/drivers/norautp.cpp b/src/mame/drivers/norautp.cpp index 58ac1ba8862..f4e118814d6 100644 --- a/src/mame/drivers/norautp.cpp +++ b/src/mame/drivers/norautp.cpp @@ -676,8 +676,8 @@ WRITE8_MEMBER(norautp_state::soundlamps_w) m_lamps[9] = BIT(data, 1); /* BET / COLLECT lamp */ /* the 4 MSB are for discrete sound */ - m_discrete->write(space, NORAUTP_SND_EN, (data >> 7) & 0x01); - m_discrete->write(space, NORAUTP_FREQ_DATA, (data >> 4) & 0x07); + m_discrete->write(NORAUTP_SND_EN, (data >> 7) & 0x01); + m_discrete->write(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)); } diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp index c84bd8f6ecd..bb16530dc6f 100644 --- a/src/mame/drivers/osi.cpp +++ b/src/mame/drivers/osi.cpp @@ -288,7 +288,7 @@ WRITE8_MEMBER( sb2m600_state::keyboard_w ) m_keylatch = data; if (m_io_sound->read()) - m_discrete->write(space, NODE_01, (data >> 2) & 0x0f); + m_discrete->write(NODE_01, (data >> 2) & 0x0f); } WRITE8_MEMBER( uk101_state::keyboard_w ) @@ -316,7 +316,7 @@ WRITE8_MEMBER( sb2m600_state::ctrl_w ) m_32 = BIT(data, 0); m_coloren = BIT(data, 1); - m_discrete->write(space, NODE_10, BIT(data, 4)); + m_discrete->write(NODE_10, BIT(data, 4)); } WRITE8_MEMBER( c1p_state::osi630_ctrl_w ) diff --git a/src/mame/drivers/skydiver.cpp b/src/mame/drivers/skydiver.cpp index e4ee45b584a..d0833cbbc10 100644 --- a/src/mame/drivers/skydiver.cpp +++ b/src/mame/drivers/skydiver.cpp @@ -151,12 +151,11 @@ WRITE_LINE_MEMBER(skydiver_state::nmion_w) INTERRUPT_GEN_MEMBER(skydiver_state::interrupt) { /* Convert range data to divide value and write to sound */ - address_space &space = m_maincpu->space(AS_PROGRAM); - m_discrete->write(space, SKYDIVER_RANGE_DATA, (0x01 << (~m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2 + m_discrete->write(SKYDIVER_RANGE_DATA, (0x01 << (~m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2 - 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 + m_discrete->write(SKYDIVER_RANGE3_EN, m_videoram[0x394] & 0x08); // Range 3 - note disable + m_discrete->write(SKYDIVER_NOTE_DATA, ~m_videoram[0x395] & 0xff); // Note - freq + m_discrete->write(SKYDIVER_NOISE_DATA, m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude if (m_nmion) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp index 1e5c36369f0..530e32c1ef5 100644 --- a/src/mame/drivers/sprint2.cpp +++ b/src/mame/drivers/sprint2.cpp @@ -105,10 +105,9 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2) } } - address_space &space = m_maincpu->space(AS_PROGRAM); - 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 + m_discrete->write(SPRINT2_MOTORSND1_DATA, m_video_ram[0x394] & 15); // also DOMINOS_FREQ_DATA + m_discrete->write(SPRINT2_MOTORSND2_DATA, m_video_ram[0x395] & 15); + m_discrete->write(SPRINT2_CRASHSND_DATA, m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA /* interrupts and watchdog are disabled during service mode */ @@ -218,7 +217,7 @@ WRITE8_MEMBER(sprint2_state::output_latch_w) WRITE8_MEMBER(sprint2_state::sprint2_noise_reset_w) { - m_discrete->write(space, SPRINT2_NOISE_RESET, 0); + m_discrete->write(SPRINT2_NOISE_RESET, 0); } diff --git a/src/mame/drivers/sprint4.cpp b/src/mame/drivers/sprint4.cpp index 722ed1ae6ec..46925130e4a 100644 --- a/src/mame/drivers/sprint4.cpp +++ b/src/mame/drivers/sprint4.cpp @@ -207,13 +207,13 @@ WRITE8_MEMBER(sprint4_state::lockout_w) WRITE8_MEMBER(sprint4_state::bang_w) { - m_discrete->write(space, SPRINT4_BANG_DATA, data & 0x0f); + m_discrete->write(SPRINT4_BANG_DATA, data & 0x0f); } WRITE8_MEMBER(sprint4_state::attract_w) { - m_discrete->write(space, SPRINT4_ATTRACT_EN, data & 1); + m_discrete->write(SPRINT4_ATTRACT_EN, data & 1); } diff --git a/src/mame/drivers/starshp1.cpp b/src/mame/drivers/starshp1.cpp index 8805ac187c9..9649ce9baa5 100644 --- a/src/mame/drivers/starshp1.cpp +++ b/src/mame/drivers/starshp1.cpp @@ -28,7 +28,7 @@ INTERRUPT_GEN_MEMBER(starshp1_state::starshp1_interrupt) WRITE_LINE_MEMBER(starshp1_state::attract_w) { m_attract = state; - m_discrete->write(machine().dummy_space(), STARSHP1_ATTRACT, state); + m_discrete->write(STARSHP1_ATTRACT, state); machine().bookkeeping().coin_lockout_w(0, !m_attract); machine().bookkeeping().coin_lockout_w(1, !m_attract); @@ -38,7 +38,7 @@ WRITE_LINE_MEMBER(starshp1_state::attract_w) WRITE_LINE_MEMBER(starshp1_state::phasor_w) { m_phasor = state; - m_discrete->write(machine().dummy_space(), STARSHP1_PHASOR_ON, state); + m_discrete->write(STARSHP1_PHASOR_ON, state); } @@ -92,13 +92,13 @@ WRITE8_MEMBER(starshp1_state::starshp1_analog_out_w) m_ship_size = data; break; case 2: - m_discrete->write(space, STARSHP1_NOISE_AMPLITUDE, data); + m_discrete->write(STARSHP1_NOISE_AMPLITUDE, data); break; case 3: - m_discrete->write(space, STARSHP1_TONE_PITCH, data); + m_discrete->write(STARSHP1_TONE_PITCH, data); break; case 4: - m_discrete->write(space, STARSHP1_MOTOR_SPEED, data); + m_discrete->write(STARSHP1_MOTOR_SPEED, data); break; case 5: m_circle_hpos = data; diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp index 16296444801..02ef304818a 100644 --- a/src/mame/drivers/taitosj.cpp +++ b/src/mame/drivers/taitosj.cpp @@ -1767,7 +1767,7 @@ DISCRETE_SOUND_END WRITE8_MEMBER(taitosj_state::taitosj_dacvol_w) { - m_dacvol->write(space, NODE_01, data ^ 0xff); // 7416 hex inverter + m_dacvol->write(NODE_01, data ^ 0xff); // 7416 hex inverter } MACHINE_CONFIG_START(taitosj_state::nomcu) diff --git a/src/mame/drivers/tank8.cpp b/src/mame/drivers/tank8.cpp index 241fbff118d..f9133c88f36 100644 --- a/src/mame/drivers/tank8.cpp +++ b/src/mame/drivers/tank8.cpp @@ -48,17 +48,17 @@ WRITE8_MEMBER(tank8_state::int_reset_w) WRITE8_MEMBER(tank8_state::crash_w) { - m_discrete->write(space, TANK8_CRASH_EN, data); + m_discrete->write(TANK8_CRASH_EN, data); } WRITE8_MEMBER(tank8_state::explosion_w) { - m_discrete->write(space, TANK8_EXPLOSION_EN, data); + m_discrete->write(TANK8_EXPLOSION_EN, data); } WRITE8_MEMBER(tank8_state::bugle_w) { - m_discrete->write(space, TANK8_BUGLE_EN, data); + m_discrete->write(TANK8_BUGLE_EN, data); } WRITE8_MEMBER(tank8_state::bug_w) @@ -66,20 +66,20 @@ WRITE8_MEMBER(tank8_state::bug_w) /* D0 and D1 determine the on/off time off the square wave */ switch(data & 3) { case 0: - m_discrete->write(space, TANK8_BUGLE_DATA1,8.0); - m_discrete->write(space, TANK8_BUGLE_DATA2,4.0); + m_discrete->write(TANK8_BUGLE_DATA1,8.0); + m_discrete->write(TANK8_BUGLE_DATA2,4.0); break; case 1: - m_discrete->write(space, TANK8_BUGLE_DATA1,8.0); - m_discrete->write(space, TANK8_BUGLE_DATA2,7.0); + m_discrete->write(TANK8_BUGLE_DATA1,8.0); + m_discrete->write(TANK8_BUGLE_DATA2,7.0); break; case 2: - m_discrete->write(space, TANK8_BUGLE_DATA1,8.0); - m_discrete->write(space, TANK8_BUGLE_DATA2,2.0); + m_discrete->write(TANK8_BUGLE_DATA1,8.0); + m_discrete->write(TANK8_BUGLE_DATA2,2.0); break; case 3: - m_discrete->write(space, TANK8_BUGLE_DATA1,16.0); - m_discrete->write(space, TANK8_BUGLE_DATA2,4.0); + m_discrete->write(TANK8_BUGLE_DATA1,16.0); + m_discrete->write(TANK8_BUGLE_DATA2,4.0); break; } @@ -87,12 +87,12 @@ WRITE8_MEMBER(tank8_state::bug_w) WRITE8_MEMBER(tank8_state::attract_w) { - m_discrete->write(space, TANK8_ATTRACT_EN, data); + m_discrete->write(TANK8_ATTRACT_EN, data); } WRITE8_MEMBER(tank8_state::motor_w) { - m_discrete->write(space, NODE_RELATIVE(TANK8_MOTOR1_EN, offset), data); + m_discrete->write(NODE_RELATIVE(TANK8_MOTOR1_EN, offset), data); } void tank8_state::tank8_cpu_map(address_map &map) diff --git a/src/mame/drivers/uapce.cpp b/src/mame/drivers/uapce.cpp index 0af479652e2..dc732bf6709 100644 --- a/src/mame/drivers/uapce.cpp +++ b/src/mame/drivers/uapce.cpp @@ -172,7 +172,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) */ - m_discrete->write(space, UAPCE_SOUND_EN, BIT(data,3)); + m_discrete->write(UAPCE_SOUND_EN, BIT(data,3)); /* D2 : Not latched, though software writes to this bit like it is. */ diff --git a/src/mame/drivers/ultratnk.cpp b/src/mame/drivers/ultratnk.cpp index 493e63e080f..066a2fe668e 100644 --- a/src/mame/drivers/ultratnk.cpp +++ b/src/mame/drivers/ultratnk.cpp @@ -143,11 +143,11 @@ WRITE_LINE_MEMBER(ultratnk_state::lockout_w) WRITE8_MEMBER(ultratnk_state::attract_w) { - m_discrete->write(space, ULTRATNK_ATTRACT_EN, data & 1); + m_discrete->write(ULTRATNK_ATTRACT_EN, data & 1); } WRITE8_MEMBER(ultratnk_state::explosion_w) { - m_discrete->write(space, ULTRATNK_EXPLOSION_DATA, data & 15); + m_discrete->write(ULTRATNK_EXPLOSION_DATA, data & 15); } diff --git a/src/mame/drivers/videopin.cpp b/src/mame/drivers/videopin.cpp index e783361f81f..7ccb4393727 100644 --- a/src/mame/drivers/videopin.cpp +++ b/src/mame/drivers/videopin.cpp @@ -182,7 +182,7 @@ WRITE8_MEMBER(videopin_state::out1_w) machine().bookkeeping().coin_lockout_global_w(~data & 0x08); /* Convert octave data to divide value and write to sound */ - m_discrete->write(space, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe); + m_discrete->write(VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe); } @@ -199,17 +199,17 @@ WRITE8_MEMBER(videopin_state::out2_w) machine().bookkeeping().coin_counter_w(0, data & 0x10); - 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 + m_discrete->write(VIDEOPIN_BELL_EN, data & 0x40); // Bell + m_discrete->write(VIDEOPIN_BONG_EN, data & 0x20); // Bong + m_discrete->write(VIDEOPIN_ATTRACT_EN, data & 0x80); // Attract + m_discrete->write(VIDEOPIN_VOL_DATA, data & 0x07); // Vol0,1,2 } WRITE8_MEMBER(videopin_state::note_dvsr_w) { /* note data */ - m_discrete->write(space, VIDEOPIN_NOTE_DATA, ~data &0xff); + m_discrete->write(VIDEOPIN_NOTE_DATA, ~data &0xff); } diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp index 54ceade7ab1..909c6b0cdee 100644 --- a/src/mame/drivers/vip.cpp +++ b/src/mame/drivers/vip.cpp @@ -483,7 +483,7 @@ READ_LINE_MEMBER(vip_state::ef4_r) WRITE_LINE_MEMBER(vip_state::q_w) { // sound output - m_beeper->write(machine().dummy_space(), NODE_01, state); + m_beeper->write(NODE_01, state); // Q led m_leds[LED_Q] = state ? 1 : 0; @@ -611,7 +611,7 @@ void vip_state::machine_start() m_leds[LED_POWER] = 1; // reset sound - m_beeper->write(machine().dummy_space(), NODE_01, 0); + m_beeper->write(NODE_01, 0); // state saving save_item(NAME(m_8000)); diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp index 2ab569670b8..bd89bb5f6c2 100644 --- a/src/mame/drivers/vixen.cpp +++ b/src/mame/drivers/vixen.cpp @@ -551,7 +551,7 @@ WRITE8_MEMBER( vixen_state::i8155_pc_w ) m_256 = !BIT(data, 4); // beep enable - m_discrete->write(space, NODE_01, !BIT(data, 5)); + m_discrete->write(NODE_01, !BIT(data, 5)); } //------------------------------------------------- diff --git a/src/mame/drivers/wiz.cpp b/src/mame/drivers/wiz.cpp index abd9fd4e172..4dc488114d6 100644 --- a/src/mame/drivers/wiz.cpp +++ b/src/mame/drivers/wiz.cpp @@ -267,15 +267,15 @@ DISCRETE_SOUND_END WRITE8_MEMBER(wiz_state::stinger_explosion_w) { // explosion sound trigger(analog?) - m_discrete->write(space, STINGER_BOOM_EN1, m_dsc1); - m_discrete->write(space, STINGER_BOOM_EN2, m_dsc1^=1); + m_discrete->write(STINGER_BOOM_EN1, m_dsc1); + m_discrete->write(STINGER_BOOM_EN2, m_dsc1^=1); } WRITE8_MEMBER(wiz_state::stinger_shot_w) { // player shot sound trigger(analog?) - m_discrete->write(space, STINGER_SHOT_EN1, m_dsc0); - m_discrete->write(space, STINGER_SHOT_EN2, m_dsc0^=1); + m_discrete->write(STINGER_SHOT_EN1, m_dsc0); + m_discrete->write(STINGER_SHOT_EN2, m_dsc0^=1); } diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index 310607ad535..c494170ac87 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -342,9 +342,6 @@ public: void kong(machine_config &config); void scorpnmc(machine_config &config); - void galaxian_audio(machine_config &config); - void mooncrst_audio(machine_config &config); - protected: void amigo2_map(address_map &map); void anteaterg_map(address_map &map); diff --git a/src/mame/machine/atarifb.cpp b/src/mame/machine/atarifb.cpp index 2c6969e4004..91cc61ce55a 100644 --- a/src/mame/machine/atarifb.cpp +++ b/src/mame/machine/atarifb.cpp @@ -15,10 +15,10 @@ WRITE8_MEMBER(atarifb_state::atarifb_out1_w) { m_CTRLD = data; - 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 + m_discrete->write(ATARIFB_WHISTLE_EN, data & 0x01); // Whistle + m_discrete->write(ATARIFB_HIT_EN, data & 0x02); // Hit + m_discrete->write(ATARIFB_ATTRACT_EN, data & 0x10); // Attract + m_discrete->write(ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker } @@ -26,10 +26,10 @@ WRITE8_MEMBER(atarifb_state::atarifb4_out1_w) { m_CTRLD = data; - 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 + m_discrete->write(ATARIFB_WHISTLE_EN, data & 0x01); // Whistle + m_discrete->write(ATARIFB_HIT_EN, data & 0x02); // Hit + m_discrete->write(ATARIFB_ATTRACT_EN, data & 0x10); // Attract + m_discrete->write(ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker machine().bookkeeping().coin_counter_w(1, data & 0x80); } @@ -39,10 +39,10 @@ WRITE8_MEMBER(atarifb_state::abaseb_out1_w) { m_CTRLD = data; - 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 + m_discrete->write(ATARIFB_WHISTLE_EN, data & 0x01); // Whistle + m_discrete->write(ATARIFB_HIT_EN, data & 0x02); // Hit + m_discrete->write(ATARIFB_ATTRACT_EN, data & 0x10); // Attract + m_discrete->write(ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker if (data & 0x80) { @@ -71,10 +71,10 @@ WRITE8_MEMBER(atarifb_state::soccer_out1_w) /* bit 5-6 = trackball CTRL bits */ /* bit 7 = Rule LED */ - 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 + m_discrete->write(ATARIFB_WHISTLE_EN, data & 0x01); // Whistle + m_discrete->write(ATARIFB_HIT_EN, data & 0x02); // Hit + m_discrete->write(ATARIFB_ATTRACT_EN, data & 0x10); // Attract + m_discrete->write(ATARIFB_NOISE_EN, data & 0x04); // Noise Enable / Kicker // m_leds[0] = BIT(data, 4); // !!!!!!!!!! Is this correct???? m_leds[1] = BIT(data, 7); @@ -83,7 +83,7 @@ WRITE8_MEMBER(atarifb_state::soccer_out1_w) WRITE8_MEMBER(atarifb_state::atarifb_out2_w) { - m_discrete->write(space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd + m_discrete->write(ATARIFB_CROWD_DATA, data & 0x0f); // Crowd machine().bookkeeping().coin_counter_w(0, data & 0x10); } @@ -91,7 +91,7 @@ WRITE8_MEMBER(atarifb_state::atarifb_out2_w) WRITE8_MEMBER(atarifb_state::soccer_out2_w) { - m_discrete->write(space, ATARIFB_CROWD_DATA, data & 0x0f); // Crowd + m_discrete->write(ATARIFB_CROWD_DATA, data & 0x0f); // Crowd machine().bookkeeping().coin_counter_w(0, data & 0x10); machine().bookkeeping().coin_counter_w(1, data & 0x20); diff --git a/src/mame/machine/hec2hrp.cpp b/src/mame/machine/hec2hrp.cpp index e3ebb222511..4ea4d7b1bf7 100644 --- a/src/mame/machine/hec2hrp.cpp +++ b/src/mame/machine/hec2hrp.cpp @@ -376,7 +376,7 @@ WRITE8_MEMBER(hec2hrp_state::color_b_w) if (data & 0x40) m_hector_color[2] |= 8; else m_hector_color[2] &= 7; /* Play bit*/ - m_discrete->write(space, NODE_01, (data & 0x80) ? 0:1 ); + m_discrete->write(NODE_01, (data & 0x80) ? 0:1 ); } diff --git a/src/mame/machine/nitedrvr.cpp b/src/mame/machine/nitedrvr.cpp index 437f393dc2b..500e7bf5e6d 100644 --- a/src/mame/machine/nitedrvr.cpp +++ b/src/mame/machine/nitedrvr.cpp @@ -209,9 +209,9 @@ D5 = SKID2 WRITE8_MEMBER(nitedrvr_state::nitedrvr_out0_w) { - 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 + m_discrete->write(NITEDRVR_MOTOR_DATA, data & 0x0f); // Motor freq data + m_discrete->write(NITEDRVR_SKID1_EN, data & 0x10); // Skid1 enable + m_discrete->write(NITEDRVR_SKID2_EN, data & 0x20); // Skid2 enable } /*************************************************************************** @@ -231,8 +231,8 @@ WRITE8_MEMBER(nitedrvr_state::nitedrvr_out1_w) m_crash_en = data & 0x01; - 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) + m_discrete->write(NITEDRVR_CRASH_EN, m_crash_en); // Crash enable + m_discrete->write(NITEDRVR_ATTRACT_EN, data & 0x02); // Attract enable (sound disable) if (!m_crash_en) { @@ -243,7 +243,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 */ } - m_discrete->write(space, NITEDRVR_BANG_DATA, m_crash_data_en ? m_crash_data : 0); // Crash Volume + m_discrete->write(NITEDRVR_BANG_DATA, m_crash_data_en ? m_crash_data : 0); // Crash Volume } @@ -252,8 +252,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nitedrvr_state::nitedrvr_crash_toggle_callback) if (m_crash_en && m_crash_data_en) { m_crash_data--; - address_space &space = machine().dummy_space(); - m_discrete->write(space, NITEDRVR_BANG_DATA, m_crash_data); // Crash Volume + m_discrete->write(NITEDRVR_BANG_DATA, m_crash_data); // Crash Volume if (!m_crash_data) m_crash_data_en = 0; // Done counting? diff --git a/src/mame/machine/v1050kb.cpp b/src/mame/machine/v1050kb.cpp index c3720032620..34621aee694 100644 --- a/src/mame/machine/v1050kb.cpp +++ b/src/mame/machine/v1050kb.cpp @@ -381,7 +381,7 @@ WRITE8_MEMBER( v1050_keyboard_device::kb_p2_w ) m_led = BIT(data, 5); // speaker output - m_discrete->write(space, NODE_01, BIT(data, 6)); + m_discrete->write(NODE_01, BIT(data, 6)); // serial output m_out_tx_handler(BIT(data, 7)); diff --git a/src/mame/video/sprint4.cpp b/src/mame/video/sprint4.cpp index 0c7429ef3c8..46aeab82472 100644 --- a/src/mame/video/sprint4.cpp +++ b/src/mame/video/sprint4.cpp @@ -123,11 +123,10 @@ WRITE_LINE_MEMBER(sprint4_state::screen_vblank) /* update sound status */ - address_space &space = machine().dummy_space(); - m_discrete->write(space, SPRINT4_MOTOR_DATA_1, m_videoram[0x391] & 15); - m_discrete->write(space, SPRINT4_MOTOR_DATA_2, m_videoram[0x393] & 15); - m_discrete->write(space, SPRINT4_MOTOR_DATA_3, m_videoram[0x395] & 15); - m_discrete->write(space, SPRINT4_MOTOR_DATA_4, m_videoram[0x397] & 15); + m_discrete->write(SPRINT4_MOTOR_DATA_1, m_videoram[0x391] & 15); + m_discrete->write(SPRINT4_MOTOR_DATA_2, m_videoram[0x393] & 15); + m_discrete->write(SPRINT4_MOTOR_DATA_3, m_videoram[0x395] & 15); + m_discrete->write(SPRINT4_MOTOR_DATA_4, m_videoram[0x397] & 15); } } diff --git a/src/mame/video/subs.cpp b/src/mame/video/subs.cpp index 7fb8c6bf2e4..4611c1e01cd 100644 --- a/src/mame/video/subs.cpp +++ b/src/mame/video/subs.cpp @@ -109,9 +109,8 @@ uint32_t subs_state::screen_update_left(screen_device &screen, bitmap_ind16 &bit } /* Update sound */ - address_space &space = machine().dummy_space(); - m_discrete->write(space, SUBS_LAUNCH_DATA, m_spriteram[5] & 0x0f); // Launch data - m_discrete->write(space, SUBS_CRASH_DATA, m_spriteram[5] >> 4); // Crash/explode data + m_discrete->write(SUBS_LAUNCH_DATA, m_spriteram[5] & 0x0f); // Launch data + m_discrete->write(SUBS_CRASH_DATA, m_spriteram[5] >> 4); // Crash/explode data return 0; } diff --git a/src/mame/video/triplhnt.cpp b/src/mame/video/triplhnt.cpp index 0984d3f99de..922ab970b19 100644 --- a/src/mame/video/triplhnt.cpp +++ b/src/mame/video/triplhnt.cpp @@ -126,8 +126,7 @@ uint32_t triplhnt_state::screen_update(screen_device &screen, bitmap_ind16 &bitm draw_sprites(bitmap, cliprect); - address_space &space = machine().dummy_space(); - 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); + m_discrete->write(TRIPLHNT_BEAR_ROAR_DATA, m_playfield_ram[0xfa] & 15); + m_discrete->write(TRIPLHNT_SHOT_DATA, m_playfield_ram[0xfc] & 15); return 0; } diff --git a/src/mame/video/ultratnk.cpp b/src/mame/video/ultratnk.cpp index 68113aec3c6..7219f0edee5 100644 --- a/src/mame/video/ultratnk.cpp +++ b/src/mame/video/ultratnk.cpp @@ -127,10 +127,8 @@ WRITE_LINE_MEMBER(ultratnk_state::screen_vblank) } /* update sound status */ - - address_space &space = machine().dummy_space(); - m_discrete->write(space, ULTRATNK_MOTOR_DATA_1, m_videoram[0x391] & 15); - m_discrete->write(space, ULTRATNK_MOTOR_DATA_2, m_videoram[0x393] & 15); + m_discrete->write(ULTRATNK_MOTOR_DATA_1, m_videoram[0x391] & 15); + m_discrete->write(ULTRATNK_MOTOR_DATA_2, m_videoram[0x393] & 15); } } -- cgit v1.2.3