diff options
Diffstat (limited to 'src/mame/drivers/vsnes.c')
-rw-r--r-- | src/mame/drivers/vsnes.c | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c index ee1152914de..07db65cae1b 100644 --- a/src/mame/drivers/vsnes.c +++ b/src/mame/drivers/vsnes.c @@ -186,45 +186,30 @@ static WRITE8_HANDLER( vsnes_coin_counter_1_w ) } /******************************************************************************/ -static READ8_HANDLER( psg_4015_r ) +static READ8_DEVICE_HANDLER( psg_4015_r ) { - return nes_psg_0_r(space, 0x15); + return nes_psg_r(device, 0x15); } -static WRITE8_HANDLER( psg_4015_w ) +static WRITE8_DEVICE_HANDLER( psg_4015_w ) { - nes_psg_0_w(space, 0x15, data); + nes_psg_w(device, 0x15, data); } -static WRITE8_HANDLER( psg_4017_w ) +static WRITE8_DEVICE_HANDLER( psg_4017_w ) { - nes_psg_0_w(space, 0x17, data); -} - -static READ8_HANDLER( psg1_4015_r ) -{ - return nes_psg_1_r(space, 0x15); -} - -static WRITE8_HANDLER( psg1_4015_w ) -{ - nes_psg_1_w(space, 0x15, data); -} - -static WRITE8_HANDLER( psg1_4017_w ) -{ - nes_psg_1_w(space, 0x17, data); + nes_psg_w(device, 0x17, data); } static ADDRESS_MAP_START( vsnes_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM AM_BASE(&work_ram) AM_RANGE(0x2000, 0x3fff) AM_READWRITE(ppu2c0x_0_r, ppu2c0x_0_w) - AM_RANGE(0x4011, 0x4011) AM_WRITE(dac_0_data_w) - AM_RANGE(0x4000, 0x4013) AM_READWRITE(nes_psg_0_r, nes_psg_0_w) + AM_RANGE(0x4011, 0x4011) AM_DEVWRITE(SOUND, "dac1", dac_w) + AM_RANGE(0x4000, 0x4013) AM_DEVREADWRITE(SOUND, "nes1", nes_psg_r, nes_psg_w) AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_0_w) - AM_RANGE(0x4015, 0x4015) AM_READWRITE(psg_4015_r, psg_4015_w) /* PSG status / first control register */ + AM_RANGE(0x4015, 0x4015) AM_DEVREADWRITE(SOUND, "nes1", psg_4015_r, psg_4015_w) /* PSG status / first control register */ AM_RANGE(0x4016, 0x4016) AM_READWRITE(vsnes_in0_r, vsnes_in0_w) - AM_RANGE(0x4017, 0x4017) AM_READWRITE(vsnes_in1_r, psg_4017_w) /* IN1 - input port 2 / PSG second control register */ + AM_RANGE(0x4017, 0x4017) AM_READ(vsnes_in1_r) AM_DEVWRITE(SOUND, "nes1", psg_4017_w) /* IN1 - input port 2 / PSG second control register */ AM_RANGE(0x4020, 0x4020) AM_READWRITE(vsnes_coin_counter_r, vsnes_coin_counter_w) AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -232,12 +217,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( vsnes_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM AM_BASE(&work_ram_1) AM_RANGE(0x2000, 0x3fff) AM_READWRITE(ppu2c0x_1_r, ppu2c0x_1_w) - AM_RANGE(0x4011, 0x4011) AM_WRITE(dac_1_data_w) - AM_RANGE(0x4000, 0x4013) AM_READWRITE(nes_psg_1_r, nes_psg_1_w) + AM_RANGE(0x4011, 0x4011) AM_DEVWRITE(SOUND, "dac2", dac_w) + AM_RANGE(0x4000, 0x4013) AM_DEVREADWRITE(SOUND, "nes2", nes_psg_r, nes_psg_w) AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_1_w) - AM_RANGE(0x4015, 0x4015) AM_READWRITE(psg1_4015_r, psg1_4015_w) /* PSG status / first control register */ + AM_RANGE(0x4015, 0x4015) AM_DEVREADWRITE(SOUND, "nes2", psg_4015_r, psg_4015_w) /* PSG status / first control register */ AM_RANGE(0x4016, 0x4016) AM_READWRITE(vsnes_in0_1_r, vsnes_in0_1_w) - AM_RANGE(0x4017, 0x4017) AM_READWRITE(vsnes_in1_1_r, psg1_4017_w) /* IN1 - input port 2 / PSG second control register */ + AM_RANGE(0x4017, 0x4017) AM_READ(vsnes_in1_1_r) AM_DEVWRITE(SOUND, "nes2", psg_4017_w) /* IN1 - input port 2 / PSG second control register */ AM_RANGE(0x4020, 0x4020) AM_WRITE(vsnes_coin_counter_1_w) AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -1800,11 +1785,11 @@ static MACHINE_DRIVER_START( vsnes ) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") - MDRV_SOUND_ADD("nes", NES, N2A03_DEFAULTCLOCK) + MDRV_SOUND_ADD("nes1", NES, N2A03_DEFAULTCLOCK) MDRV_SOUND_CONFIG(nes_interface_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MDRV_SOUND_ADD("dac", DAC, 0) + MDRV_SOUND_ADD("dac1", DAC, 0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_DRIVER_END |