summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/ddragon.cpp
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2019-01-02 23:40:39 +0100
committer mooglyguy <therealmogminer@gmail.com>2019-01-02 23:40:39 +0100
commit0fc7707b802b51e159d0b57a2309b6cb5e7ad45e (patch)
treef44f6234e6be13d7765bc8bf6afe8226bcfb47d9 /src/mame/drivers/ddragon.cpp
parentfbe69b5f0c35890443287ee1058230ffb51beaa4 (diff)
-devices/sound/msm5205: Removed unused MCFG_MSM6585 macros, nw
-audio/irem, drivers/appoooh, cabal, chinsan, combatsc, crgolf, dacholer, darius, ddragon, de_2: Removed MACHINE_CONFIG macros, nw -drivers/ashnojoe, battlera: Removed MACHINE_CONFIG macros and updated to use non-legacy MSM5205 VCK callback, nw
Diffstat (limited to 'src/mame/drivers/ddragon.cpp')
-rw-r--r--src/mame/drivers/ddragon.cpp166
1 files changed, 79 insertions, 87 deletions
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index fd423826143..192bd3140a3 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -941,20 +941,20 @@ GFXDECODE_END
*
*************************************/
-MACHINE_CONFIG_START(ddragon_state::ddragon)
-
+void ddragon_state::ddragon(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", HD6309E, MAIN_CLOCK / 4) /* HD63C09EP, 3 MHz */
- MCFG_DEVICE_PROGRAM_MAP(ddragon_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ddragon_state, ddragon_scanline, "screen", 0, 1)
+ HD6309E(config, m_maincpu, MAIN_CLOCK / 4); /* HD63C09EP, 3 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &ddragon_state::ddragon_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(ddragon_state::ddragon_scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("sub", HD63701, MAIN_CLOCK / 2) /* HD63701YOP, 6 MHz / 4 internally */
- MCFG_DEVICE_PROGRAM_MAP(sub_map)
+ HD63701(config, m_subcpu, MAIN_CLOCK / 2); /* HD63701YOP, 6 MHz / 4 internally */
+ m_subcpu->set_addrmap(AS_PROGRAM, &ddragon_state::sub_map);
- MCFG_DEVICE_ADD("soundcpu", MC6809, MAIN_CLOCK / 2) /* HD68A09P, 6 MHz / 4 internally */
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MC6809(config, m_soundcpu, MAIN_CLOCK / 2); /* HD68A09P, 6 MHz / 4 internally */
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ddragon_state::sound_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
+ config.m_minimum_quantum = attotime::from_hz(60000); /* heavy interleaving to sync up sprite<->main CPUs */
MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
@@ -963,10 +963,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ddragon);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 512);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
- MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
- MCFG_SCREEN_PALETTE(m_palette)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240);
+ m_screen->set_screen_update(FUNC(ddragon_state::screen_update_ddragon));
+ m_screen->set_palette(m_palette);
MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
@@ -981,26 +981,25 @@ MACHINE_CONFIG_START(ddragon_state::ddragon)
fmsnd.add_route(0, "mono", 0.60);
fmsnd.add_route(1, "mono", 0.60);
- MCFG_DEVICE_ADD("adpcm1", MSM5205, MAIN_CLOCK / 32)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_1)) /* interrupt function */
- MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8kHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
-
- MCFG_DEVICE_ADD("adpcm2", MSM5205, MAIN_CLOCK / 32)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_2)) /* interrupt function */
- MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8kHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
-MACHINE_CONFIG_END
+ MSM5205(config, m_adpcm[0], MAIN_CLOCK / 32);
+ m_adpcm[0]->vck_legacy_callback().set(FUNC(ddragon_state::dd_adpcm_int_1)); /* interrupt function */
+ m_adpcm[0]->set_prescaler_selector(msm5205_device::S48_4B); /* 8kHz */
+ m_adpcm[0]->add_route(ALL_OUTPUTS, "mono", 0.50);
+ MSM5205(config, m_adpcm[1], MAIN_CLOCK / 32);
+ m_adpcm[1]->vck_legacy_callback().set(FUNC(ddragon_state::dd_adpcm_int_2)); /* interrupt function */
+ m_adpcm[1]->set_prescaler_selector(msm5205_device::S48_4B); /* 8kHz */
+ m_adpcm[1]->add_route(ALL_OUTPUTS, "mono", 0.50);
+}
-MACHINE_CONFIG_START(ddragon_state::ddragonb)
+void ddragon_state::ddragonb(machine_config &config)
+{
ddragon(config);
/* basic machine hardware */
- MCFG_DEVICE_REPLACE("sub", HD6309E, MAIN_CLOCK / 8) /* 1.5MHz; labeled "ENC EL1200AR" on one PCB */
- MCFG_DEVICE_PROGRAM_MAP(sub_map)
-MACHINE_CONFIG_END
-
+ HD6309E(config.replace(), m_subcpu, MAIN_CLOCK / 8); /* 1.5MHz; labeled "ENC EL1200AR" on one PCB */
+ m_subcpu->set_addrmap(AS_PROGRAM, &ddragon_state::sub_map);
+}
void ddragon_state::ddragonba(machine_config &config)
{
@@ -1013,20 +1012,20 @@ void ddragon_state::ddragonba(machine_config &config)
}
-MACHINE_CONFIG_START(ddragon_state::ddragon6809)
-
+void ddragon_state::ddragon6809(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz */
- MCFG_DEVICE_PROGRAM_MAP(ddragon_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ddragon_state, ddragon_scanline, "screen", 0, 1)
+ MC6809E(config, m_maincpu, MAIN_CLOCK / 8); /* 1.5 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &ddragon_state::ddragon_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(ddragon_state::ddragon_scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("sub", MC6809E, MAIN_CLOCK / 8) /* 1.5 Mhz */
- MCFG_DEVICE_PROGRAM_MAP(sub_map)
+ MC6809E(config, m_subcpu, MAIN_CLOCK / 8); /* 1.5 Mhz */
+ m_subcpu->set_addrmap(AS_PROGRAM, &ddragon_state::sub_map);
- MCFG_DEVICE_ADD("soundcpu", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz */
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MC6809E(config, m_soundcpu, MAIN_CLOCK / 8); /* 1.5 MHz */
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ddragon_state::sound_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
+ config.m_minimum_quantum = attotime::from_hz(60000); /* heavy interleaving to sync up sprite<->main CPUs */
MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
@@ -1035,10 +1034,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon6809)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ddragon);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 512);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
- MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
- MCFG_SCREEN_PALETTE(m_palette)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240);
+ m_screen->set_screen_update(FUNC(ddragon_state::screen_update_ddragon));
+ m_screen->set_palette(m_palette);
MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
@@ -1053,32 +1052,31 @@ MACHINE_CONFIG_START(ddragon_state::ddragon6809)
fmsnd.add_route(0, "mono", 0.60);
fmsnd.add_route(1, "mono", 0.60);
- MCFG_DEVICE_ADD("adpcm1", MSM5205, MAIN_CLOCK/32)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_1)) /* interrupt function */
- MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8kHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+ MSM5205(config, m_adpcm[0], MAIN_CLOCK/32);
+ m_adpcm[0]->vck_legacy_callback().set(FUNC(ddragon_state::dd_adpcm_int_1)); /* interrupt function */
+ m_adpcm[0]->set_prescaler_selector(msm5205_device::S48_4B); /* 8kHz */
+ m_adpcm[0]->add_route(ALL_OUTPUTS, "mono", 0.50);
- MCFG_DEVICE_ADD("adpcm2", MSM5205, MAIN_CLOCK/32)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_2)) /* interrupt function */
- MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8kHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
-MACHINE_CONFIG_END
-
-
-MACHINE_CONFIG_START(ddragon_state::ddragon2)
+ MSM5205(config, m_adpcm[1], MAIN_CLOCK/32);
+ m_adpcm[1]->vck_legacy_callback().set(FUNC(ddragon_state::dd_adpcm_int_2)); /* interrupt function */
+ m_adpcm[1]->set_prescaler_selector(msm5205_device::S48_4B); /* 8kHz */
+ m_adpcm[1]->add_route(ALL_OUTPUTS, "mono", 0.50);
+}
+void ddragon_state::ddragon2(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", HD6309E, MAIN_CLOCK / 4) /* HD63C09EP, 3 MHz */
- MCFG_DEVICE_PROGRAM_MAP(dd2_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ddragon_state, ddragon_scanline, "screen", 0, 1)
+ HD6309E(config, m_maincpu, MAIN_CLOCK / 4); /* HD63C09EP, 3 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &ddragon_state::dd2_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(ddragon_state::ddragon_scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("sub", Z80, MAIN_CLOCK / 3) /* 4 MHz */
- MCFG_DEVICE_PROGRAM_MAP(dd2_sub_map)
+ Z80(config, m_subcpu, MAIN_CLOCK / 3); /* 4 MHz */
+ m_subcpu->set_addrmap(AS_PROGRAM, &ddragon_state::dd2_sub_map);
- MCFG_DEVICE_ADD("soundcpu", Z80, 3579545)
- MCFG_DEVICE_PROGRAM_MAP(dd2_sound_map)
+ Z80(config, m_soundcpu, 3579545);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ddragon_state::dd2_sound_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
+ config.m_minimum_quantum = attotime::from_hz(60000); /* heavy interleaving to sync up sprite<->main CPUs */
MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
@@ -1087,10 +1085,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ddragon);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 512);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
- MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
- MCFG_SCREEN_PALETTE(m_palette)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240);
+ m_screen->set_screen_update(FUNC(ddragon_state::screen_update_ddragon));
+ m_screen->set_palette(m_palette);
MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
@@ -1105,42 +1103,36 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2)
fmsnd.add_route(0, "mono", 0.60);
fmsnd.add_route(1, "mono", 0.60);
- MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
-MACHINE_CONFIG_END
-
+ okim6295_device &oki(OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
+ oki.add_route(ALL_OUTPUTS, "mono", 0.20);
+}
-MACHINE_CONFIG_START(darktowr_state::darktowr)
+void darktowr_state::darktowr(machine_config &config)
+{
ddragon(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(darktowr_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &darktowr_state::darktowr_map);
M68705P3(config, m_mcu, XTAL(4'000'000));
m_mcu->porta_w().set(FUNC(darktowr_state::mcu_port_a_w));
ADDRESS_MAP_BANK(config, "darktowr_bank").set_map(&darktowr_state::darktowr_banked_map).set_options(ENDIANNESS_BIG, 8, 17, 0x4000);
+}
- /* video hardware */
-MACHINE_CONFIG_END
-
-
-MACHINE_CONFIG_START(toffy_state::toffy)
+void toffy_state::toffy(machine_config &config)
+{
ddragon(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(toffy_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &toffy_state::toffy_map);
- MCFG_DEVICE_REMOVE("sub")
+ config.device_remove("sub");
/* sound hardware */
- MCFG_DEVICE_REMOVE("adpcm1")
- MCFG_DEVICE_REMOVE("adpcm2")
-MACHINE_CONFIG_END
-
-
+ config.device_remove("adpcm1");
+ config.device_remove("adpcm2");
+}
/*************************************
*