diff --git a/src/emu/machine/scsicd.c b/src/emu/machine/scsicd.c index 30e2889eecf..bec27eab5a2 100644 --- a/src/emu/machine/scsicd.c +++ b/src/emu/machine/scsicd.c @@ -49,7 +49,7 @@ void scsicd_device::device_reset() { scsihle_device::device_reset(); - cdrom = subdevice("image")->get_cdrom_file(); + SetDevice( subdevice("image")->get_cdrom_file() ); if( !cdrom ) { logerror( "SCSICD %s: no CD found!\n", tag() ); @@ -68,6 +68,7 @@ cdrom_interface scsicd_device::cd_intf = { 0, 0 }; static MACHINE_CONFIG_FRAGMENT(scsi_cdrom) MCFG_CDROM_ADD("image", scsicd_device::cd_intf) + MCFG_SOUND_ADD("cdda", CDDA, 0) MACHINE_CONFIG_END machine_config_constructor scsicd_device::device_mconfig_additions() const @@ -738,6 +739,7 @@ void scsicd_device::GetDevice( void **_cdrom ) void scsicd_device::SetDevice( void *_cdrom ) { cdrom = (cdrom_file *)_cdrom; + cdda_set_cdrom(subdevice("cdda"), cdrom); } int scsicd_device::GetSectorBytes() diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c index 2da7cf0c306..47c846319a6 100644 --- a/src/mame/drivers/firebeat.c +++ b/src/mame/drivers/firebeat.c @@ -1971,7 +1971,6 @@ INTERRUPT_GEN_MEMBER(firebeat_state::firebeat_interrupt) MACHINE_RESET_MEMBER(firebeat_state,firebeat) { - void *cd; int i; UINT8 *sound = memregion("ymz")->base(); @@ -1980,9 +1979,6 @@ MACHINE_RESET_MEMBER(firebeat_state,firebeat) sound[i] = m_flash[1]->read(i); sound[i+0x200000] = m_flash[2]->read(i); } - - m_atapi_device_data[1]->GetDevice( &cd ); - cdda_set_cdrom(machine().device("cdda"), cd); } const rtc65271_interface firebeat_rtc = @@ -2030,9 +2026,9 @@ static MACHINE_CONFIG_START( firebeat, firebeat_state ) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - MCFG_SOUND_ADD("cdda", CDDA, 0) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + MCFG_SOUND_MODIFY("scsi1:cdda") + MCFG_SOUND_ROUTE(0, "^^lspeaker", 1.0) + MCFG_SOUND_ROUTE(1, "^^rspeaker", 1.0) MACHINE_CONFIG_END @@ -2083,9 +2079,9 @@ static MACHINE_CONFIG_START( firebeat2, firebeat_state ) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - MCFG_SOUND_ADD("cdda", CDDA, 0) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + MCFG_SOUND_MODIFY("scsi1:cdda") + MCFG_SOUND_ROUTE(0, "^^lspeaker", 1.0) + MCFG_SOUND_ROUTE(1, "^^rspeaker", 1.0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c index 7f2a2d46a80..3546f103a9a 100644 --- a/src/mame/drivers/konamigv.c +++ b/src/mame/drivers/konamigv.c @@ -171,7 +171,6 @@ public: DECLARE_DRIVER_INIT(konamigv); DECLARE_DRIVER_INIT(btchamp); DECLARE_MACHINE_START(konamigv); - DECLARE_MACHINE_RESET(konamigv); }; /* EEPROM handlers */ @@ -319,15 +318,6 @@ MACHINE_START_MEMBER(konamigv_state,konamigv) save_item(NAME(m_btc_trackball_data)); } -MACHINE_RESET_MEMBER(konamigv_state,konamigv) -{ - /* also hook up CDDA audio to the CD-ROM drive */ - void *cdrom; - scsihle_device *scsidev = machine().device("scsi:cdrom"); - scsidev->GetDevice( &cdrom ); - cdda_set_cdrom(machine().device("cdda"), cdrom); -} - static void spu_irq(device_t *device, UINT32 data) { if (data) @@ -345,7 +335,6 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state ) MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psx_dma_write_delegate( FUNC( scsi_dma_write ), (konamigv_state *) owner ) ) MCFG_MACHINE_START_OVERRIDE(konamigv_state, konamigv ) - MCFG_MACHINE_RESET_OVERRIDE(konamigv_state, konamigv ) MCFG_EEPROM_93C46_ADD("eeprom") @@ -363,9 +352,9 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state ) MCFG_SOUND_ROUTE( 0, "lspeaker", 0.75 ) MCFG_SOUND_ROUTE( 1, "rspeaker", 0.75 ) - MCFG_SOUND_ADD( "cdda", CDDA, 0 ) - MCFG_SOUND_ROUTE( 0, "lspeaker", 1.0 ) - MCFG_SOUND_ROUTE( 1, "rspeaker", 1.0 ) + MCFG_SOUND_MODIFY( "scsi:cdrom:cdda" ) + MCFG_SOUND_ROUTE( 0, "^^^lspeaker", 1.0 ) + MCFG_SOUND_ROUTE( 1, "^^^rspeaker", 1.0 ) MACHINE_CONFIG_END diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c index 3da52c2b138..ff04ccd252f 100644 --- a/src/mame/drivers/ksys573.c +++ b/src/mame/drivers/ksys573.c @@ -1380,7 +1380,6 @@ static void update_mode( running_machine &machine ) current_cdrom = new_cdrom; state->m_cr589->SetDevice( new_cdrom ); - cdda_set_cdrom(machine.device("cdda"), new_cdrom); } } @@ -3066,9 +3065,9 @@ static MACHINE_CONFIG_START( konami573, ksys573_state ) MCFG_SOUND_ROUTE( 0, "lspeaker", 1.0 ) MCFG_SOUND_ROUTE( 1, "rspeaker", 1.0 ) - MCFG_SOUND_ADD( "cdda", CDDA, 0 ) - MCFG_SOUND_ROUTE( 0, "lspeaker", 1.0 ) - MCFG_SOUND_ROUTE( 1, "rspeaker", 1.0 ) + MCFG_SOUND_MODIFY( "cdrom:cdda" ) + MCFG_SOUND_ROUTE( 0, "^^lspeaker", 1.0 ) + MCFG_SOUND_ROUTE( 1, "^^rspeaker", 1.0 ) MCFG_M48T58_ADD( "m48t58" ) diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c index 3abe566dd5b..72ce32bbb21 100644 --- a/src/mame/drivers/twinkle.c +++ b/src/mame/drivers/twinkle.c @@ -272,7 +272,6 @@ public: DECLARE_READ16_MEMBER(twinkle_ide_r); DECLARE_WRITE16_MEMBER(twinkle_ide_w); DECLARE_DRIVER_INIT(twinkle); - DECLARE_MACHINE_RESET(twinkle); }; /* RTC */ @@ -871,15 +870,6 @@ DRIVER_INIT_MEMBER(twinkle_state,twinkle) i2cmem_wc_write( i2cmem, 0 ); } -MACHINE_RESET_MEMBER(twinkle_state,twinkle) -{ - /* also hook up CDDA audio to the CD-ROM drive */ - void *cdrom; - scsihle_device *scsidev = machine().device("scsi:cdrom"); - scsidev->GetDevice( &cdrom ); - cdda_set_cdrom(machine().device("cdda"), cdrom); -} - static void spu_irq(device_t *device, UINT32 data) { if (data) @@ -918,7 +908,6 @@ static MACHINE_CONFIG_START( twinkle, twinkle_state ) MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1200)) /* check TD pin on LTC1232 */ - MCFG_MACHINE_RESET_OVERRIDE(twinkle_state, twinkle ) MCFG_I2CMEM_ADD("security",i2cmem_interface) MCFG_SCSIBUS_ADD("scsi") @@ -942,9 +931,9 @@ static MACHINE_CONFIG_START( twinkle, twinkle_state ) MCFG_SOUND_ROUTE(0, "speakerleft", 1.0) MCFG_SOUND_ROUTE(1, "speakerright", 1.0) - MCFG_SOUND_ADD( "cdda", CDDA, 0 ) - MCFG_SOUND_ROUTE( 0, "speakerleft", 1.0 ) - MCFG_SOUND_ROUTE( 1, "speakerright", 1.0 ) + MCFG_SOUND_MODIFY( "scsi:cdrom:cdda" ) + MCFG_SOUND_ROUTE( 0, "^^^speakerleft", 1.0 ) + MCFG_SOUND_ROUTE( 1, "^^^speakerright", 1.0 ) MACHINE_CONFIG_END static INPUT_PORTS_START( twinkle ) diff --git a/src/mess/drivers/ip20.c b/src/mess/drivers/ip20.c index cfdccdc7964..827ec3d248f 100644 --- a/src/mess/drivers/ip20.c +++ b/src/mess/drivers/ip20.c @@ -18,7 +18,6 @@ #include "emu.h" #include "cpu/mips/mips3.h" -#include "sound/cdda.h" #include "machine/8530scc.h" #include "machine/sgi.h" #include "machine/eeprom.h" @@ -602,15 +601,15 @@ static MACHINE_CONFIG_START( ip204415, ip20_state ) MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD( "cdda", CDDA, 0 ) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_SCC8530_ADD("scc", 7000000, line_cb_t()) MCFG_SCSIBUS_ADD("scsi") MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_6) MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf) + MCFG_SOUND_MODIFY( "scsi:cdrom:cdda" ) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "^^^mono", 1.0) + MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56) MACHINE_CONFIG_END diff --git a/src/mess/drivers/ip22.c b/src/mess/drivers/ip22.c index 39036edc5d7..a78127e63a4 100644 --- a/src/mess/drivers/ip22.c +++ b/src/mess/drivers/ip22.c @@ -1663,14 +1663,15 @@ static MACHINE_CONFIG_START( ip225015, ip22_state ) MCFG_SOUND_ADD( "dac", DAC, 0 ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) - MCFG_SOUND_ADD( "cdda", CDDA, 0 ) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_SCSIBUS_ADD("scsi") MCFG_SCSIDEV_ADD("scsi:harddisk1", SCSIHD, SCSI_ID_1) MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_4) MCFG_WD33C93_ADD("scsi:wd33c93", wd33c93_intf) + + MCFG_SOUND_MODIFY( "scsi:cdrom:cdda" ) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "^^^lspeaker", 1.0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "^^^rspeaker", 1.0) + MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( ip224613, ip225015 )