summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ninjakd2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ninjakd2.cpp')
-rw-r--r--src/mame/drivers/ninjakd2.cpp158
1 files changed, 77 insertions, 81 deletions
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index fae4c66587a..67528ba4bf9 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -966,133 +966,129 @@ void omegaf_state::machine_reset()
/*****************************************************************************/
-MACHINE_CONFIG_START(ninjakd2_state::ninjakd2_core)
-
+void ninjakd2_state::ninjakd2_core(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, MAIN_CLOCK_12/2) /* verified */
- MCFG_DEVICE_PROGRAM_MAP(ninjakd2_main_cpu)
+ Z80(config, m_maincpu, MAIN_CLOCK_12/2); /* verified */
+ m_maincpu->set_addrmap(AS_PROGRAM, &ninjakd2_state::ninjakd2_main_cpu);
- MCFG_DEVICE_ADD("soundcpu", Z80, MAIN_CLOCK_5) /* verified */
- MCFG_DEVICE_PROGRAM_MAP(ninjakd2_sound_cpu)
- MCFG_DEVICE_IO_MAP(ninjakd2_sound_io)
+ Z80(config, m_soundcpu, MAIN_CLOCK_5); /* verified */
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ninjakd2_state::ninjakd2_sound_cpu);
+ m_soundcpu->set_addrmap(AS_IO, &ninjakd2_state::ninjakd2_sound_io);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(59.61) /* verified on pcb */
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_ninjakd2)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, ninjakd2_state, screen_vblank_ninjakd2))
- MCFG_SCREEN_PALETTE(m_palette)
-
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ninjakd2)
- MCFG_PALETTE_ADD("palette", 0x300)
- MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(59.61); /* verified on pcb */
+ m_screen->set_size(32*8, 32*8);
+ m_screen->set_visarea(0*8, 32*8-1, 4*8, 28*8-1);
+ m_screen->set_screen_update(FUNC(ninjakd2_state::screen_update_ninjakd2));
+ m_screen->screen_vblank().set(FUNC(ninjakd2_state::screen_vblank_ninjakd2));
+ m_screen->set_palette(m_palette);
+
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_ninjakd2);
+ PALETTE(config, m_palette, 0x300);
+ m_palette->set_format(PALETTE_FORMAT_RRRRGGGGBBBBxxxx);
+ m_palette->set_endianness(ENDIANNESS_BIG);
/* sound hardware */
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, "soundlatch");
- MCFG_DEVICE_ADD("2203.1", YM2203, MAIN_CLOCK_12/8) /* verified */
- MCFG_YM2203_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
- MCFG_SOUND_ROUTE(0, "mono", 0.10)
- MCFG_SOUND_ROUTE(1, "mono", 0.10)
- MCFG_SOUND_ROUTE(2, "mono", 0.10)
- MCFG_SOUND_ROUTE(3, "mono", 0.50)
-
- MCFG_DEVICE_ADD("2203.2", YM2203, MAIN_CLOCK_12/8) /* verified */
- MCFG_SOUND_ROUTE(0, "mono", 0.10)
- MCFG_SOUND_ROUTE(1, "mono", 0.10)
- MCFG_SOUND_ROUTE(2, "mono", 0.10)
- MCFG_SOUND_ROUTE(3, "mono", 0.50)
-
- MCFG_DEVICE_ADD("pcm", SAMPLES)
- MCFG_SAMPLES_CHANNELS(1)
- MCFG_SAMPLES_START_CB(ninjakd2_state, ninjakd2_init_samples)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(ninjakd2_state::ninjakd2)
+ ym2203_device &ym2203_1(YM2203(config, "2203.1", MAIN_CLOCK_12/8)); /* verified */
+ ym2203_1.irq_handler().set_inputline("soundcpu", 0);
+ ym2203_1.add_route(0, "mono", 0.10);
+ ym2203_1.add_route(1, "mono", 0.10);
+ ym2203_1.add_route(2, "mono", 0.10);
+ ym2203_1.add_route(3, "mono", 0.50);
+
+ ym2203_device &ym2203_2(YM2203(config, "2203.2", MAIN_CLOCK_12/8)); /* verified */
+ ym2203_2.add_route(0, "mono", 0.10);
+ ym2203_2.add_route(1, "mono", 0.10);
+ ym2203_2.add_route(2, "mono", 0.10);
+ ym2203_2.add_route(3, "mono", 0.50);
+
+ SAMPLES(config, m_pcm);
+ m_pcm->set_channels(1);
+ m_pcm->set_samples_start_callback(FUNC(ninjakd2_state::ninjakd2_init_samples));
+ m_pcm->add_route(ALL_OUTPUTS, "mono", 0.80);
+}
+
+void ninjakd2_state::ninjakd2(machine_config &config)
+{
ninjakd2_core(config);
- MCFG_DEVICE_REPLACE("soundcpu", MC8123, MAIN_CLOCK_5) /* verified */
- MCFG_DEVICE_PROGRAM_MAP(ninjakd2_sound_cpu)
- MCFG_DEVICE_IO_MAP(ninjakd2_sound_io)
- MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
-MACHINE_CONFIG_END
+ MC8123(config.replace(), m_soundcpu, MAIN_CLOCK_5); /* verified */
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ninjakd2_state::ninjakd2_sound_cpu);
+ m_soundcpu->set_addrmap(AS_IO, &ninjakd2_state::ninjakd2_sound_io);
+ m_soundcpu->set_addrmap(AS_OPCODES, &ninjakd2_state::decrypted_opcodes_map);
+}
-MACHINE_CONFIG_START(ninjakd2_state::ninjakd2b)
+void ninjakd2_state::ninjakd2b(machine_config &config)
+{
ninjakd2_core(config);
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(ninjakd2_sound_cpu)
- MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
-MACHINE_CONFIG_END
+ m_soundcpu->set_addrmap(AS_PROGRAM, &ninjakd2_state::ninjakd2_sound_cpu);
+ m_soundcpu->set_addrmap(AS_OPCODES, &ninjakd2_state::decrypted_opcodes_map);
+}
-MACHINE_CONFIG_START(mnight_state::mnight)
+void mnight_state::mnight(machine_config &config)
+{
ninjakd2_core(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(mnight_main_cpu)
-
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
+ m_maincpu->set_addrmap(AS_PROGRAM, &mnight_state::mnight_main_cpu);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &mnight_state::ninjakid_nopcm_sound_cpu);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(mnight_state,mnight)
/* sound hardware */
- MCFG_DEVICE_REMOVE("pcm")
-MACHINE_CONFIG_END
+ config.device_remove("pcm");
+}
-MACHINE_CONFIG_START(mnight_state::arkarea)
+void mnight_state::arkarea(machine_config &config)
+{
mnight(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(mnight_state,arkarea)
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(robokid_state::robokid)
+void robokid_state::robokid(machine_config &config)
+{
mnight(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(robokid_main_cpu)
-
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
+ m_maincpu->set_addrmap(AS_PROGRAM, &robokid_state::robokid_main_cpu);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &robokid_state::ninjakid_nopcm_sound_cpu);
/* video hardware */
- MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_robokid)
- MCFG_PALETTE_MODIFY("palette")
- MCFG_PALETTE_ENTRIES(0x400) // RAM is this large, but still only 0x300 colors used
- MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
+ m_gfxdecode->set_info(gfx_robokid);
+ m_palette->set_entries(0x400); // RAM is this large, but still only 0x300 colors used
+ m_palette->set_format(PALETTE_FORMAT_RRRRGGGGBBBBxxxx);
+ m_palette->set_endianness(ENDIANNESS_BIG);
MCFG_VIDEO_START_OVERRIDE(robokid_state,robokid)
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(robokid_state,screen_update_robokid)
-MACHINE_CONFIG_END
-MACHINE_CONFIG_START(omegaf_state::omegaf)
+ m_screen->set_screen_update(FUNC(robokid_state::screen_update_robokid));
+}
+
+void omegaf_state::omegaf(machine_config &config)
+{
robokid(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(omegaf_main_cpu)
+ m_maincpu->set_addrmap(AS_PROGRAM, &omegaf_state::omegaf_main_cpu);
- MCFG_DEVICE_MODIFY("soundcpu")
- MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
+ m_soundcpu->set_addrmap(AS_PROGRAM, &omegaf_state::ninjakid_nopcm_sound_cpu);
// MCFG_MACHINE_START_OVERRIDE(ninjakd2_state,omegaf)
// MCFG_MACHINE_RESET_OVERRIDE(ninjakd2_state,omegaf)
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(omegaf_state,omegaf)
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(omegaf_state,screen_update_omegaf)
-MACHINE_CONFIG_END
+
+ m_screen->set_screen_update(FUNC(omegaf_state::screen_update_omegaf));
+}