summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/spdodgeb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/spdodgeb.c')
-rw-r--r--src/mame/drivers/spdodgeb.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index 12be8d8e6d9..c22138dbd1a 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -61,12 +61,13 @@ static WRITE8_HANDLER( sound_command_w )
static WRITE8_HANDLER( spd_adpcm_w )
{
int chip = offset & 1;
+ const device_config *adpcm = devtag_get_device(space->machine, SOUND, (chip == 0) ? "msm1" : "msm2");
switch (offset/2)
{
case 3:
adpcm_idle[chip] = 1;
- msm5205_reset_w(chip,1);
+ msm5205_reset_w(adpcm,1);
break;
case 2:
@@ -79,7 +80,7 @@ static WRITE8_HANDLER( spd_adpcm_w )
case 0:
adpcm_idle[chip] = 0;
- msm5205_reset_w(chip,0);
+ msm5205_reset_w(adpcm,0);
break;
}
}
@@ -90,11 +91,11 @@ static void spd_adpcm_int(const device_config *device)
if (adpcm_pos[chip] >= adpcm_end[chip] || adpcm_pos[chip] >= 0x10000)
{
adpcm_idle[chip] = 1;
- msm5205_reset_w(chip,1);
+ msm5205_reset_w(device,1);
}
else if (adpcm_data[chip] != -1)
{
- msm5205_data_w(chip,adpcm_data[chip] & 0x0f);
+ msm5205_data_w(device,adpcm_data[chip] & 0x0f);
adpcm_data[chip] = -1;
}
else
@@ -102,7 +103,7 @@ static void spd_adpcm_int(const device_config *device)
UINT8 *ROM = memory_region(device->machine, "adpcm") + 0x10000 * chip;
adpcm_data[chip] = ROM[adpcm_pos[chip]++];
- msm5205_data_w(chip,adpcm_data[chip] >> 4);
+ msm5205_data_w(device,adpcm_data[chip] >> 4);
}
}
@@ -299,8 +300,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x2800, 0x2800) AM_WRITE(ym3812_control_port_0_w)
- AM_RANGE(0x2801, 0x2801) AM_WRITE(ym3812_write_port_0_w)
+ AM_RANGE(0x2800, 0x2801) AM_DEVWRITE(SOUND, "ym", ym3812_w)
AM_RANGE(0x3800, 0x3807) AM_WRITE(spd_adpcm_w)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
@@ -413,9 +413,9 @@ static GFXDECODE_START( spdodgeb )
GFXDECODE_END
-static void irq_handler(running_machine *machine, int irq)
+static void irq_handler(const device_config *device, int irq)
{
- cpu_set_input_line(machine->cpu[1],M6809_FIRQ_LINE,irq ? ASSERT_LINE : CLEAR_LINE);
+ cpu_set_input_line(device->machine->cpu[1],M6809_FIRQ_LINE,irq ? ASSERT_LINE : CLEAR_LINE);
}
static const ym3812_interface ym3812_config =