SCSICD now has a CDDA sub device [smf]

This commit is contained in:
smf- 2012-10-23 11:51:04 +00:00
parent f11fde8f53
commit 5717d1b228
7 changed files with 26 additions and 51 deletions

View File

@ -49,7 +49,7 @@ void scsicd_device::device_reset()
{
scsihle_device::device_reset();
cdrom = subdevice<cdrom_image_device>("image")->get_cdrom_file();
SetDevice( subdevice<cdrom_image_device>("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()

View File

@ -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

View File

@ -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<scsihle_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

View File

@ -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" )

View File

@ -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<scsihle_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 )

View File

@ -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

View File

@ -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 )