diff options
Diffstat (limited to 'src/mame/drivers/dragrace.c')
-rw-r--r-- | src/mame/drivers/dragrace.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c index 841fa8ff6f9..c15d899a63c 100644 --- a/src/mame/drivers/dragrace.c +++ b/src/mame/drivers/dragrace.c @@ -44,6 +44,8 @@ static MACHINE_RESET( dragrace ) static void dragrace_update_misc_flags(const address_space *space) { + const device_config *discrete = devtag_get_device(space->machine, SOUND, "discrete"); + /* 0x0900 = set 3SPEED1 0x00000001 * 0x0901 = set 4SPEED1 0x00000002 * 0x0902 = set 5SPEED1 0x00000004 @@ -78,21 +80,21 @@ static void dragrace_update_misc_flags(const address_space *space) set_led_status(0, dragrace_misc_flags & 0x00008000); set_led_status(1, dragrace_misc_flags & 0x80000000); - discrete_sound_w(space, DRAGRACE_MOTOR1_DATA, ~dragrace_misc_flags & 0x0000001f); // Speed1 data* - discrete_sound_w(space, DRAGRACE_EXPLODE1_EN, (dragrace_misc_flags & 0x00000020) ? 1: 0); // Explosion1 enable - discrete_sound_w(space, DRAGRACE_SCREECH1_EN, (dragrace_misc_flags & 0x00000040) ? 1: 0); // Screech1 enable - discrete_sound_w(space, DRAGRACE_KLEXPL1_EN, (dragrace_misc_flags & 0x00000200) ? 1: 0); // KLEXPL1 enable - discrete_sound_w(space, DRAGRACE_MOTOR1_EN, (dragrace_misc_flags & 0x00000800) ? 1: 0); // Motor1 enable - - discrete_sound_w(space, DRAGRACE_MOTOR2_DATA, (~dragrace_misc_flags & 0x001f0000) >> 0x10); // Speed2 data* - discrete_sound_w(space, DRAGRACE_EXPLODE2_EN, (dragrace_misc_flags & 0x00200000) ? 1: 0); // Explosion2 enable - discrete_sound_w(space, DRAGRACE_SCREECH2_EN, (dragrace_misc_flags & 0x00400000) ? 1: 0); // Screech2 enable - discrete_sound_w(space, DRAGRACE_KLEXPL2_EN, (dragrace_misc_flags & 0x02000000) ? 1: 0); // KLEXPL2 enable - discrete_sound_w(space, DRAGRACE_MOTOR2_EN, (dragrace_misc_flags & 0x08000000) ? 1: 0); // Motor2 enable - - discrete_sound_w(space, DRAGRACE_ATTRACT_EN, (dragrace_misc_flags & 0x00001000) ? 1: 0); // Attract enable - discrete_sound_w(space, DRAGRACE_LOTONE_EN, (dragrace_misc_flags & 0x00002000) ? 1: 0); // LoTone enable - discrete_sound_w(space, DRAGRACE_HITONE_EN, (dragrace_misc_flags & 0x20000000) ? 1: 0); // HiTone enable + discrete_sound_w(discrete, DRAGRACE_MOTOR1_DATA, ~dragrace_misc_flags & 0x0000001f); // Speed1 data* + discrete_sound_w(discrete, DRAGRACE_EXPLODE1_EN, (dragrace_misc_flags & 0x00000020) ? 1: 0); // Explosion1 enable + discrete_sound_w(discrete, DRAGRACE_SCREECH1_EN, (dragrace_misc_flags & 0x00000040) ? 1: 0); // Screech1 enable + discrete_sound_w(discrete, DRAGRACE_KLEXPL1_EN, (dragrace_misc_flags & 0x00000200) ? 1: 0); // KLEXPL1 enable + discrete_sound_w(discrete, DRAGRACE_MOTOR1_EN, (dragrace_misc_flags & 0x00000800) ? 1: 0); // Motor1 enable + + discrete_sound_w(discrete, DRAGRACE_MOTOR2_DATA, (~dragrace_misc_flags & 0x001f0000) >> 0x10); // Speed2 data* + discrete_sound_w(discrete, DRAGRACE_EXPLODE2_EN, (dragrace_misc_flags & 0x00200000) ? 1: 0); // Explosion2 enable + discrete_sound_w(discrete, DRAGRACE_SCREECH2_EN, (dragrace_misc_flags & 0x00400000) ? 1: 0); // Screech2 enable + discrete_sound_w(discrete, DRAGRACE_KLEXPL2_EN, (dragrace_misc_flags & 0x02000000) ? 1: 0); // KLEXPL2 enable + discrete_sound_w(discrete, DRAGRACE_MOTOR2_EN, (dragrace_misc_flags & 0x08000000) ? 1: 0); // Motor2 enable + + discrete_sound_w(discrete, DRAGRACE_ATTRACT_EN, (dragrace_misc_flags & 0x00001000) ? 1: 0); // Attract enable + discrete_sound_w(discrete, DRAGRACE_LOTONE_EN, (dragrace_misc_flags & 0x00002000) ? 1: 0); // LoTone enable + discrete_sound_w(discrete, DRAGRACE_HITONE_EN, (dragrace_misc_flags & 0x20000000) ? 1: 0); // HiTone enable } static WRITE8_HANDLER( dragrace_misc_w ) |