summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/pce_cd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/pce_cd.cpp')
-rw-r--r--src/mame/machine/pce_cd.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/mame/machine/pce_cd.cpp b/src/mame/machine/pce_cd.cpp
index 94986e2a424..484395b6981 100644
--- a/src/mame/machine/pce_cd.cpp
+++ b/src/mame/machine/pce_cd.cpp
@@ -241,23 +241,22 @@ void pce_cd_device::nvram_init(nvram_device &nvram, void *data, size_t size)
}
// TODO: left and right speaker tags should be passed from the parent config, instead of using the hard-coded ones below!?!
- MACHINE_CONFIG_START(pce_cd_device::device_add_mconfig)
- NVRAM(config, "bram").set_custom_handler(FUNC(pce_cd_device::nvram_init));
-
- MCFG_CDROM_ADD("cdrom")
- MCFG_CDROM_INTERFACE("pce_cdrom")
+void pce_cd_device::device_add_mconfig(machine_config &config)
+{
+ NVRAM(config, m_nvram).set_custom_handler(FUNC(pce_cd_device::nvram_init));
- MCFG_DEVICE_ADD( "msm5205", MSM5205, PCE_CD_CLOCK / 6 )
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, pce_cd_device, msm5205_int)) /* interrupt function */
- MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 1/48 prescaler, 4bit data */
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "^lspeaker", 0.50 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "^rspeaker", 0.50 )
+ CDROM(config, m_cdrom).set_interface("pce_cdrom");
- MCFG_DEVICE_ADD( "cdda", CDDA )
- MCFG_SOUND_ROUTE( 0, "^lspeaker", 1.00 )
- MCFG_SOUND_ROUTE( 1, "^rspeaker", 1.00 )
-MACHINE_CONFIG_END
+ MSM5205(config, m_msm, PCE_CD_CLOCK / 6);
+ m_msm->vck_legacy_callback().set(FUNC(pce_cd_device::msm5205_int)); /* interrupt function */
+ m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 1/48 prescaler, 4bit data */
+ m_msm->add_route(ALL_OUTPUTS, "^lspeaker", 0.50);
+ m_msm->add_route(ALL_OUTPUTS, "^rspeaker", 0.50);
+ CDDA(config, m_cdda);
+ m_cdda->add_route(0, "^lspeaker", 1.00);
+ m_cdda->add_route(1, "^rspeaker", 1.00);
+}
void pce_cd_device::adpcm_stop(uint8_t irq_flag)
{