summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mw8080bw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mw8080bw.cpp')
-rw-r--r--src/mame/drivers/mw8080bw.cpp72
1 files changed, 54 insertions, 18 deletions
diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp
index cc447c58aa1..0432644c43e 100644
--- a/src/mame/drivers/mw8080bw.cpp
+++ b/src/mame/drivers/mw8080bw.cpp
@@ -765,7 +765,7 @@ static ADDRESS_MAP_START( zzzap_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x05, 0x05) AM_WRITE(zzzap_audio_2_w)
- AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x07, 0x07) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
@@ -843,6 +843,8 @@ static MACHINE_CONFIG_DERIVED( zzzap, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(zzzap_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_M(1), CAP_U(1))) /* 1.1s */
/* add shifter */
@@ -905,7 +907,7 @@ WRITE8_MEMBER(mw8080bw_state::maze_io_w)
{
if (offset & 0x01) maze_coin_counter_w(space, 0, data);
- if (offset & 0x02) watchdog_reset_w(space, 0, data);
+ if (offset & 0x02) m_watchdog->reset_w(space, 0, data);
}
@@ -953,6 +955,8 @@ static MACHINE_CONFIG_DERIVED( maze, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(maze_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,maze)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* audio hardware */
@@ -987,7 +991,7 @@ static ADDRESS_MAP_START( boothill_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(boothill_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -1043,6 +1047,8 @@ static MACHINE_CONFIG_DERIVED( boothill, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(boothill_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,boothill)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* add shifter */
@@ -1065,7 +1071,7 @@ WRITE8_MEMBER(mw8080bw_state::checkmat_io_w)
{
if (offset & 0x01) checkmat_audio_w(space, 0, data);
- if (offset & 0x02) watchdog_reset_w(space, 0, data);
+ if (offset & 0x02) m_watchdog->reset_w(space, 0, data);
}
@@ -1147,6 +1153,8 @@ static MACHINE_CONFIG_DERIVED( checkmat, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(checkmat_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* audio hardware */
@@ -1211,7 +1219,7 @@ static ADDRESS_MAP_START( desertgu_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(desertgu_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_WRITE(desertgu_audio_2_w)
@@ -1273,6 +1281,8 @@ static MACHINE_CONFIG_DERIVED( desertgu, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(desertgu_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,desertgu)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1333,7 +1343,7 @@ static ADDRESS_MAP_START( dplay_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(dplay_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -1472,6 +1482,8 @@ static MACHINE_CONFIG_DERIVED( dplay, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(dplay_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1509,7 +1521,7 @@ static ADDRESS_MAP_START( gmissile_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(gmissile_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(gmissile_audio_2_w)
/* also writes 0x00 to 0x06, but it is not connected */
AM_RANGE(0x07, 0x07) AM_WRITE(gmissile_audio_3_w)
@@ -1566,6 +1578,8 @@ static MACHINE_CONFIG_DERIVED( gmissile, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(gmissile_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,gmissile)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1603,7 +1617,7 @@ static ADDRESS_MAP_START( m4_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(m4_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(m4_audio_2_w)
ADDRESS_MAP_END
@@ -1658,6 +1672,8 @@ static MACHINE_CONFIG_DERIVED( m4, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(m4_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,m4)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1716,7 +1732,7 @@ static ADDRESS_MAP_START( clowns_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(clowns_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_WRITE(clowns_audio_2_w)
@@ -1825,6 +1841,8 @@ static MACHINE_CONFIG_DERIVED( clowns, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(clowns_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1854,7 +1872,7 @@ static ADDRESS_MAP_START( spacwalk_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(spacwalk_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_WRITE(spacwalk_audio_2_w)
@@ -1919,6 +1937,8 @@ static MACHINE_CONFIG_DERIVED( spacwalk, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spacwalk_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1948,7 +1968,7 @@ static ADDRESS_MAP_START( shuffle_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_MIRROR(0x08) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_MIRROR(0x08) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
- AM_RANGE(0x04, 0x04) AM_MIRROR(0x08) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_MIRROR(0x08) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_MIRROR(0x08) AM_WRITE(shuffle_audio_1_w)
AM_RANGE(0x06, 0x06) AM_MIRROR(0x08) AM_WRITE(shuffle_audio_2_w)
ADDRESS_MAP_END
@@ -1999,6 +2019,8 @@ static MACHINE_CONFIG_DERIVED( shuffle, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(shuffle_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -2027,7 +2049,7 @@ static ADDRESS_MAP_START( dogpatch_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(dogpatch_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_WRITE(midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -2084,6 +2106,8 @@ static MACHINE_CONFIG_DERIVED( dogpatch, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(dogpatch_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -2146,7 +2170,7 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_io_w)
{ /* A7 A6 A5 A4 A3 A2 A1 A0 */
if ((offset & 0x07) == 0x02)
- watchdog_reset_w(space, 0, data); /* - - - - - 0 1 0 */
+ m_watchdog->reset_w(space, 0, data); /* - - - - - 0 1 0 */
else if ((offset & 0x5f) == 0x01)
spcenctr_audio_1_w(space, 0, data); /* - 0 - 0 0 0 0 1 */
@@ -2241,6 +2265,8 @@ static MACHINE_CONFIG_DERIVED( spcenctr, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spcenctr_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,spcenctr)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* timers */
@@ -2287,7 +2313,7 @@ static ADDRESS_MAP_START( phantom2_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(phantom2_audio_1_w)
AM_RANGE(0x06, 0x06) AM_WRITE(phantom2_audio_2_w)
ADDRESS_MAP_END
@@ -2335,6 +2361,8 @@ static MACHINE_CONFIG_DERIVED( phantom2, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(phantom2_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,phantom2)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* video hardware */
@@ -2414,7 +2442,7 @@ static ADDRESS_MAP_START( bowler_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE(bowler_audio_1_w)
AM_RANGE(0x06, 0x06) AM_WRITE(bowler_audio_2_w)
AM_RANGE(0x07, 0x07) AM_WRITE(bowler_lights_1_w)
@@ -2473,6 +2501,8 @@ static MACHINE_CONFIG_DERIVED( bowler, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(bowler_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -2598,7 +2628,7 @@ static ADDRESS_MAP_START( invaders_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_WRITE(invaders_audio_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invaders_audio_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
@@ -2683,6 +2713,8 @@ MACHINE_CONFIG_DERIVED( invaders, mw8080bw_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(invaders_io_map)
MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,invaders)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* video hardware */
@@ -2728,7 +2760,7 @@ static ADDRESS_MAP_START( blueshrk_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE(blueshrk_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
@@ -2765,6 +2797,8 @@ static MACHINE_CONFIG_DERIVED( blueshrk, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(blueshrk_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -2810,7 +2844,7 @@ static ADDRESS_MAP_START( invad2ct_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_WRITE(invad2ct_audio_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invad2ct_audio_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x07, 0x07) AM_WRITE(invad2ct_audio_4_w)
ADDRESS_MAP_END
@@ -2865,6 +2899,8 @@ static MACHINE_CONFIG_DERIVED( invad2ct, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(invad2ct_io_map)
+
+ MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */