summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/kyugo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/kyugo.cpp')
-rw-r--r--src/mame/drivers/kyugo.cpp36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp
index 21c80927bfd..de6c30e318f 100644
--- a/src/mame/drivers/kyugo.cpp
+++ b/src/mame/drivers/kyugo.cpp
@@ -25,6 +25,7 @@
#include "emu.h"
#include "cpu/z80/z80.h"
+#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "includes/kyugo.h"
@@ -48,6 +49,11 @@ static ADDRESS_MAP_START( kyugo_main_map, AS_PROGRAM, 8, kyugo_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
+static ADDRESS_MAP_START( gyrodine_main_map, AS_PROGRAM, 8, kyugo_state )
+ AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
+ AM_IMPORT_FROM(kyugo_main_map)
+ADDRESS_MAP_END
+
/*************************************
@@ -75,6 +81,7 @@ ADDRESS_MAP_END
+
/*************************************
*
* Sub CPU memory handlers
@@ -508,7 +515,7 @@ INTERRUPT_GEN_MEMBER(kyugo_state::vblank_irq)
}
-static MACHINE_CONFIG_START( gyrodine, kyugo_state )
+static MACHINE_CONFIG_START( kyugo_base, kyugo_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */
@@ -548,7 +555,14 @@ static MACHINE_CONFIG_START( gyrodine, kyugo_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( repulse, gyrodine )
+static MACHINE_CONFIG_DERIVED( gyrodine, kyugo_base )
+ /* add watchdog */
+ MCFG_WATCHDOG_ADD("watchdog")
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(gyrodine_main_map)
+MACHINE_CONFIG_END
+
+static MACHINE_CONFIG_DERIVED( repulse, kyugo_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -556,7 +570,7 @@ static MACHINE_CONFIG_DERIVED( repulse, gyrodine )
MCFG_CPU_IO_MAP(repulse_sub_portmap)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( srdmissn, gyrodine )
+static MACHINE_CONFIG_DERIVED( srdmissn, kyugo_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -564,7 +578,7 @@ static MACHINE_CONFIG_DERIVED( srdmissn, gyrodine )
MCFG_CPU_IO_MAP(srdmissn_sub_portmap)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( flashgala, gyrodine )
+static MACHINE_CONFIG_DERIVED( flashgala, kyugo_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -572,7 +586,7 @@ static MACHINE_CONFIG_DERIVED( flashgala, gyrodine )
MCFG_CPU_IO_MAP(flashgala_sub_portmap)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_DERIVED( legend, gyrodine )
+static MACHINE_CONFIG_DERIVED( legend, kyugo_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -1342,12 +1356,6 @@ ROM_END
*
*************************************/
-DRIVER_INIT_MEMBER(kyugo_state,gyrodine)
-{
- /* add watchdog */
- m_maincpu->space(AS_PROGRAM).install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(kyugo_state::watchdog_reset_w),this));
-}
-
DRIVER_INIT_MEMBER(kyugo_state,srdmissn)
{
@@ -1366,9 +1374,9 @@ DRIVER_INIT_MEMBER(kyugo_state,srdmissn)
*
*************************************/
-GAME( 1984, gyrodine, 0, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux", "Gyrodine", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, gyrodinet, gyrodine, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux (Taito Corporation license)", "Gyrodine (Taito Corporation license)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, buzzard, gyrodine, gyrodine, gyrodine, kyugo_state, gyrodine, ROT90, "Crux", "Buzzard", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, gyrodine, 0, gyrodine, gyrodine, driver_device, 0, ROT90, "Crux", "Gyrodine", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, gyrodinet, gyrodine, gyrodine, gyrodine, driver_device, 0, ROT90, "Crux (Taito Corporation license)", "Gyrodine (Taito Corporation license)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, buzzard, gyrodine, gyrodine, gyrodine, driver_device, 0, ROT90, "Crux", "Buzzard", MACHINE_SUPPORTS_SAVE )
GAME( 1985, repulse, 0, repulse, repulse, driver_device, 0, ROT90, "Crux / Sega", "Repulse", MACHINE_SUPPORTS_SAVE )
GAME( 1985, 99lstwar, repulse, repulse, repulse, driver_device, 0, ROT90, "Crux / Proma", "'99: The Last War (set 1)", MACHINE_SUPPORTS_SAVE ) // Crux went bankrupt during Repulse development,
GAME( 1985, 99lstwara, repulse, repulse, repulse, driver_device, 0, ROT90, "Crux / Proma", "'99: The Last War (set 2)", MACHINE_SUPPORTS_SAVE ) // some of their staff later worked on the newer games on this hardware,