summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/galaxian.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/galaxian.cpp')
-rw-r--r--src/mame/drivers/galaxian.cpp141
1 files changed, 90 insertions, 51 deletions
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 5a42a489a23..7b26ed35cfa 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -5708,7 +5708,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::konami_base, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::konami_base)
+ galaxian_base(config);
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
@@ -5781,8 +5782,9 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_2x_ay8910)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scramble_base, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::scramble_base)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */
MCFG_TIMER_DRIVER_ADD_PERIODIC("stars", galaxian_state, scramble_stars_blink_timer, PERIOD_OF_555_ASTABLE(100000, 10000, 0.00001))
@@ -5796,24 +5798,28 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(galaxian_state::galaxian, galaxian_base)
- MCFG_FRAGMENT_ADD(galaxian_audio)
+MACHINE_CONFIG_START(galaxian_state::galaxian)
+ galaxian_base(config);
+ galaxian_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::spactrai, galaxian)
+MACHINE_CONFIG_START(galaxian_state::spactrai)
+ galaxian(config);
/* strange memory map with RAM in the middle of ROM, there's a large block on the ROM board */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spactrai_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::pacmanbl, galaxian)
+MACHINE_CONFIG_START(galaxian_state::pacmanbl)
+ galaxian(config);
/* separate tile/sprite ROMs */
MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::tenspot, galaxian)
+MACHINE_CONFIG_START(galaxian_state::tenspot)
+ galaxian(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxian_state, fakechange_interrupt_gen)
@@ -5827,7 +5833,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::tenspot, galaxian)
MCFG_GFXDECODE_MODIFY("gfxdecode", tenspot)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::zigzag, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::zigzag)
+ galaxian_base(config);
/* separate tile/sprite ROMs */
MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
@@ -5842,7 +5849,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::zigzag, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::gmgalax, galaxian)
+MACHINE_CONFIG_START(galaxian_state::gmgalax)
+ galaxian(config);
/* banked video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gmgalax)
@@ -5852,22 +5860,25 @@ MACHINE_CONFIG_DERIVED(galaxian_state::gmgalax, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::mooncrst, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::mooncrst)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mooncrst_map)
- MCFG_FRAGMENT_ADD(mooncrst_audio)
+ mooncrst_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::moonqsr, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::moonqsr)
+ mooncrst(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(moonqsr_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::fantastc, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::fantastc)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -5895,7 +5906,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::timefgtr_scanline)
}
}
-MACHINE_CONFIG_DERIVED(galaxian_state::timefgtr, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::timefgtr)
+ galaxian_base(config);
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", galaxian_state, timefgtr_scanline, "screen", 0, 1)
@@ -5912,7 +5924,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::timefgtr, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::jumpbug, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::jumpbug)
+ galaxian_base(config);
MCFG_DEVICE_REMOVE("watchdog")
@@ -5926,7 +5939,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::jumpbug, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::checkman, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::checkman)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", Z80, 1620000) /* 1.62 MHz */
@@ -5942,7 +5956,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::checkman, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::checkmaj, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::checkmaj)
+ galaxian_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -5963,7 +5978,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::checkmaj, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::mshuttle, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::mshuttle)
+ galaxian_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -5976,7 +5992,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::mshuttle, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::kingball, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::kingball)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", Z80,5000000/2)
@@ -5992,8 +6009,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::kingball, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::frogger, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::frogger)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6001,8 +6019,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::frogger, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggermc, galaxian_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggermc)
+ galaxian_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6013,8 +6032,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggermc, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggers, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggers)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6022,8 +6042,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggers, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::frogf, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::frogf)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6031,24 +6052,27 @@ MACHINE_CONFIG_DERIVED(galaxian_state::frogf, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::turtles, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::turtles)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(turtles_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::amigo2, galaxian_base) // bootleg has no i8255s
+MACHINE_CONFIG_START(galaxian_state::amigo2) // bootleg has no i8255s
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amigo2_map)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+ konami_sound_2x_ay8910(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::turpins, turtles)
+MACHINE_CONFIG_START(galaxian_state::turpins)
+ turtles(config);
// the ROMs came from a blister, so there aren't PCB infos available. Chip types and clocks are guessed.
@@ -6061,8 +6085,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::turpins, turtles)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::theend, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::theend)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6073,7 +6098,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::theend, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scramble, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scramble)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(theend_map)
@@ -6084,7 +6110,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::scramble, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::explorer, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::explorer)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6107,7 +6134,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::explorer, galaxian_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::takeoff, explorer) // takeoff shares the same main map as explorer, but uses only one AY8912 for sound.
+MACHINE_CONFIG_START(galaxian_state::takeoff) // takeoff shares the same main map as explorer, but uses only one AY8912 for sound.
+ explorer(config);
MCFG_SOUND_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(12'000'000) / 8) // XTAL verified, divider not verified
@@ -6127,7 +6155,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::takeoff, explorer) // takeoff shares the
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scorpion, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scorpion)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(theend_map)
@@ -6147,7 +6176,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::scorpion, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::sfx, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::sfx)
+ scramble_base(config);
MCFG_DEVICE_REMOVE("watchdog")
/* alternate memory map */
@@ -6176,7 +6206,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::sfx, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::monsterz, sfx)
+MACHINE_CONFIG_START(galaxian_state::monsterz)
+ sfx(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6192,13 +6223,15 @@ MACHINE_CONFIG_DERIVED(galaxian_state::monsterz, sfx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scobra, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scobra)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(scobra_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteatergg, galaxian)
+MACHINE_CONFIG_START(galaxian_state::anteatergg)
+ galaxian(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6253,8 +6286,9 @@ Silkscreened label: "10041"
*/
-MACHINE_CONFIG_DERIVED(galaxian_state::quaak, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::quaak)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
MCFG_DEVICE_MODIFY("8910.0")
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r))
@@ -6264,8 +6298,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::quaak, konami_base)
MCFG_CPU_PROGRAM_MAP(scobra_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggeram, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggeram)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
MCFG_DEVICE_MODIFY("8910.0")
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r))
@@ -6276,7 +6311,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggeram, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteater, scobra)
+MACHINE_CONFIG_START(galaxian_state::anteater)
+ scobra(config);
/* quiet down the sounds */
MCFG_SOUND_MODIFY("konami")
@@ -6285,7 +6321,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteater, scobra)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteateruk, anteater)
+MACHINE_CONFIG_START(galaxian_state::anteateruk)
+ anteater(config);
/* strange memory map, maybe a kind of protection */
MCFG_CPU_MODIFY("maincpu")
@@ -6293,7 +6330,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteateruk, anteater)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteaterg, anteater)
+MACHINE_CONFIG_START(galaxian_state::anteaterg)
+ anteater(config);
/* strange memory map, maybe a kind of protection */
MCFG_CPU_MODIFY("maincpu")
@@ -6301,7 +6339,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteaterg, anteater)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::moonwar, scobra)
+MACHINE_CONFIG_START(galaxian_state::moonwar)
+ scobra(config);
MCFG_DEVICE_MODIFY("ppi8255_0")
MCFG_I8255_OUT_PORTC_CB(WRITE8(galaxian_state, moonwar_port_select_w))