diff options
Diffstat (limited to 'src/mame/audio/mw8080bw.cpp')
-rw-r--r-- | src/mame/audio/mw8080bw.cpp | 167 |
1 files changed, 83 insertions, 84 deletions
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 */ } |