summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/galaxold.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/galaxold.cpp')
-rw-r--r--src/mame/drivers/galaxold.cpp39
1 files changed, 21 insertions, 18 deletions
diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp
index 3396ffdc94b..b66bdceb980 100644
--- a/src/mame/drivers/galaxold.cpp
+++ b/src/mame/drivers/galaxold.cpp
@@ -102,6 +102,7 @@ Stephh's notes (based on the games Z80 code and some tests) for other games :
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/s2650/s2650.h"
+#include "machine/watchdog.h"
#include "sound/ay8910.h"
#include "sound/sn76496.h"
#include "sound/dac.h"
@@ -167,7 +168,7 @@ static ADDRESS_MAP_START( galaxold_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7fff) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x7800, 0x7800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0xfffc, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -195,7 +196,7 @@ static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xb800, 0xb800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -215,7 +216,7 @@ static ADDRESS_MAP_START( hustlerb3_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1")
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW0")
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xa004, 0xa007) AM_DEVWRITE("cust", galaxian_sound_device, lfo_freq_w)
AM_RANGE(0xa800, 0xa802) AM_DEVWRITE("cust", galaxian_sound_device, background_enable_w)
@@ -253,7 +254,7 @@ static ADDRESS_MAP_START( rockclim_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW0") AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xb800, 0xb800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -281,7 +282,7 @@ static ADDRESS_MAP_START( ckongg_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xc804, 0xc804) AM_WRITENOP // link cut
AM_RANGE(0xc806, 0xc806) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xc807, 0xc807) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xcc00, 0xcc00) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0xcc00, 0xcc00) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
/* Memory map based on mooncrst_map according to Z80 code - seems to be good but needs further checking */
@@ -308,7 +309,7 @@ static ADDRESS_MAP_START( ckongmc_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITENOP /* AM_WRITE(galaxold_stars_enable_w) */
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w) /* GUESS */
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w) /* GUESS */
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w) /* GUESS */
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w) /* GUESS */
ADDRESS_MAP_END
@@ -336,7 +337,7 @@ static ADDRESS_MAP_START( scramblb_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x7800, 0x7800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0x8102, 0x8102) AM_READ(scramblb_protection_1_r)
AM_RANGE(0x8202, 0x8202) AM_READ(scramblb_protection_2_r)
@@ -364,7 +365,7 @@ static ADDRESS_MAP_START( scramb2_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7007) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7007) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x7006, 0x7006) AM_WRITENOP
AM_RANGE(0x7007, 0x7007) AM_WRITENOP
AM_RANGE(0x7800, 0x7807) AM_READ(scramb2_port2_r) // reads from 8 addresses, 1 bit per address
@@ -406,7 +407,7 @@ static ADDRESS_MAP_START( scrambler_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x7800, 0x7800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
// AM_RANGE(0x8102, 0x8102) AM_READ(scramblb_protection_1_r)
AM_RANGE(0x8202, 0x8202) AM_READ(scrambler_protection_2_r)
@@ -451,7 +452,7 @@ static ADDRESS_MAP_START( guttang_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN2")
AM_RANGE(0x7001, 0x7001) AM_WRITE(galaxold_nmi_enable_w)
- AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0x7800, 0x7800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -480,7 +481,7 @@ static ADDRESS_MAP_START( _4in1_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x78ff) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x78ff) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x7800, 0x78ff) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0x8000, 0x8000) AM_WRITE(_4in1_bank_w)
AM_RANGE(0xc000, 0xdfff) AM_ROM /* fixed menu code */
@@ -505,7 +506,7 @@ static ADDRESS_MAP_START( bagmanmc_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb002, 0xb002) AM_WRITE(galaxold_gfxbank_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -531,7 +532,7 @@ static ADDRESS_MAP_START( dkongjrm_map, AS_PROGRAM, 8, galaxold_state )
//AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -544,7 +545,7 @@ static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x8860, 0x887f) AM_RAM AM_SHARE("bulletsram")
AM_RANGE(0x8880, 0x8bff) AM_WRITENOP
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9800, 0x9800) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x9800, 0x9800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa7ff, 0xa7ff) AM_READ_PORT("IN0") /* mirror */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") AM_DEVWRITE("cust", galaxian_sound_device, background_enable_w)
@@ -556,7 +557,7 @@ static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
@@ -576,7 +577,7 @@ static ADDRESS_MAP_START( bongo, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_WRITENOP
+ AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITENOP
ADDRESS_MAP_END
static ADDRESS_MAP_START( bongo_io, AS_IO, 8, galaxold_state )
@@ -629,7 +630,7 @@ static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x1604, 0x1604) AM_MIRROR(0x6000) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0x1606, 0x1606) AM_MIRROR(0x6000) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x1607, 0x1607) AM_MIRROR(0x6000) AM_WRITE(galaxold_flip_screen_y_w)
- AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_ROM
@@ -653,7 +654,7 @@ static ADDRESS_MAP_START( spcwarp, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x1585, 0x1585) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, fire_enable_w)
AM_RANGE(0x1586, 0x1587) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, vol_w)
// everything else in the $16xx range is moved to $17xx
- AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READ(watchdog_reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
+ AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0x1700, 0x1700) AM_MIRROR(0x6000) AM_READ_PORT("DSW0")
AM_RANGE(0x1701, 0x1701) AM_MIRROR(0x6000) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0x1704, 0x1704) AM_MIRROR(0x6000) AM_WRITE(galaxold_stars_enable_w)
@@ -2223,6 +2224,8 @@ static MACHINE_CONFIG_START( galaxold_base, galaxold_state )
MCFG_TIMER_DRIVER_ADD("int_timer", galaxold_state, galaxold_interrupt_timer)
+ MCFG_WATCHDOG_ADD("watchdog")
+
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", galaxian)
MCFG_PALETTE_ADD("palette", 32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */