diff options
Diffstat (limited to 'src/mame/drivers/nemesis.cpp')
-rw-r--r-- | src/mame/drivers/nemesis.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp index 90954e866a4..22de66cda54 100644 --- a/src/mame/drivers/nemesis.cpp +++ b/src/mame/drivers/nemesis.cpp @@ -51,6 +51,7 @@ So this is the correct behavior of real hardware, not an emulation bug. #include "emu.h" #include "cpu/m68000/m68000.h" #include "cpu/z80/z80.h" +#include "machine/watchdog.h" #include "sound/ay8910.h" #include "sound/2151intf.h" #include "sound/3812intf.h" @@ -277,7 +278,7 @@ static ADDRESS_MAP_START( nemesis_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x05c000, 0x05c001) AM_WRITE8(soundlatch_byte_w, 0x00ff) AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0") AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1") - AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x05c800, 0x05c801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0") AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1") AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2") @@ -312,7 +313,7 @@ static ADDRESS_MAP_START( gx400_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0") AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1") AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST") - AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x05c800, 0x05c801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0") AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1") AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2") @@ -343,7 +344,7 @@ static ADDRESS_MAP_START( konamigt_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x05c000, 0x05c001) AM_WRITE8(soundlatch_byte_w, 0x00ff) AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0") AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1") - AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x05c800, 0x05c801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0") AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1") AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2") @@ -378,7 +379,7 @@ static ADDRESS_MAP_START( rf2_gx400_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0") AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1") AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST") - AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x05c800, 0x05c801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0") AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1") AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2") @@ -440,7 +441,7 @@ static ADDRESS_MAP_START( salamand_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE8(soundlatch_byte_w, 0x00ff) AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0") - AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x0c0004, 0x0c0005) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */ AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1") AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2") @@ -465,7 +466,7 @@ static ADDRESS_MAP_START( blkpnthr_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x0a0000, 0x0a0001) AM_RAM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE8(soundlatch_byte_w, 0x00ff) AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0") - AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x0c0004, 0x0c0005) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */ AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1") AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2") @@ -493,7 +494,7 @@ static ADDRESS_MAP_START( citybomb_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x0f0006, 0x0f0007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */ AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW0") AM_RANGE(0x0f0010, 0x0f0011) AM_WRITE8(soundlatch_byte_w, 0x00ff) - AM_RANGE(0x0f0018, 0x0f0019) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x0f0018, 0x0f0019) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x0f0020, 0x0f0021) AM_READ(selected_ip_word_r) AM_WRITENOP /* WEC Le Mans 24 control? */ AM_RANGE(0x0f8000, 0x0f8001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ AM_RANGE(0x100000, 0x1bffff) AM_ROM @@ -520,7 +521,7 @@ static ADDRESS_MAP_START( nyanpani_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x070006, 0x070007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */ AM_RANGE(0x070008, 0x070009) AM_READ_PORT("DSW0") AM_RANGE(0x070010, 0x070011) AM_WRITE8(soundlatch_byte_w, 0x00ff) - AM_RANGE(0x070018, 0x070019) AM_WRITE(watchdog_reset16_w) /* probably */ + AM_RANGE(0x070018, 0x070019) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* probably */ AM_RANGE(0x078000, 0x078001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */ AM_RANGE(0x100000, 0x13ffff) AM_ROM AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(nemesis_videoram1_word_w) AM_SHARE("videoram1") /* VRAM */ @@ -588,7 +589,7 @@ static ADDRESS_MAP_START( hcrash_map, AS_PROGRAM, 16, nemesis_state ) AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0") AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("DSW1") AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("TEST") - AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE(watchdog_reset16_w) /* watchdog probably */ + AM_RANGE(0x0c0008, 0x0c0009) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* watchdog probably */ AM_RANGE(0x0c000a, 0x0c000b) AM_READ_PORT("IN0") AM_RANGE(0x0c2000, 0x0c2001) AM_READ(konamigt_input_word_r) /* Konami GT control */ AM_RANGE(0x0c2800, 0x0c2801) AM_WRITENOP @@ -1480,6 +1481,7 @@ static MACHINE_CONFIG_START( nemesis, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */ MCFG_CPU_PROGRAM_MAP(sound_map) /* fixed */ + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1534,6 +1536,7 @@ static MACHINE_CONFIG_START( gx400, nemesis_state ) MCFG_CPU_PROGRAM_MAP(gx400_sound_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1590,6 +1593,7 @@ static MACHINE_CONFIG_START( konamigt, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1644,6 +1648,7 @@ static MACHINE_CONFIG_START( rf2_gx400, nemesis_state ) MCFG_CPU_PROGRAM_MAP(gx400_sound_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1700,6 +1705,7 @@ static MACHINE_CONFIG_START( salamand, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(sal_sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1747,6 +1753,7 @@ static MACHINE_CONFIG_START( blkpnthr, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(blkpnthr_sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1790,6 +1797,7 @@ static MACHINE_CONFIG_START( citybomb, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(city_sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1837,6 +1845,7 @@ static MACHINE_CONFIG_START( nyanpani, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(city_sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -1884,6 +1893,7 @@ static MACHINE_CONFIG_START( hcrash, nemesis_state ) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(sal_sound_map) + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2638,6 +2648,7 @@ static MACHINE_CONFIG_START( bubsys, nemesis_state ) MCFG_CPU_PROGRAM_MAP(gx400_sound_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ + MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) |