summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/videopin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/videopin.c')
-rw-r--r--src/mame/drivers/videopin.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 9caabd039fd..92616ee5335 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -22,8 +22,8 @@ static attotime time_released;
static UINT8 prev = 0;
static UINT8 mask = 0;
-static WRITE8_HANDLER(videopin_out1_w);
-static WRITE8_HANDLER(videopin_out2_w);
+static WRITE8_DEVICE_HANDLER(videopin_out1_w);
+static WRITE8_DEVICE_HANDLER(videopin_out2_w);
static void update_plunger(running_machine *machine)
@@ -66,14 +66,14 @@ static TIMER_CALLBACK( interrupt_callback )
static MACHINE_RESET( videopin )
{
- const address_space *space = cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const device_config *discrete = devtag_get_device(machine, SOUND, "discrete");
timer_set(machine, video_screen_get_time_until_pos(machine->primary_screen, 32, 0), NULL, 32, interrupt_callback);
/* both output latches are cleared on reset */
- videopin_out1_w(space, 0, 0);
- videopin_out2_w(space, 0, 0);
+ videopin_out1_w(discrete, 0, 0);
+ videopin_out2_w(discrete, 0, 0);
}
@@ -138,7 +138,7 @@ static WRITE8_HANDLER( videopin_led_w )
}
-static WRITE8_HANDLER( videopin_out1_w )
+static WRITE8_DEVICE_HANDLER( videopin_out1_w )
{
/* D0 => OCTAVE0 */
/* D1 => OCTACE1 */
@@ -152,16 +152,16 @@ static WRITE8_HANDLER( videopin_out1_w )
mask = ~data & 0x10;
if (mask)
- cpu_set_input_line(space->machine->cpu[0], INPUT_LINE_NMI, CLEAR_LINE);
+ cpu_set_input_line(device->machine->cpu[0], INPUT_LINE_NMI, CLEAR_LINE);
coin_lockout_global_w(~data & 0x08);
/* Convert octave data to divide value and write to sound */
- discrete_sound_w(space, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe);
+ discrete_sound_w(device, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe);
}
-static WRITE8_HANDLER( videopin_out2_w )
+static WRITE8_DEVICE_HANDLER( videopin_out2_w )
{
/* D0 => VOL0 */
/* D1 => VOL1 */
@@ -174,17 +174,17 @@ static WRITE8_HANDLER( videopin_out2_w )
coin_counter_w(0, data & 0x10);
- discrete_sound_w(space, VIDEOPIN_BELL_EN, data & 0x40); // Bell
- discrete_sound_w(space, VIDEOPIN_BONG_EN, data & 0x20); // Bong
- discrete_sound_w(space, VIDEOPIN_ATTRACT_EN, data & 0x80); // Attract
- discrete_sound_w(space, VIDEOPIN_VOL_DATA, data & 0x07); // Vol0,1,2
+ discrete_sound_w(device, VIDEOPIN_BELL_EN, data & 0x40); // Bell
+ discrete_sound_w(device, VIDEOPIN_BONG_EN, data & 0x20); // Bong
+ discrete_sound_w(device, VIDEOPIN_ATTRACT_EN, data & 0x80); // Attract
+ discrete_sound_w(device, VIDEOPIN_VOL_DATA, data & 0x07); // Vol0,1,2
}
-static WRITE8_HANDLER( videopin_note_dvsr_w )
+static WRITE8_DEVICE_HANDLER( videopin_note_dvsr_w )
{
/* note data */
- discrete_sound_w(space, VIDEOPIN_NOTE_DATA, ~data &0xff);
+ discrete_sound_w(device, VIDEOPIN_NOTE_DATA, ~data &0xff);
}
@@ -197,12 +197,12 @@ static WRITE8_HANDLER( videopin_note_dvsr_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAM_WRITE(videopin_video_ram_w) AM_BASE(&videopin_video_ram)
- AM_RANGE(0x0800, 0x0800) AM_READWRITE(videopin_misc_r, videopin_note_dvsr_w)
+ AM_RANGE(0x0800, 0x0800) AM_READ(videopin_misc_r) AM_DEVWRITE(SOUND, "discrete", videopin_note_dvsr_w)
AM_RANGE(0x0801, 0x0801) AM_WRITE(videopin_led_w)
AM_RANGE(0x0802, 0x0802) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0804, 0x0804) AM_WRITE(videopin_ball_w)
- AM_RANGE(0x0805, 0x0805) AM_WRITE(videopin_out1_w)
- AM_RANGE(0x0806, 0x0806) AM_WRITE(videopin_out2_w)
+ AM_RANGE(0x0805, 0x0805) AM_DEVWRITE(SOUND, "discrete", videopin_out1_w)
+ AM_RANGE(0x0806, 0x0806) AM_DEVWRITE(SOUND, "discrete", videopin_out2_w)
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("IN0")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("DSW")
AM_RANGE(0x2000, 0x3fff) AM_ROM