diff options
Diffstat (limited to 'src/mame/drivers/cninja.cpp')
-rw-r--r-- | src/mame/drivers/cninja.cpp | 215 |
1 files changed, 112 insertions, 103 deletions
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp index 5bd7276e6ca..6f2b1e92b90 100644 --- a/src/mame/drivers/cninja.cpp +++ b/src/mame/drivers/cninja.cpp @@ -791,11 +791,11 @@ MACHINE_RESET_MEMBER(cninja_state,robocop2) m_priority = 0; } -void cninja_state::cninja(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::cninja) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::cninja_map); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(cninja_map) h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000) / 8)); audiocpu.set_addrmap(AS_PROGRAM, &cninja_state::sound_map); @@ -808,15 +808,15 @@ void cninja_state::cninja(machine_config &config) irq.vblank_irq_callback().set_inputline(m_maincpu, 5); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248); - m_screen->set_screen_update(FUNC(cninja_state::screen_update_cninja)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248) + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninja) + MCFG_SCREEN_PALETTE(m_palette) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_cninja); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cninja) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); - BUFFERED_SPRITERAM16(config, m_spriteram[0]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(1); @@ -863,7 +863,8 @@ void cninja_state::cninja(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - YM2203(config, "ym1", XTAL(32'220'000) / 8).add_route(ALL_OUTPUTS, "mono", 0.60); + MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000) / 8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ @@ -871,20 +872,22 @@ void cninja_state::cninja(machine_config &config) ym2.add_route(0, "mono", 0.45); ym2.add_route(1, "mono", 0.45); - OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.75); + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) - OKIM6295(config, m_oki2, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60); -} + MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) +MACHINE_CONFIG_END -void cninja_state::stoneage(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::stoneage) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::cninja_map); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(cninja_map) - Z80(config, m_audiocpu, 3579545); - m_audiocpu->set_addrmap(AS_PROGRAM, &cninja_state::stoneage_s_map); + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(stoneage_s_map) deco_irq_device &irq(DECO_IRQ(config, "irq", 0)); irq.set_screen_tag(m_screen); @@ -893,17 +896,17 @@ void cninja_state::stoneage(machine_config &config) irq.vblank_irq_callback().set_inputline(m_maincpu, 5); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248); - m_screen->set_screen_update(FUNC(cninja_state::screen_update_cninja)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248) + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninja) + MCFG_SCREEN_PALETTE(m_palette) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_cninja); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cninja) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); MCFG_VIDEO_START_OVERRIDE(cninja_state,stoneage) - BUFFERED_SPRITERAM16(config, m_spriteram[0]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(1); @@ -955,33 +958,35 @@ void cninja_state::stoneage(machine_config &config) ymsnd.add_route(0, "mono", 0.45); ymsnd.add_route(1, "mono", 0.45); - OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.75); -} + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) +MACHINE_CONFIG_END -void cninja_state::cninjabl2(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::cninjabl2) stoneage(config); - m_audiocpu->set_addrmap(AS_PROGRAM, &cninja_state::cninjabl2_s_map); + MCFG_DEVICE_MODIFY("audiocpu") + MCFG_DEVICE_PROGRAM_MAP(cninjabl2_s_map) - m_screen->set_screen_update(FUNC(cninja_state::screen_update_cninjabl2)); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninjabl2) m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); - config.device_remove("ymsnd"); + MCFG_DEVICE_REMOVE("ymsnd") - okim6295_device &oki1(OKIM6295(config.replace(), "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_LOW)); - oki1.add_route(ALL_OUTPUTS, "mono", 1.0); - oki1.set_addrmap(0, &cninja_state::cninjabl2_oki_map); -} + MCFG_DEVICE_REPLACE("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_LOW) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MCFG_DEVICE_ADDRESS_MAP(0, cninjabl2_oki_map) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(cninja_state::cninjabl) -void cninja_state::cninjabl(machine_config &config) -{ /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::cninjabl_map); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(cninjabl_map) - Z80(config, m_audiocpu, 3579545); - m_audiocpu->set_addrmap(AS_PROGRAM, &cninja_state::cninjabl_sound_map); + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(cninjabl_sound_map) deco_irq_device &irq(DECO_IRQ(config, "irq", 0)); irq.set_screen_tag(m_screen); @@ -990,15 +995,15 @@ void cninja_state::cninjabl(machine_config &config) irq.vblank_irq_callback().set_inputline(m_maincpu, 5); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248); - m_screen->set_screen_update(FUNC(cninja_state::screen_update_cninjabl)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248) + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninjabl) + MCFG_SCREEN_PALETTE(m_palette) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_cninjabl); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cninjabl) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); - BUFFERED_SPRITERAM16(config, m_spriteram[0]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(1); @@ -1041,15 +1046,16 @@ void cninja_state::cninjabl(machine_config &config) ymsnd.add_route(0, "mono", 0.45); ymsnd.add_route(1, "mono", 0.45); - OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.75); -} + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) +MACHINE_CONFIG_END -void cninja_state::edrandy(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::edrandy) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::edrandy_map); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(edrandy_map) h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000) / 8)); audiocpu.set_addrmap(AS_PROGRAM, &cninja_state::sound_map); @@ -1062,15 +1068,15 @@ void cninja_state::edrandy(machine_config &config) irq.vblank_irq_callback().set_inputline(m_maincpu, 5); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248); - m_screen->set_screen_update(FUNC(cninja_state::screen_update_edrandy)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248) + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_edrandy) + MCFG_SCREEN_PALETTE(m_palette) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_cninja); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cninja) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); - BUFFERED_SPRITERAM16(config, m_spriteram[0]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(0); @@ -1116,7 +1122,8 @@ void cninja_state::edrandy(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - YM2203(config, "ym1", XTAL(32'220'000) / 8).add_route(ALL_OUTPUTS, "mono", 0.60); + MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000) / 8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ @@ -1124,17 +1131,19 @@ void cninja_state::edrandy(machine_config &config) ym2.add_route(0, "mono", 0.45); ym2.add_route(1, "mono", 0.45); - OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.75); + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) - OKIM6295(config, m_oki2, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60); -} + MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) +MACHINE_CONFIG_END -void cninja_state::robocop2(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::robocop2) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(28'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::robocop2_map); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(28'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(robocop2_map) h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000) / 8)); audiocpu.set_addrmap(AS_PROGRAM, &cninja_state::sound_map); @@ -1148,18 +1157,18 @@ void cninja_state::robocop2(machine_config &config) irq.vblank_irq_callback().set_inputline(m_maincpu, 5); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248); - m_screen->set_screen_update(FUNC(cninja_state::screen_update_robocop2)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248) + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_robocop2) + MCFG_SCREEN_PALETTE(m_palette) MCFG_MACHINE_START_OVERRIDE(cninja_state,robocop2) MCFG_MACHINE_RESET_OVERRIDE(cninja_state,robocop2) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_robocop2); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_robocop2) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); - BUFFERED_SPRITERAM16(config, m_spriteram[0]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(0); @@ -1208,9 +1217,9 @@ void cninja_state::robocop2(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - ym2203_device &ym1(YM2203(config, "ym1", XTAL(32'220'000) / 8)); - ym1.add_route(ALL_OUTPUTS, "lspeaker", 0.60); - ym1.add_route(ALL_OUTPUTS, "rspeaker", 0.60); + MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000) / 8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60) ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ @@ -1218,22 +1227,22 @@ void cninja_state::robocop2(machine_config &config) ym2.add_route(0, "lspeaker", 0.45); ym2.add_route(1, "rspeaker", 0.45); - okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH)); - oki1.add_route(ALL_OUTPUTS, "lspeaker", 0.75); - oki1.add_route(ALL_OUTPUTS, "rspeaker", 0.75); + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75) - OKIM6295(config, m_oki2, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH); - m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.60); - m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.60); -} + MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60) +MACHINE_CONFIG_END -void cninja_state::mutantf(machine_config &config) -{ +MACHINE_CONFIG_START(cninja_state::mutantf) + /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(28'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &cninja_state::mutantf_map); - m_maincpu->set_vblank_int("screen", FUNC(cninja_state::irq6_line_hold)); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(28'000'000) / 2) + MCFG_DEVICE_PROGRAM_MAP(mutantf_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cninja_state, irq6_line_hold) h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000) / 8)); audiocpu.set_addrmap(AS_PROGRAM, &cninja_state::sound_map_mutantf); @@ -1241,19 +1250,19 @@ void cninja_state::mutantf(machine_config &config) audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0); /* video hardware */ - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248); // same as robocop2? verify this from real pcb - m_screen->set_screen_update(FUNC(cninja_state::screen_update_mutantf)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248) // same as robocop2? verify this from real pcb + MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_mutantf) MCFG_MACHINE_START_OVERRIDE(cninja_state,robocop2) MCFG_MACHINE_RESET_OVERRIDE(cninja_state,robocop2) MCFG_VIDEO_START_OVERRIDE(cninja_state,mutantf) - GFXDECODE(config, m_gfxdecode, m_palette, gfx_mutantf); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_mutantf) PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048); - BUFFERED_SPRITERAM16(config, m_spriteram[0]); - BUFFERED_SPRITERAM16(config, m_spriteram[1]); + MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16) + MCFG_DEVICE_ADD("spriteram2", BUFFERED_SPRITERAM16) DECO16IC(config, m_deco_tilegen[0], 0); m_deco_tilegen[0]->set_split(0); @@ -1311,14 +1320,14 @@ void cninja_state::mutantf(machine_config &config) ymsnd.add_route(0, "lspeaker", 0.45); ymsnd.add_route(1, "rspeaker", 0.45); - okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH)); - oki1.add_route(ALL_OUTPUTS, "lspeaker", 0.75); - oki1.add_route(ALL_OUTPUTS, "rspeaker", 0.75); + MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75) - OKIM6295(config, m_oki2, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH); - m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.60); - m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.60); -} + MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'220'000) / 16, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60) +MACHINE_CONFIG_END /**********************************************************************************/ |