Make watchdog timer a separate device

- Separate watchdog implementation from running_machine (once again) and driver_device
- Old-style methods, now hidden behind #ifdefs, will probably be safe to remove soon
This commit is contained in:
AJR 2016-04-30 16:31:47 -04:00
parent a717ba24ed
commit dafe4d8e22
356 changed files with 2191 additions and 721 deletions

View File

@ -2797,7 +2797,7 @@ end
--------------------------------------------------- ---------------------------------------------------
-- --
--@src/devices/machine/gen_latch.h,MACHINES["GEN_LATCH] = true --@src/devices/machine/gen_latch.h,MACHINES["GEN_LATCH"] = true
--------------------------------------------------- ---------------------------------------------------
if (MACHINES["GEN_LATCH"]~=null) then if (MACHINES["GEN_LATCH"]~=null) then
@ -2819,3 +2819,15 @@ if (MACHINES["FDC_PLL"]~=null) then
} }
end end
---------------------------------------------------
--
--@src/devices/machine/watchdog.h,MACHINES["WATCHDOG"] = true
---------------------------------------------------
if (MACHINES["WATCHDOG"]~=null) then
files {
MAME_DIR .. "src/devices/machine/watchdog.cpp",
MAME_DIR .. "src/devices/machine/watchdog.h",
}
end

View File

@ -570,6 +570,7 @@ MACHINES["PCI9050"] = true
--MACHINES["TMS1024"] = true --MACHINES["TMS1024"] = true
MACHINES["GENPC"] = true MACHINES["GENPC"] = true
MACHINES["GEN_LATCH"] = true MACHINES["GEN_LATCH"] = true
MACHINES["WATCHDOG"] = true
-------------------------------------------------- --------------------------------------------------
-- specify available bus cores -- specify available bus cores

View File

@ -577,6 +577,7 @@ MACHINES["NSC810"] = true
MACHINES["VT82C496"] = true MACHINES["VT82C496"] = true
MACHINES["GENPC"] = true MACHINES["GENPC"] = true
MACHINES["GEN_LATCH"] = true MACHINES["GEN_LATCH"] = true
MACHINES["WATCHDOG"] = true
-------------------------------------------------- --------------------------------------------------
-- specify available bus cores -- specify available bus cores

View File

@ -61,6 +61,7 @@ MACHINES["PIT8253"] = true
MACHINES["Z80CTC"] = true MACHINES["Z80CTC"] = true
MACHINES["68681"] = true MACHINES["68681"] = true
MACHINES["BANKDEV"] = true MACHINES["BANKDEV"] = true
MACHINES["WATCHDOG"] = true
-------------------------------------------------- --------------------------------------------------

View File

@ -136,6 +136,7 @@ static MACHINE_CONFIG_FRAGMENT( abc77 )
MCFG_CPU_IO_MAP(abc77_io) MCFG_CPU_IO_MAP(abc77_io)
// watchdog // watchdog
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(XTAL_4_608MHz/3/5/4096)) MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(XTAL_4_608MHz/3/5/4096))
// discrete sound // discrete sound
@ -425,6 +426,7 @@ abc77_device::abc77_device(const machine_config &mconfig, const char *tag, devic
device_t(mconfig, ABC77, "Luxor ABC 77", tag, owner, clock, "abc77", __FILE__), device_t(mconfig, ABC77, "Luxor ABC 77", tag, owner, clock, "abc77", __FILE__),
abc_keyboard_interface(mconfig, *this), abc_keyboard_interface(mconfig, *this),
m_maincpu(*this, I8035_TAG), m_maincpu(*this, I8035_TAG),
m_watchdog(*this, "watchdog"),
m_discrete(*this, DISCRETE_TAG), m_discrete(*this, DISCRETE_TAG),
m_x0(*this, "X0"), m_x0(*this, "X0"),
m_x1(*this, "X1"), m_x1(*this, "X1"),
@ -450,6 +452,7 @@ abc77_device::abc77_device(const machine_config &mconfig, device_type type, cons
device_t(mconfig, type, name, tag, owner, clock, shortname, source), device_t(mconfig, type, name, tag, owner, clock, shortname, source),
abc_keyboard_interface(mconfig, *this), abc_keyboard_interface(mconfig, *this),
m_maincpu(*this, I8035_TAG), m_maincpu(*this, I8035_TAG),
m_watchdog(*this, "watchdog"),
m_discrete(*this, DISCRETE_TAG), m_discrete(*this, DISCRETE_TAG),
m_x0(*this, "X0"), m_x0(*this, "X0"),
m_x1(*this, "X1"), m_x1(*this, "X1"),
@ -610,7 +613,7 @@ WRITE8_MEMBER( abc77_device::p2_w )
if (m_keylatch == 1) if (m_keylatch == 1)
{ {
machine().watchdog_reset(); m_watchdog->watchdog_reset();
} }
} }

View File

@ -13,6 +13,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/mcs48/mcs48.h" #include "cpu/mcs48/mcs48.h"
#include "machine/watchdog.h"
#include "abckb.h" #include "abckb.h"
#include "sound/discrete.h" #include "sound/discrete.h"
#include "sound/speaker.h" #include "sound/speaker.h"
@ -66,6 +67,7 @@ protected:
inline void key_down(int state); inline void key_down(int state);
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<discrete_sound_device> m_discrete; required_device<discrete_sound_device> m_discrete;
required_ioport m_x0; required_ioport m_x0;
required_ioport m_x1; required_ioport m_x1;

View File

@ -0,0 +1,223 @@
// license:BSD-3-Clause
// copyright-holders:Aaron Giles
/***************************************************************************
watchdog.c
Watchdog timer device.
***************************************************************************/
#include "emu.h"
#include "emuopts.h"
#include "watchdog.h"
//**************************************************************************
// WATCHDOG TIMER DEVICE
//**************************************************************************
const device_type WATCHDOG_TIMER = &device_creator<watchdog_timer_device>;
//-------------------------------------------------
// watchdog_timer_device - constructor
//-------------------------------------------------
watchdog_timer_device::watchdog_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, WATCHDOG_TIMER, "Watchdog timer", tag, owner, clock, "watchdog", __FILE__),
m_vblank_count(0),
m_time(attotime::zero),
m_screen_tag(nullptr)
{
}
//-------------------------------------------------
// static_set_vblank_count - configuration helper
// to set the number of VBLANKs
//-------------------------------------------------
void watchdog_timer_device::static_set_vblank_count(device_t &device, const char *screen_tag, INT32 count)
{
watchdog_timer_device &watchdog = downcast<watchdog_timer_device &>(device);
watchdog.m_screen_tag = screen_tag;
watchdog.m_vblank_count = count;
}
//-------------------------------------------------
// static_set_time - configuration helper to set
// the time until reset
//-------------------------------------------------
void watchdog_timer_device::static_set_time(device_t &device, attotime time)
{
watchdog_timer_device &watchdog = downcast<watchdog_timer_device &>(device);
watchdog.m_time = time;
}
//-------------------------------------------------
// device_validity_check - validate the device
// configuration
//-------------------------------------------------
void watchdog_timer_device::device_validity_check(validity_checker &valid) const
{
if (m_vblank_count != 0)
{
screen_device *screen = dynamic_cast<screen_device *>(siblingdevice(m_screen_tag));
if (screen == nullptr)
osd_printf_error("Invalid screen tag specified\n");
}
}
//-------------------------------------------------
// device_start - perform device-specific
// startup
//-------------------------------------------------
void watchdog_timer_device::device_start()
{
// initialize the watchdog
m_counter = 0;
m_timer = timer_alloc();
if (m_vblank_count != 0)
{
// fetch the screen
screen_device *screen = siblingdevice<screen_device>(m_screen_tag);
if (screen != nullptr)
screen->register_vblank_callback(vblank_state_delegate(FUNC(watchdog_timer_device::watchdog_vblank), this));
}
save_item(NAME(m_enabled));
save_item(NAME(m_counter));
}
//-------------------------------------------------
// device_reset - reset the device
//-------------------------------------------------
void watchdog_timer_device::device_reset()
{
// set up the watchdog timer; only start off enabled if explicitly configured
m_enabled = (m_vblank_count != 0 || m_time != attotime::zero);
watchdog_reset();
m_enabled = true;
}
//-------------------------------------------------
// device_timer - handle timer expiration events
//-------------------------------------------------
void watchdog_timer_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
watchdog_fired();
}
//-------------------------------------------------
// watchdog_reset - reset the watchdog timer
//-------------------------------------------------
void watchdog_timer_device::watchdog_reset()
{
// if we're not enabled, skip it
if (!m_enabled)
m_timer->adjust(attotime::never);
// VBLANK-based watchdog?
else if (m_vblank_count != 0)
m_counter = m_vblank_count;
// timer-based watchdog?
else if (m_time != attotime::zero)
m_timer->adjust(m_time);
// default to an obscene amount of time (3 seconds)
else
m_timer->adjust(attotime::from_seconds(3));
}
//-------------------------------------------------
// watchdog_enable - reset the watchdog timer
//-------------------------------------------------
void watchdog_timer_device::watchdog_enable(bool enable)
{
// when re-enabled, we reset our state
if (m_enabled != enable)
{
m_enabled = enable;
watchdog_reset();
}
}
//-------------------------------------------------
// watchdog_fired - trigger machine reset
//-------------------------------------------------
void watchdog_timer_device::watchdog_fired()
{
logerror("Reset caused by the watchdog!!!\n");
bool verbose = machine().options().verbose();
#ifdef MAME_DEBUG
verbose = true;
#endif
if (verbose)
popmessage("Reset caused by the watchdog!!!\n");
machine().schedule_soft_reset();
}
//-------------------------------------------------
// watchdog_vblank - VBLANK state callback for
// watchdog timers
//-------------------------------------------------
void watchdog_timer_device::watchdog_vblank(screen_device &screen, bool vblank_state)
{
// VBLANK starting
if (vblank_state && m_enabled)
{
// check the watchdog
if (m_vblank_count != 0)
if (--m_counter == 0)
watchdog_fired();
}
}
//**************************************************************************
// WATCHDOG READ/WRITE HELPERS
//**************************************************************************
//-------------------------------------------------
// 8-bit reset read/write handlers
//-------------------------------------------------
WRITE8_MEMBER( watchdog_timer_device::reset_w ) { watchdog_reset(); }
READ8_MEMBER( watchdog_timer_device::reset_r ) { watchdog_reset(); return space.unmap(); }
//-------------------------------------------------
// 16-bit reset read/write handlers
//-------------------------------------------------
WRITE16_MEMBER( watchdog_timer_device::reset16_w ) { watchdog_reset(); }
READ16_MEMBER( watchdog_timer_device::reset16_r ) { watchdog_reset(); return space.unmap(); }
//-------------------------------------------------
// 32-bit reset read/write handlers
//-------------------------------------------------
WRITE32_MEMBER( watchdog_timer_device::reset32_w ) { watchdog_reset(); }
READ32_MEMBER( watchdog_timer_device::reset32_r ) { watchdog_reset(); return space.unmap(); }

View File

@ -0,0 +1,95 @@
// license:BSD-3-Clause
// copyright-holders:Aaron Giles
#pragma once
#ifndef __WATCHDOG_H__
#define __WATCHDOG_H__
//**************************************************************************
// DEVICE CONFIGURATION MACROS
//**************************************************************************
#ifdef LEGACY_WATCHDOG
#undef MCFG_WATCHDOG_VBLANK_INIT
#undef MCFG_WATCHDOG_TIME_INIT
#define watchdog_reset_r MUST_USE_WATCHDOG_DEVICE_INSTEAD
#define watchdog_reset_w MUST_USE_WATCHDOG_DEVICE_INSTEAD
#define watchdog_reset16_r MUST_USE_WATCHDOG_DEVICE_INSTEAD
#define watchdog_reset16_w MUST_USE_WATCHDOG_DEVICE_INSTEAD
#define watchdog_reset32_r MUST_USE_WATCHDOG_DEVICE_INSTEAD
#define watchdog_reset32_w MUST_USE_WATCHDOG_DEVICE_INSTEAD
#endif
#define MCFG_WATCHDOG_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, WATCHDOG_TIMER, 0)
#define MCFG_WATCHDOG_MODIFY(_tag) \
MCFG_DEVICE_MODIFY(_tag)
#define MCFG_WATCHDOG_VBLANK_INIT(_screen, _count) \
watchdog_timer_device::static_set_vblank_count(*device, _screen, _count);
#define MCFG_WATCHDOG_TIME_INIT(_time) \
watchdog_timer_device::static_set_time(*device, _time);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> watchdog_timer_device
class watchdog_timer_device : public device_t
{
public:
// construction/destruction
watchdog_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// inline configuration helpers
static void static_set_vblank_count(device_t &device, const char *screen_tag, INT32 count);
static void static_set_time(device_t &device, attotime time);
// watchdog control
void watchdog_reset();
void watchdog_enable(bool enable = true);
INT32 get_vblank_counter() const { return m_counter; }
// read/write handlers
DECLARE_WRITE8_MEMBER( reset_w );
DECLARE_READ8_MEMBER( reset_r );
DECLARE_WRITE16_MEMBER( reset16_w );
DECLARE_READ16_MEMBER( reset16_r );
DECLARE_WRITE32_MEMBER( reset32_w );
DECLARE_READ32_MEMBER( reset32_r );
protected:
// device-level overrides
virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
// internal helpers
void watchdog_fired();
void watchdog_vblank(screen_device &screen, bool vblank_state);
// configuration data
INT32 m_vblank_count; // number of VBLANKs until resetting the machine
attotime m_time; // length of time until resetting the machine
const char * m_screen_tag; // the tag of the screen this timer tracks
// internal state
bool m_enabled; // is the watchdog enabled?
INT32 m_counter; // counter for VBLANK tracking
emu_timer * m_timer; // timer for triggering reset
};
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
extern const device_type WATCHDOG_TIMER;
#endif

View File

@ -381,6 +381,8 @@ INTERRUPT_GEN_MEMBER( driver_device::irq7_line_assert ) { device.execute().set_i
// WATCHDOG READ/WRITE HELPERS // WATCHDOG READ/WRITE HELPERS
//************************************************************************** //**************************************************************************
#ifdef LEGACY_WATCHDOG
//------------------------------------------------- //-------------------------------------------------
// 8-bit reset read/write handlers // 8-bit reset read/write handlers
//------------------------------------------------- //-------------------------------------------------
@ -404,6 +406,8 @@ READ16_MEMBER( driver_device::watchdog_reset16_r ) { machine().watchdog_reset();
WRITE32_MEMBER( driver_device::watchdog_reset32_w ) { machine().watchdog_reset(); } WRITE32_MEMBER( driver_device::watchdog_reset32_w ) { machine().watchdog_reset(); }
READ32_MEMBER( driver_device::watchdog_reset32_r ) { machine().watchdog_reset(); return space.unmap(); } READ32_MEMBER( driver_device::watchdog_reset32_r ) { machine().watchdog_reset(); return space.unmap(); }
#endif
//************************************************************************** //**************************************************************************

View File

@ -179,6 +179,7 @@ public:
INTERRUPT_GEN_MEMBER( irq7_line_pulse ); INTERRUPT_GEN_MEMBER( irq7_line_pulse );
INTERRUPT_GEN_MEMBER( irq7_line_assert ); INTERRUPT_GEN_MEMBER( irq7_line_assert );
#ifdef LEGACY_WATCHDOG
// watchdog read/write handlers // watchdog read/write handlers
DECLARE_WRITE8_MEMBER( watchdog_reset_w ); DECLARE_WRITE8_MEMBER( watchdog_reset_w );
DECLARE_READ8_MEMBER( watchdog_reset_r ); DECLARE_READ8_MEMBER( watchdog_reset_r );
@ -186,6 +187,7 @@ public:
DECLARE_READ16_MEMBER( watchdog_reset16_r ); DECLARE_READ16_MEMBER( watchdog_reset16_r );
DECLARE_WRITE32_MEMBER( watchdog_reset32_w ); DECLARE_WRITE32_MEMBER( watchdog_reset32_w );
DECLARE_READ32_MEMBER( watchdog_reset32_r ); DECLARE_READ32_MEMBER( watchdog_reset32_r );
#endif
// generic audio // generic audio
void soundlatch_setclearedvalue(UINT16 value) { m_latch_clear_value = value; } void soundlatch_setclearedvalue(UINT16 value) { m_latch_clear_value = value; }

View File

@ -230,6 +230,7 @@ void running_machine::start()
m_rom_load = make_unique_clear<rom_load_manager>(*this); m_rom_load = make_unique_clear<rom_load_manager>(*this);
m_memory.initialize(); m_memory.initialize();
#ifdef LEGACY_WATCHDOG
// initialize the watchdog // initialize the watchdog
m_watchdog_counter = 0; m_watchdog_counter = 0;
m_watchdog_timer = m_scheduler.timer_alloc(timer_expired_delegate(FUNC(running_machine::watchdog_fired), this)); m_watchdog_timer = m_scheduler.timer_alloc(timer_expired_delegate(FUNC(running_machine::watchdog_fired), this));
@ -237,6 +238,7 @@ void running_machine::start()
primary_screen->register_vblank_callback(vblank_state_delegate(FUNC(running_machine::watchdog_vblank), this)); primary_screen->register_vblank_callback(vblank_state_delegate(FUNC(running_machine::watchdog_vblank), this));
save().save_item(NAME(m_watchdog_enabled)); save().save_item(NAME(m_watchdog_enabled));
save().save_item(NAME(m_watchdog_counter)); save().save_item(NAME(m_watchdog_counter));
#endif
// save the random seed or save states might be broken in drivers that use the rand() method // save the random seed or save states might be broken in drivers that use the rand() method
save().save_item(NAME(m_rand_seed)); save().save_item(NAME(m_rand_seed));
@ -877,10 +879,12 @@ void running_machine::soft_reset(void *ptr, INT32 param)
// temporarily in the reset phase // temporarily in the reset phase
m_current_phase = MACHINE_PHASE_RESET; m_current_phase = MACHINE_PHASE_RESET;
#ifdef LEGACY_WATCHDOG
// set up the watchdog timer; only start off enabled if explicitly configured // set up the watchdog timer; only start off enabled if explicitly configured
m_watchdog_enabled = (config().m_watchdog_vblank_count != 0 || config().m_watchdog_time != attotime::zero); m_watchdog_enabled = (config().m_watchdog_vblank_count != 0 || config().m_watchdog_time != attotime::zero);
watchdog_reset(); watchdog_reset();
m_watchdog_enabled = true; m_watchdog_enabled = true;
#endif
// call all registered reset callbacks // call all registered reset callbacks
call_notifiers(MACHINE_NOTIFY_RESET); call_notifiers(MACHINE_NOTIFY_RESET);
@ -894,6 +898,7 @@ void running_machine::soft_reset(void *ptr, INT32 param)
// watchdog_reset - reset the watchdog timer // watchdog_reset - reset the watchdog timer
//------------------------------------------------- //-------------------------------------------------
#ifdef LEGACY_WATCHDOG
void running_machine::watchdog_reset() void running_machine::watchdog_reset()
{ {
// if we're not enabled, skip it // if we're not enabled, skip it
@ -912,12 +917,14 @@ void running_machine::watchdog_reset()
else else
m_watchdog_timer->adjust(attotime::from_seconds(3)); m_watchdog_timer->adjust(attotime::from_seconds(3));
} }
#endif
//------------------------------------------------- //-------------------------------------------------
// watchdog_enable - reset the watchdog timer // watchdog_enable - reset the watchdog timer
//------------------------------------------------- //-------------------------------------------------
#ifdef LEGACY_WATCHDOG
void running_machine::watchdog_enable(bool enable) void running_machine::watchdog_enable(bool enable)
{ {
// when re-enabled, we reset our state // when re-enabled, we reset our state
@ -927,12 +934,14 @@ void running_machine::watchdog_enable(bool enable)
watchdog_reset(); watchdog_reset();
} }
} }
#endif
//------------------------------------------------- //-------------------------------------------------
// watchdog_fired - watchdog timer callback // watchdog_fired - watchdog timer callback
//------------------------------------------------- //-------------------------------------------------
#ifdef LEGACY_WATCHDOG
void running_machine::watchdog_fired(void *ptr, INT32 param) void running_machine::watchdog_fired(void *ptr, INT32 param)
{ {
logerror("Reset caused by the watchdog!!!\n"); logerror("Reset caused by the watchdog!!!\n");
@ -946,6 +955,7 @@ void running_machine::watchdog_fired(void *ptr, INT32 param)
schedule_soft_reset(); schedule_soft_reset();
} }
#endif
//------------------------------------------------- //-------------------------------------------------
@ -953,6 +963,7 @@ void running_machine::watchdog_fired(void *ptr, INT32 param)
// watchdog timers // watchdog timers
//------------------------------------------------- //-------------------------------------------------
#ifdef LEGACY_WATCHDOG
void running_machine::watchdog_vblank(screen_device &screen, bool vblank_state) void running_machine::watchdog_vblank(screen_device &screen, bool vblank_state)
{ {
// VBLANK starting // VBLANK starting
@ -964,6 +975,7 @@ void running_machine::watchdog_vblank(screen_device &screen, bool vblank_state)
watchdog_fired(); watchdog_fired();
} }
} }
#endif
//------------------------------------------------- //-------------------------------------------------

View File

@ -227,10 +227,12 @@ public:
void base_datetime(system_time &systime); void base_datetime(system_time &systime);
void current_datetime(system_time &systime); void current_datetime(system_time &systime);
#ifdef LEGACY_WATCHDOG
// watchdog control // watchdog control
void watchdog_reset(); void watchdog_reset();
void watchdog_enable(bool enable = true); void watchdog_enable(bool enable = true);
INT32 get_vblank_watchdog_counter() const { return m_watchdog_counter; } INT32 get_vblank_watchdog_counter() const { return m_watchdog_counter; }
#endif
// misc // misc
void popmessage() const { popmessage(static_cast<char const *>(nullptr)); } void popmessage() const { popmessage(static_cast<char const *>(nullptr)); }
@ -262,8 +264,10 @@ private:
std::string get_statename(const char *statename_opt) const; std::string get_statename(const char *statename_opt) const;
void handle_saveload(); void handle_saveload();
void soft_reset(void *ptr = nullptr, INT32 param = 0); void soft_reset(void *ptr = nullptr, INT32 param = 0);
#ifdef LEGACY_WATCHDOG
void watchdog_fired(void *ptr = nullptr, INT32 param = 0); void watchdog_fired(void *ptr = nullptr, INT32 param = 0);
void watchdog_vblank(screen_device &screen, bool vblank_state); void watchdog_vblank(screen_device &screen, bool vblank_state);
#endif
std::string nvram_filename(device_t &device) const; std::string nvram_filename(device_t &device) const;
void nvram_load(); void nvram_load();
void nvram_save(); void nvram_save();
@ -309,10 +313,12 @@ private:
bool m_exit_pending; // is an exit pending? bool m_exit_pending; // is an exit pending?
emu_timer * m_soft_reset_timer; // timer used to schedule a soft reset emu_timer * m_soft_reset_timer; // timer used to schedule a soft reset
#ifdef LEGACY_WATCHDOG
// watchdog state // watchdog state
bool m_watchdog_enabled; // is the watchdog enabled? bool m_watchdog_enabled; // is the watchdog enabled?
INT32 m_watchdog_counter; // counter for watchdog tracking INT32 m_watchdog_counter; // counter for watchdog tracking
emu_timer * m_watchdog_timer; // timer for watchdog tracking emu_timer * m_watchdog_timer; // timer for watchdog tracking
#endif
// misc state // misc state
UINT32 m_rand_seed; // current random number seed UINT32 m_rand_seed; // current random number seed

View File

@ -23,8 +23,10 @@
machine_config::machine_config(const game_driver &gamedrv, emu_options &options) machine_config::machine_config(const game_driver &gamedrv, emu_options &options)
: m_minimum_quantum(attotime::zero), : m_minimum_quantum(attotime::zero),
#ifdef LEGACY_WATCHDOG
m_watchdog_vblank_count(0), m_watchdog_vblank_count(0),
m_watchdog_time(attotime::zero), m_watchdog_time(attotime::zero),
#endif
m_default_layout(nullptr), m_default_layout(nullptr),
m_gamedrv(gamedrv), m_gamedrv(gamedrv),
m_options(options) m_options(options)

View File

@ -68,8 +68,10 @@ public:
// public state // public state
attotime m_minimum_quantum; // minimum scheduling quantum attotime m_minimum_quantum; // minimum scheduling quantum
std::string m_perfect_cpu_quantum; // tag of CPU to use for "perfect" scheduling std::string m_perfect_cpu_quantum; // tag of CPU to use for "perfect" scheduling
#ifdef LEGACY_WATCHDOG
INT32 m_watchdog_vblank_count; // number of VBLANKs until the watchdog kills us INT32 m_watchdog_vblank_count; // number of VBLANKs until the watchdog kills us
attotime m_watchdog_time; // length of time until the watchdog kills us attotime m_watchdog_time; // length of time until the watchdog kills us
#endif
// other parameters // other parameters
const internal_layout * m_default_layout; // default layout for this machine const internal_layout * m_default_layout; // default layout for this machine
@ -199,11 +201,13 @@ References an external machine config.
#define MCFG_QUANTUM_PERFECT_CPU(_cputag) \ #define MCFG_QUANTUM_PERFECT_CPU(_cputag) \
config.m_perfect_cpu_quantum = owner->subtag(_cputag); config.m_perfect_cpu_quantum = owner->subtag(_cputag);
#ifdef LEGACY_WATCHDOG
// watchdog configuration // watchdog configuration
#define MCFG_WATCHDOG_VBLANK_INIT(_count) \ #define MCFG_WATCHDOG_VBLANK_INIT(_count) \
config.m_watchdog_vblank_count = _count; config.m_watchdog_vblank_count = _count;
#define MCFG_WATCHDOG_TIME_INIT(_time) \ #define MCFG_WATCHDOG_TIME_INIT(_time) \
config.m_watchdog_time = _time; config.m_watchdog_time = _time;
#endif
// core video parameters // core video parameters
#define MCFG_DEFAULT_LAYOUT(_layout) \ #define MCFG_DEFAULT_LAYOUT(_layout) \

View File

@ -32,6 +32,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "includes/1943.h" #include "includes/1943.h"
@ -107,7 +108,7 @@ static ADDRESS_MAP_START( c1943_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r) AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w) AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE(c1943_c804_w) // ROM bank switch, screen flip AM_RANGE(0xc804, 0xc804) AM_WRITE(c1943_c804_w) // ROM bank switch, screen flip
AM_RANGE(0xc806, 0xc806) AM_WRITE(watchdog_reset_w) AM_RANGE(0xc806, 0xc806) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xc807, 0xc807) AM_WRITE(c1943_protection_w) AM_RANGE(0xc807, 0xc807) AM_WRITE(c1943_protection_w)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(c1943_videoram_w) AM_SHARE("videoram") AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(c1943_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(c1943_colorram_w) AM_SHARE("colorram") AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(c1943_colorram_w) AM_SHARE("colorram")
@ -314,6 +315,8 @@ static MACHINE_CONFIG_START( 1943, _1943_state )
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT_DRIVER(_1943_state, irq0_line_hold, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(_1943_state, irq0_line_hold, 4*60)
MCFG_WATCHDOG_ADD("watchdog")
// video hardware // video hardware
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -86,6 +86,7 @@ Graphics: CY37256P160-83AC x 2 (Ultra37000 CPLD family - 160 pin TQFP, 256 Macro
#include "emu.h" #include "emu.h"
#include "cpu/z180/z180.h" #include "cpu/z180/z180.h"
#include "machine/eepromser.h" #include "machine/eepromser.h"
#include "machine/watchdog.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "includes/20pacgal.h" #include "includes/20pacgal.h"
@ -235,7 +236,7 @@ READ8_MEMBER( _25pacman_state::_25pacman_io_87_r )
AM_RANGE(0x80, 0x80) AM_READ_PORT("P1") AM_RANGE(0x80, 0x80) AM_READ_PORT("P1")
AM_RANGE(0x81, 0x81) AM_READ_PORT("P2") AM_RANGE(0x81, 0x81) AM_READ_PORT("P2")
AM_RANGE(0x82, 0x82) AM_READ_PORT("SERVICE") AM_RANGE(0x82, 0x82) AM_READ_PORT("SERVICE")
AM_RANGE(0x80, 0x80) AM_WRITE(watchdog_reset_w) AM_RANGE(0x80, 0x80) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x81, 0x81) AM_WRITE(timer_pulse_w) /* ??? pulsed by the timer irq */ AM_RANGE(0x81, 0x81) AM_WRITE(timer_pulse_w) /* ??? pulsed by the timer irq */
AM_RANGE(0x82, 0x82) AM_WRITE(irqack_w) AM_RANGE(0x82, 0x82) AM_WRITE(irqack_w)
// AM_RANGE(0x84, 0x84) AM_NOP /* ?? */ // AM_RANGE(0x84, 0x84) AM_NOP /* ?? */
@ -257,7 +258,7 @@ static ADDRESS_MAP_START( 20pacgal_io_map, AS_IO, 8, _20pacgal_state )
AM_RANGE(0x80, 0x80) AM_READ_PORT("P1") AM_RANGE(0x80, 0x80) AM_READ_PORT("P1")
AM_RANGE(0x81, 0x81) AM_READ_PORT("P2") AM_RANGE(0x81, 0x81) AM_READ_PORT("P2")
AM_RANGE(0x82, 0x82) AM_READ_PORT("SERVICE") AM_RANGE(0x82, 0x82) AM_READ_PORT("SERVICE")
AM_RANGE(0x80, 0x80) AM_WRITE(watchdog_reset_w) AM_RANGE(0x80, 0x80) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x81, 0x81) AM_WRITE(timer_pulse_w) /* ??? pulsed by the timer irq */ AM_RANGE(0x81, 0x81) AM_WRITE(timer_pulse_w) /* ??? pulsed by the timer irq */
AM_RANGE(0x82, 0x82) AM_WRITE(irqack_w) AM_RANGE(0x82, 0x82) AM_WRITE(irqack_w)
AM_RANGE(0x84, 0x84) AM_NOP /* ?? */ AM_RANGE(0x84, 0x84) AM_NOP /* ?? */
@ -395,6 +396,8 @@ static MACHINE_CONFIG_START( 20pacgal, _20pacgal_state )
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom") MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_FRAGMENT_ADD(20pacgal_video) MCFG_FRAGMENT_ADD(20pacgal_video)

View File

@ -196,6 +196,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "cpu/i8085/i8085.h" #include "cpu/i8085/i8085.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/speaker.h" #include "sound/speaker.h"
#include "includes/8080bw.h" #include "includes/8080bw.h"
@ -375,7 +376,7 @@ static ADDRESS_MAP_START( invadpt2_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invadpt2_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invadpt2_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invadpt2_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(invadpt2_sh_port_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 ADDRESS_MAP_END
@ -413,7 +414,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( invadpt2, mw8080bw_root, _8080bw_state )
/* 60 Hz signal clocks two LS161. Ripple carry will */ /* 60 Hz signal clocks two LS161. Ripple carry will */
/* reset circuit, if LS161 not cleared before. */ /* reset circuit, if LS161 not cleared before. */
MCFG_WATCHDOG_VBLANK_INIT(255) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
/* add shifter */ /* add shifter */
MCFG_MB14241_ADD("mb14241") MCFG_MB14241_ADD("mb14241")
@ -443,7 +445,7 @@ static ADDRESS_MAP_START( spacerng_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invadpt2_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invadpt2_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(spacerng_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(spacerng_sh_port_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 ADDRESS_MAP_END
static MACHINE_CONFIG_DERIVED_CLASS( spacerng, invadpt2, _8080bw_state ) static MACHINE_CONFIG_DERIVED_CLASS( spacerng, invadpt2, _8080bw_state )
@ -525,7 +527,7 @@ static ADDRESS_MAP_START( astropal_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_WRITE(invaders_audio_1_w) AM_RANGE(0x03, 0x03) AM_WRITE(invaders_audio_1_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invaders_audio_2_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 ADDRESS_MAP_END
static INPUT_PORTS_START( astropal ) static INPUT_PORTS_START( astropal )
@ -569,6 +571,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( astropal, invaders, _8080bw_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(astropal_io_map) MCFG_CPU_IO_MAP(astropal_io_map)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -593,7 +596,7 @@ static ADDRESS_MAP_START( cosmo_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITENOP AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITENOP
AM_RANGE(0x03, 0x03) AM_WRITE(invadpt2_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_WRITE(invadpt2_sh_port_1_w)
AM_RANGE(0x05, 0x05) AM_WRITE(cosmo_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(cosmo_sh_port_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_WRITENOP AM_RANGE(0x07, 0x07) AM_WRITENOP
ADDRESS_MAP_END ADDRESS_MAP_END
@ -620,6 +623,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( cosmo, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cosmo_map) MCFG_CPU_PROGRAM_MAP(cosmo_map)
MCFG_CPU_IO_MAP(cosmo_io_map) MCFG_CPU_IO_MAP(cosmo_io_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* video hardware */ /* video hardware */
@ -825,7 +829,7 @@ static ADDRESS_MAP_START( invrvnge_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invrvnge_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invrvnge_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invrvnge_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(invrvnge_sh_port_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 ADDRESS_MAP_END
static ADDRESS_MAP_START( invrvnge_sound_map, AS_PROGRAM, 8, _8080bw_state ) static ADDRESS_MAP_START( invrvnge_sound_map, AS_PROGRAM, 8, _8080bw_state )
@ -888,6 +892,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( invrvnge, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(invrvnge_io_map) MCFG_CPU_IO_MAP(invrvnge_io_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_CPU_ADD("audiocpu", M6808, XTAL_4MHz/2) // MC6808P MCFG_CPU_ADD("audiocpu", M6808, XTAL_4MHz/2) // MC6808P
MCFG_CPU_PROGRAM_MAP(invrvnge_sound_map) MCFG_CPU_PROGRAM_MAP(invrvnge_sound_map)
@ -1014,7 +1020,7 @@ static ADDRESS_MAP_START( starw1_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_WRITENOP /* writes 9B at boot */ AM_RANGE(0x03, 0x03) AM_WRITENOP /* writes 9B at boot */
AM_RANGE(0x04, 0x04) AM_WRITE(invadpt2_sh_port_1_w) AM_RANGE(0x04, 0x04) AM_WRITE(invadpt2_sh_port_1_w)
AM_RANGE(0x05, 0x05) AM_WRITE(invadpt2_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(invadpt2_sh_port_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_WRITENOP /* writes 89 at boot */ AM_RANGE(0x07, 0x07) AM_WRITENOP /* writes 89 at boot */
ADDRESS_MAP_END ADDRESS_MAP_END
@ -1142,7 +1148,7 @@ static ADDRESS_MAP_START( cosmicmo_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_WRITE(invaders_audio_1_w) AM_RANGE(0x03, 0x03) AM_WRITE(invaders_audio_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(cosmicmo_05_w) AM_RANGE(0x05, 0x05) AM_WRITE(cosmicmo_05_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 ADDRESS_MAP_END
static MACHINE_CONFIG_DERIVED_CLASS( cosmicmo, mw8080bw_root, _8080bw_state ) static MACHINE_CONFIG_DERIVED_CLASS( cosmicmo, mw8080bw_root, _8080bw_state )
@ -1154,7 +1160,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( cosmicmo, mw8080bw_root, _8080bw_state )
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
MCFG_WATCHDOG_VBLANK_INIT(255) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
/* add shifter */ /* add shifter */
MCFG_MB14241_ADD("mb14241") MCFG_MB14241_ADD("mb14241")
@ -1308,7 +1315,7 @@ static ADDRESS_MAP_START( schaser_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(schaser_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(schaser_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(schaser_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(schaser_sh_port_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 ADDRESS_MAP_END
@ -1395,7 +1402,9 @@ static MACHINE_CONFIG_DERIVED_CLASS( schaser, mw8080bw_root, _8080bw_state )
MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */ MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */
MCFG_CPU_PROGRAM_MAP(schaser_map) MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(schaser_io_map) MCFG_CPU_IO_MAP(schaser_io_map)
MCFG_WATCHDOG_VBLANK_INIT(255)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,schaser) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,schaser)
MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,schaser) MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,schaser)
@ -1628,7 +1637,7 @@ static ADDRESS_MAP_START( lupin3_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(lupin3_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(lupin3_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(lupin3_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(lupin3_sh_port_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 ADDRESS_MAP_END
@ -1691,6 +1700,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(lupin3_io_map) MCFG_CPU_IO_MAP(lupin3_io_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */ /* add shifter */
@ -1731,50 +1741,11 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED_CLASS( lupin3a, mw8080bw_root, _8080bw_state ) static MACHINE_CONFIG_DERIVED( lupin3a, lupin3 )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(lupin3_io_map)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_lupin3) MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_lupin3)
MCFG_PALETTE_ADD_3BIT_RBG("palette")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("snsnd", SN76477, 0)
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
MCFG_SN76477_VCO_MODE(1) // VCO mode
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
MCFG_SN76477_ENABLE(1) // enable
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MCFG_SOUND_ADD("samples", SAMPLES, 0)
MCFG_SAMPLES_CHANNELS(4)
MCFG_SAMPLES_NAMES(lupin3_sample_names)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(indianbt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -1823,7 +1794,7 @@ static ADDRESS_MAP_START( polaris_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(polaris_sh_port_1_w) AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(polaris_sh_port_1_w)
AM_RANGE(0x03, 0x03) AM_DEVREADWRITE("mb14241", mb14241_device, shift_result_r, shift_data_w) AM_RANGE(0x03, 0x03) AM_DEVREADWRITE("mb14241", mb14241_device, shift_result_r, shift_data_w)
AM_RANGE(0x04, 0x04) AM_WRITE(polaris_sh_port_2_w) AM_RANGE(0x04, 0x04) AM_WRITE(polaris_sh_port_2_w)
AM_RANGE(0x05, 0x05) AM_WRITE(watchdog_reset_w) AM_RANGE(0x05, 0x05) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x06, 0x06) AM_WRITE(polaris_sh_port_3_w) AM_RANGE(0x06, 0x06) AM_WRITE(polaris_sh_port_3_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -1888,8 +1859,11 @@ static MACHINE_CONFIG_DERIVED_CLASS( polaris, mw8080bw_root, _8080bw_state )
MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */ MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */
MCFG_CPU_PROGRAM_MAP(schaser_map) MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(polaris_io_map) MCFG_CPU_IO_MAP(polaris_io_map)
MCFG_WATCHDOG_VBLANK_INIT(255)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _8080bw_state, polaris_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", _8080bw_state, polaris_interrupt)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,polaris) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,polaris)
/* add shifter */ /* add shifter */
@ -2238,7 +2212,7 @@ static ADDRESS_MAP_START( indianbt_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(indianbt_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(indianbt_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(indianbt_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(indianbt_sh_port_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(indianbt_sh_port_3_w) AM_RANGE(0x07, 0x07) AM_WRITE(indianbt_sh_port_3_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -2249,7 +2223,7 @@ static ADDRESS_MAP_START( indianbtbr_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(indianbtbr_sh_port_1_w) AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(indianbtbr_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(indianbtbr_sh_port_2_w) AM_RANGE(0x05, 0x05) AM_WRITE(indianbtbr_sh_port_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_WRITENOP AM_RANGE(0x07, 0x07) AM_WRITENOP
ADDRESS_MAP_END ADDRESS_MAP_END
@ -2259,6 +2233,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( indianbt, mw8080bw_root, _8080bw_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(indianbt_io_map) MCFG_CPU_IO_MAP(indianbt_io_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */ /* add shifter */
@ -2284,6 +2259,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( indianbtbr, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(schaser_map) MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(indianbtbr_io_map) MCFG_CPU_IO_MAP(indianbtbr_io_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */ /* add shifter */
@ -2693,7 +2669,7 @@ static ADDRESS_MAP_START( vortex_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(invaders_audio_1_w) AM_RANGE(0x01, 0x01) AM_WRITE(invaders_audio_1_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x06, 0x06) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x07, 0x07) AM_WRITE(invaders_audio_2_w) AM_RANGE(0x07, 0x07) AM_WRITE(invaders_audio_2_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 ADDRESS_MAP_END
@ -2727,6 +2703,8 @@ MACHINE_CONFIG_DERIVED_CLASS( vortex, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(vortex_io_map) MCFG_CPU_IO_MAP(vortex_io_map)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw) MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL))) MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
/* video hardware */ /* video hardware */
@ -2971,7 +2949,7 @@ static ADDRESS_MAP_START( claybust_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w) AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_READ(claybust_gun_lo_r) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w) AM_RANGE(0x02, 0x02) AM_READ(claybust_gun_lo_r) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) //AM_WRITENOP // port3 write looks sound-related AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) //AM_WRITENOP // port3 write looks sound-related
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_WRITENOP // ? //AM_RANGE(0x05, 0x05) AM_WRITENOP // ?
AM_RANGE(0x06, 0x06) AM_READ(claybust_gun_hi_r) AM_RANGE(0x06, 0x06) AM_READ(claybust_gun_hi_r)
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -11,6 +11,7 @@
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "includes/88games.h" #include "includes/88games.h"
@ -123,7 +124,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("ram") AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("ram")
AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w) AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w)
AM_RANGE(0x5f88, 0x5f88) AM_WRITE(watchdog_reset_w) AM_RANGE(0x5f88, 0x5f88) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(soundlatch_byte_w) AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x5f90, 0x5f90) AM_WRITE(k88games_sh_irqtrigger_w) AM_RANGE(0x5f90, 0x5f90) AM_WRITE(k88games_sh_irqtrigger_w)
AM_RANGE(0x5f94, 0x5f94) AM_READ_PORT("IN0") AM_RANGE(0x5f94, 0x5f94) AM_READ_PORT("IN0")
@ -309,6 +310,8 @@ static MACHINE_CONFIG_START( 88games, _88games_state )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -46,6 +46,7 @@
*/ */
#include "includes/abc1600.h" #include "includes/abc1600.h"
#include "machine/watchdog.h"
#include "softlist.h" #include "softlist.h"
@ -844,6 +845,7 @@ static MACHINE_CONFIG_START( abc1600, abc1600_state )
MCFG_CPU_PROGRAM_MAP(abc1600_mem) MCFG_CPU_PROGRAM_MAP(abc1600_mem)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(abc1600_state,abc1600_int_ack) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(abc1600_state,abc1600_int_ack)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1600)) // XTAL_64MHz/8/10/20000/8/8 MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1600)) // XTAL_64MHz/8/10/20000/8/8
// video hardware // video hardware

View File

@ -13,6 +13,7 @@ Inputs and Dip Switches by Stephh
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "sidewndr.lh" #include "sidewndr.lh"
@ -329,7 +330,7 @@ static ADDRESS_MAP_START( acefruit_map, AS_PROGRAM, 8, acefruit_state )
AM_RANGE(0xa002, 0xa003) AM_WRITE(acefruit_coin_w) AM_RANGE(0xa002, 0xa003) AM_WRITE(acefruit_coin_w)
AM_RANGE(0xa004, 0xa004) AM_WRITE(acefruit_solenoid_w) AM_RANGE(0xa004, 0xa004) AM_WRITE(acefruit_solenoid_w)
AM_RANGE(0xa005, 0xa006) AM_WRITE(acefruit_sound_w) AM_RANGE(0xa005, 0xa006) AM_WRITE(acefruit_sound_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(watchdog_reset_w) AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -610,6 +611,8 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
MCFG_CPU_IO_MAP(acefruit_io) MCFG_CPU_IO_MAP(acefruit_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", acefruit_state, acefruit_vblank) MCFG_CPU_VBLANK_INT_DRIVER("screen", acefruit_state, acefruit_vblank)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", acefruit) MCFG_GFXDECODE_ADD("gfxdecode", "palette", acefruit)
/* video hardware */ /* video hardware */

View File

@ -235,7 +235,7 @@ READ8_MEMBER(airbustr_state::devram_r)
that would reset the main cpu. We avoid this and patch that would reset the main cpu. We avoid this and patch
the rom instead (main cpu has to be reset once at startup) */ the rom instead (main cpu has to be reset once at startup) */
case 0xfe0: case 0xfe0:
return watchdog_reset_r(space, 0); return m_watchdog->reset_r(space, 0);
/* Reading a word at eff2 probably yelds the product /* Reading a word at eff2 probably yelds the product
of the words written to eff0 and eff2 */ of the words written to eff0 and eff2 */
@ -600,6 +600,8 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu
// Maybe a high value is safer in order to avoid glitches // Maybe a high value is safer in order to avoid glitches
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
/* video hardware */ /* video hardware */
@ -636,6 +638,7 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( airbustrb, airbustr ) static MACHINE_CONFIG_DERIVED( airbustrb, airbustr )
MCFG_WATCHDOG_MODIFY("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) // no protection device or watchdog MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) // no protection device or watchdog
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -178,6 +178,8 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_QUANTUM_TIME(attotime::from_hz(600))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)

View File

@ -37,9 +37,10 @@ PCB:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/eepromser.h" #include "machine/eepromser.h"
#include "machine/i8255.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "video/mc6845.h" #include "video/mc6845.h"
#include "machine/i8255.h"
#define MASTER_CLOCK XTAL_12MHz #define MASTER_CLOCK XTAL_12MHz
@ -222,7 +223,7 @@ static ADDRESS_MAP_START( port_map, AS_IO, 8, albazg_state )
AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0xc0, 0xc0) AM_WRITE(watchdog_reset_w) AM_RANGE(0xc0, 0xc0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END ADDRESS_MAP_END
/***************************************************************************************/ /***************************************************************************************/
@ -353,7 +354,8 @@ static MACHINE_CONFIG_START( yumefuda, albazg_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_WATCHDOG_VBLANK_INIT(8) // timing is unknown MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8) // timing is unknown
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(albazg_state, mux_w)) MCFG_I8255_OUT_PORTA_CB(WRITE8(albazg_state, mux_w))

View File

@ -12,6 +12,7 @@ Preliminary driver by:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/aliens.h" #include "includes/aliens.h"
@ -91,7 +92,7 @@ static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x5f82, 0x5f82) AM_READ_PORT("P2") AM_RANGE(0x5f82, 0x5f82) AM_READ_PORT("P2")
AM_RANGE(0x5f83, 0x5f83) AM_READ_PORT("DSW2") AM_RANGE(0x5f83, 0x5f83) AM_READ_PORT("DSW2")
AM_RANGE(0x5f84, 0x5f84) AM_READ_PORT("DSW1") AM_RANGE(0x5f84, 0x5f84) AM_READ_PORT("DSW1")
AM_RANGE(0x5f88, 0x5f88) AM_READ(watchdog_reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */ AM_RANGE(0x5f88, 0x5f88) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(aliens_sh_irqtrigger_w) /* cause interrupt on audio CPU */ AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(aliens_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x28000) /* ROM e24_j02.bin */ AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x28000) /* ROM e24_j02.bin */
@ -205,6 +206,8 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(11) MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(11)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x400) MCFG_ADDRESS_MAP_BANK_STRIDE(0x400)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) // measured 59.17 MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) // measured 59.17

View File

@ -37,6 +37,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/ambush.h" #include "includes/ambush.h"
@ -68,7 +69,7 @@ WRITE8_MEMBER(ambush_state::flip_screen_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ambush_state ) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ambush_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(watchdog_reset_r) AM_RANGE(0xa000, 0xa000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc080, 0xc09f) AM_SHARE("scrollram") AM_RANGE(0xc080, 0xc09f) AM_SHARE("scrollram")
AM_RANGE(0xc100, 0xc1ff) AM_SHARE("colorram") AM_RANGE(0xc100, 0xc1ff) AM_SHARE("colorram")
@ -209,6 +210,8 @@ static MACHINE_CONFIG_START( ambush, ambush_state )
MCFG_CPU_IO_MAP(main_portmap) MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", ambush_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", ambush_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -573,7 +573,7 @@ WRITE8_MEMBER(ampoker2_state::ampoker2_watchdog_reset_w)
if (((data >> 3) & 0x01) == 0) /* check for refresh value (0x08) */ if (((data >> 3) & 0x01) == 0) /* check for refresh value (0x08) */
{ {
machine().watchdog_reset(); m_watchdog->watchdog_reset();
// popmessage("%02x", data); // popmessage("%02x", data);
} }
else else
@ -1142,6 +1142,8 @@ static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
MCFG_CPU_PROGRAM_MAP(ampoker2_map) MCFG_CPU_PROGRAM_MAP(ampoker2_map)
MCFG_CPU_IO_MAP(ampoker2_io_map) MCFG_CPU_IO_MAP(ampoker2_io_map)
MCFG_CPU_PERIODIC_INT_DRIVER(ampoker2_state, nmi_line_pulse, 1536) MCFG_CPU_PERIODIC_INT_DRIVER(ampoker2_state, nmi_line_pulse, 1536)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* 200 ms, measured */ MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* 200 ms, measured */
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")

View File

@ -70,6 +70,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/arcadecl.h" #include "includes/arcadecl.h"
@ -163,7 +164,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
AM_RANGE(0x641000, 0x641fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x641000, 0x641fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff)
AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00) AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
AM_RANGE(0x646000, 0x646fff) AM_WRITE(scanline_int_ack_w) AM_RANGE(0x646000, 0x646fff) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0x647000, 0x647fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x647000, 0x647fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -325,6 +326,8 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state )
MCFG_MACHINE_RESET_OVERRIDE(arcadecl_state,arcadecl) MCFG_MACHINE_RESET_OVERRIDE(arcadecl_state,arcadecl)
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", arcadecl) MCFG_GFXDECODE_ADD("gfxdecode", "palette", arcadecl)
MCFG_PALETTE_ADD("palette", 512) MCFG_PALETTE_ADD("palette", 512)

View File

@ -171,6 +171,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/arm/arm.h" #include "cpu/arm/arm.h"
#include "machine/watchdog.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "includes/archimds.h" #include "includes/archimds.h"
//#include "machine/i2cmem.h" //#include "machine/i2cmem.h"
@ -417,7 +418,7 @@ static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
// AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ??? // AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ???
AM_RANGE(0x03010810, 0x03010813) AM_READWRITE(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog AM_RANGE(0x03010810, 0x03010813) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset32_r, reset32_w) //MK-5 specific, watchdog
// System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff // System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3 AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3
@ -443,7 +444,7 @@ static ADDRESS_MAP_START( aristmk5_drame_map, AS_PROGRAM, 32, aristmk5_state )
// AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ??? // AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ???
AM_RANGE(0x03010810, 0x03010813) AM_READWRITE(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog AM_RANGE(0x03010810, 0x03010813) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset32_r, reset32_w) //MK-5 specific, watchdog
// System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff // System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3 AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3
@ -530,6 +531,8 @@ void aristmk5_state::machine_reset()
static MACHINE_CONFIG_START( aristmk5, aristmk5_state ) static MACHINE_CONFIG_START( aristmk5, aristmk5_state )
MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000 MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000
MCFG_CPU_PROGRAM_MAP(aristmk5_drame_map) MCFG_CPU_PROGRAM_MAP(aristmk5_drame_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
// MCFG_I2CMEM_ADD("i2cmem") // MCFG_I2CMEM_ADD("i2cmem")
@ -576,6 +579,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( aristmk5_usa, aristmk5_state ) static MACHINE_CONFIG_START( aristmk5_usa, aristmk5_state )
MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000 MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000
MCFG_CPU_PROGRAM_MAP(aristmk5_map) MCFG_CPU_PROGRAM_MAP(aristmk5_map)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
// MCFG_I2CMEM_ADD("i2cmem") // MCFG_I2CMEM_ADD("i2cmem")

View File

@ -765,6 +765,7 @@ DIP locations verified for:
#include "includes/arkanoid.h" #include "includes/arkanoid.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "cpu/m6805/m6805.h" #include "cpu/m6805/m6805.h"
#include "machine/watchdog.h"
/***************************************************************************/ /***************************************************************************/
@ -777,7 +778,7 @@ static ADDRESS_MAP_START( arkanoid_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0xd008, 0xd008) AM_WRITE(arkanoid_d008_w) /* gfx bank, flip screen etc. */ AM_RANGE(0xd008, 0xd008) AM_WRITE(arkanoid_d008_w) /* gfx bank, flip screen etc. */
AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM") /* 2 bits from the 68705 */ AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM") /* 2 bits from the 68705 */
AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w) AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xd018, 0xd018) AM_READWRITE(arkanoid_Z80_mcu_r, arkanoid_Z80_mcu_w) /* input from the 68705 */ AM_RANGE(0xd018, 0xd018) AM_READWRITE(arkanoid_Z80_mcu_r, arkanoid_Z80_mcu_w) /* input from the 68705 */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xe800, 0xe83f) AM_RAM AM_SHARE("spriteram") AM_RANGE(0xe800, 0xe83f) AM_RAM AM_SHARE("spriteram")
@ -792,7 +793,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) AM_RANGE(0xd001, 0xd001) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE(arkanoid_d008_w) /* gfx bank, flip screen etc. */ AM_RANGE(0xd008, 0xd008) AM_WRITE(arkanoid_d008_w) /* gfx bank, flip screen etc. */
AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM") AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM")
AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w) AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xd018, 0xd018) AM_READ_PORT("MUX") AM_WRITENOP AM_RANGE(0xd018, 0xd018) AM_READ_PORT("MUX") AM_WRITENOP
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xe800, 0xe83f) AM_RAM AM_SHARE("spriteram") AM_RANGE(0xe800, 0xe83f) AM_RAM AM_SHARE("spriteram")
@ -807,7 +808,7 @@ static ADDRESS_MAP_START( hexa_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w) AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w)
AM_RANGE(0xd010, 0xd010) AM_WRITE(watchdog_reset_w) /* or IRQ acknowledge, or both */ AM_RANGE(0xd010, 0xd010) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* or IRQ acknowledge, or both */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END ADDRESS_MAP_END
@ -829,7 +830,7 @@ static ADDRESS_MAP_START( hexaa_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0xd001, 0xd001) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w) AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w)
AM_RANGE(0xd010, 0xd010) AM_WRITE(watchdog_reset_w) /* or IRQ acknowledge, or both */ AM_RANGE(0xd010, 0xd010) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* or IRQ acknowledge, or both */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xe800, 0xefff) AM_RAM AM_RANGE(0xe800, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_READWRITE(hexaa_f000_r, hexaa_f000_w) AM_RANGE(0xf000, 0xf000) AM_READWRITE(hexaa_f000_r, hexaa_f000_w)
@ -1319,6 +1320,8 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
MCFG_CPU_PROGRAM_MAP(arkanoid_map) MCFG_CPU_PROGRAM_MAP(arkanoid_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_CPU_ADD("mcu", M68705, XTAL_12MHz/4) /* verified on pcb */ MCFG_CPU_ADD("mcu", M68705, XTAL_12MHz/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(mcu_map) MCFG_CPU_PROGRAM_MAP(mcu_map)
@ -1355,6 +1358,8 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
MCFG_CPU_PROGRAM_MAP(hexa_map) MCFG_CPU_PROGRAM_MAP(hexa_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60) // MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -187,6 +187,7 @@ There is not a rev 03 known or dumped. An Asteroids rev 03 is not mentioned in a
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "video/vector.h" #include "video/vector.h"
#include "video/avgdvg.h" #include "video/avgdvg.h"
#include "machine/atari_vg.h" #include "machine/atari_vg.h"
@ -247,7 +248,7 @@ static ADDRESS_MAP_START( asteroid_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w)
AM_RANGE(0x3200, 0x3200) AM_WRITE(asteroid_bank_switch_w) AM_RANGE(0x3200, 0x3200) AM_WRITE(asteroid_bank_switch_w)
AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3400, 0x3400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3600, 0x3600) AM_WRITE(asteroid_explode_w) AM_RANGE(0x3600, 0x3600) AM_WRITE(asteroid_explode_w)
AM_RANGE(0x3a00, 0x3a00) AM_WRITE(asteroid_thump_w) AM_RANGE(0x3a00, 0x3a00) AM_WRITE(asteroid_thump_w)
AM_RANGE(0x3c00, 0x3c05) AM_WRITE(asteroid_sounds_w) AM_RANGE(0x3c00, 0x3c05) AM_WRITE(asteroid_sounds_w)
@ -270,7 +271,7 @@ static ADDRESS_MAP_START( astdelux_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2c40, 0x2c7f) AM_DEVREAD("earom", atari_vg_earom_device, read) AM_RANGE(0x2c40, 0x2c7f) AM_DEVREAD("earom", atari_vg_earom_device, read)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w)
AM_RANGE(0x3200, 0x323f) AM_DEVWRITE("earom", atari_vg_earom_device, write) AM_RANGE(0x3200, 0x323f) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3400, 0x3400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3600, 0x3600) AM_WRITE(asteroid_explode_w) AM_RANGE(0x3600, 0x3600) AM_WRITE(asteroid_explode_w)
AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x3c00, 0x3c01) AM_WRITE(astdelux_led_w) AM_RANGE(0x3c00, 0x3c01) AM_WRITE(astdelux_led_w)
@ -293,7 +294,7 @@ static ADDRESS_MAP_START( llander_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("THRUST") AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("THRUST")
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w)
AM_RANGE(0x3200, 0x3200) AM_WRITE(llander_led_w) AM_RANGE(0x3200, 0x3200) AM_WRITE(llander_led_w)
AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3400, 0x3400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(llander_sounds_w) AM_RANGE(0x3c00, 0x3c00) AM_WRITE(llander_sounds_w)
AM_RANGE(0x3e00, 0x3e00) AM_WRITE(llander_snd_reset_w) AM_RANGE(0x3e00, 0x3e00) AM_WRITE(llander_snd_reset_w)
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x4000) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x4000)
@ -648,6 +649,8 @@ static MACHINE_CONFIG_START( asteroid, asteroid_state )
MCFG_CPU_PROGRAM_MAP(asteroid_map) MCFG_CPU_PROGRAM_MAP(asteroid_map)
MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, CLOCK_3KHZ/12) MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, CLOCK_3KHZ/12)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_VECTOR_ADD("vector") MCFG_VECTOR_ADD("vector")
MCFG_SCREEN_ADD("screen", VECTOR) MCFG_SCREEN_ADD("screen", VECTOR)

View File

@ -221,6 +221,7 @@ DIP locations verified for:
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "includes/taitoipt.h" #include "includes/taitoipt.h"
#include "audio/taitosnd.h" #include "audio/taitosnd.h"
#include "machine/watchdog.h"
#include "sound/2610intf.h" #include "sound/2610intf.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "sound/msm5205.h" #include "sound/msm5205.h"
@ -321,7 +322,7 @@ static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0x390000, 0x390001) AM_READ_PORT("DSWA") AM_RANGE(0x390000, 0x390001) AM_READ_PORT("DSWA")
AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE(asuka_spritectrl_w) AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE(asuka_spritectrl_w)
AM_RANGE(0x3b0000, 0x3b0001) AM_READ_PORT("DSWB") AM_RANGE(0x3b0000, 0x3b0001) AM_READ_PORT("DSWB")
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x3c0000, 0x3c0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x3d0000, 0x3d0001) AM_READNOP AM_RANGE(0x3d0000, 0x3d0001) AM_READNOP
AM_RANGE(0x3e0000, 0x3e0001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff) AM_RANGE(0x3e0000, 0x3e0001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff) AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
@ -835,6 +836,8 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_QUANTUM_TIME(attotime::from_hz(600))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -45,6 +45,7 @@ ToDo:
#include "machine/genpin.h" #include "machine/genpin.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "machine/watchdog.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "atari_s1.lh" #include "atari_s1.lh"
@ -110,7 +111,7 @@ static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state )
AM_RANGE(0x108c, 0x108f) AM_READWRITE(m108c_r,m108c_w) AM_RANGE(0x108c, 0x108f) AM_READWRITE(m108c_r,m108c_w)
AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r) AM_WRITENOP // aavenger ROL 200B causes a spurious write AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r) AM_WRITENOP // aavenger ROL 200B causes a spurious write
AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable
AM_RANGE(0x4000, 0x4fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5080, 0x508c) AM_MIRROR(3) AM_WRITE(meter_w) // time2000 only AM_RANGE(0x5080, 0x508c) AM_MIRROR(3) AM_WRITE(meter_w) // time2000 only
AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset
AM_RANGE(0x7000, 0x7fff) AM_ROM AM_RANGE(0x7000, 0x7fff) AM_ROM
@ -125,7 +126,7 @@ static ADDRESS_MAP_START( atarians_map, AS_PROGRAM, 8, atari_s1_state ) // more
AM_RANGE(0x108c, 0x108f) AM_READWRITE(m108c_r,m108c_w) AM_RANGE(0x108c, 0x108f) AM_READWRITE(m108c_r,m108c_w)
AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r) AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r)
AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable
AM_RANGE(0x4000, 0x4fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset
AM_RANGE(0x7000, 0x7fff) AM_ROM AM_RANGE(0x7000, 0x7fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -136,7 +137,7 @@ static ADDRESS_MAP_START( midearth_map, AS_PROGRAM, 8, atari_s1_state )
AM_RANGE(0x1000, 0x11ff) AM_WRITE(midearth_w) AM_RANGE(0x1000, 0x11ff) AM_WRITE(midearth_w)
AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r) AM_RANGE(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r)
AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable AM_RANGE(0x3000, 0x3fff) AM_WRITE(audioen_w) // audio enable
AM_RANGE(0x4000, 0x4fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset AM_RANGE(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset
AM_RANGE(0x7000, 0x7fff) AM_ROM AM_WRITENOP // writes to FFFF due to poor coding at 7FF5 AM_RANGE(0x7000, 0x7fff) AM_ROM AM_WRITENOP // writes to FFFF due to poor coding at 7FF5
ADDRESS_MAP_END ADDRESS_MAP_END
@ -433,6 +434,8 @@ static MACHINE_CONFIG_START( atari_s1, atari_s1_state )
MCFG_CPU_ADD("maincpu", M6800, MASTER_CLK) MCFG_CPU_ADD("maincpu", M6800, MASTER_CLK)
MCFG_CPU_PROGRAM_MAP(atari_s1_map) MCFG_CPU_PROGRAM_MAP(atari_s1_map)
MCFG_WATCHDOG_ADD("watchdog")
/* Sound */ /* Sound */
MCFG_FRAGMENT_ADD( genpin_audio ) MCFG_FRAGMENT_ADD( genpin_audio )
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -23,6 +23,7 @@ ToDo:
#include "machine/genpin.h" #include "machine/genpin.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "machine/watchdog.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "atari_s2.lh" #include "atari_s2.lh"
@ -80,7 +81,7 @@ static ADDRESS_MAP_START( atari_s2_map, AS_PROGRAM, 8, atari_s2_state )
AM_RANGE(0x1860, 0x1867) AM_MIRROR(0x0718) AM_WRITE(lamp_w) AM_RANGE(0x1860, 0x1867) AM_MIRROR(0x0718) AM_WRITE(lamp_w)
AM_RANGE(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_w) AM_RANGE(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_w)
AM_RANGE(0x18a0, 0x18a7) AM_MIRROR(0x0718) AM_WRITE(sol1_w) AM_RANGE(0x18a0, 0x18a7) AM_MIRROR(0x0718) AM_WRITE(sol1_w)
AM_RANGE(0x18c0, 0x18c0) AM_MIRROR(0x071F) AM_WRITE(watchdog_reset_w) AM_RANGE(0x18c0, 0x18c0) AM_MIRROR(0x071F) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x18e0, 0x18e0) AM_MIRROR(0x071F) AM_WRITE(intack_w) AM_RANGE(0x18e0, 0x18e0) AM_MIRROR(0x071F) AM_WRITE(intack_w)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x07FC) AM_READ_PORT("DSW0") AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x07FC) AM_READ_PORT("DSW0")
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x07FC) AM_READ_PORT("DSW1") AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x07FC) AM_READ_PORT("DSW1")
@ -107,7 +108,7 @@ static ADDRESS_MAP_START( atari_s3_map, AS_PROGRAM, 8, atari_s2_state )
AM_RANGE(0x1860, 0x1867) AM_MIRROR(0x0718) AM_WRITE(lamp_w) AM_RANGE(0x1860, 0x1867) AM_MIRROR(0x0718) AM_WRITE(lamp_w)
AM_RANGE(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_w) AM_RANGE(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_w)
AM_RANGE(0x18a0, 0x18a7) AM_MIRROR(0x0718) AM_WRITE(sol1_w) AM_RANGE(0x18a0, 0x18a7) AM_MIRROR(0x0718) AM_WRITE(sol1_w)
AM_RANGE(0x18c0, 0x18c0) AM_MIRROR(0x071F) AM_WRITE(watchdog_reset_w) AM_RANGE(0x18c0, 0x18c0) AM_MIRROR(0x071F) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x18e0, 0x18e0) AM_MIRROR(0x071F) AM_WRITE(intack_w) AM_RANGE(0x18e0, 0x18e0) AM_MIRROR(0x071F) AM_WRITE(intack_w)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x07F4) AM_READ_PORT("DSW0") AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x07F4) AM_READ_PORT("DSW0")
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x07F4) AM_READ_PORT("DSW1") AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x07F4) AM_READ_PORT("DSW1")
@ -460,6 +461,7 @@ static MACHINE_CONFIG_START( atari_s2, atari_s2_state )
MCFG_CPU_ADD("maincpu", M6800, XTAL_4MHz / 4) MCFG_CPU_ADD("maincpu", M6800, XTAL_4MHz / 4)
MCFG_CPU_PROGRAM_MAP(atari_s2_map) MCFG_CPU_PROGRAM_MAP(atari_s2_map)
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* Sound */ /* Sound */
MCFG_FRAGMENT_ADD( genpin_audio ) MCFG_FRAGMENT_ADD( genpin_audio )

View File

@ -107,6 +107,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "includes/atarifb.h" #include "includes/atarifb.h"
#include "machine/watchdog.h"
#include "sound/discrete.h" #include "sound/discrete.h"
#include "atarifb.lh" #include "atarifb.lh"
@ -163,7 +164,7 @@ static ADDRESS_MAP_START( atarifb_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */ AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */
AM_RANGE(0x4000, 0x4000) AM_READ(atarifb_in0_r) AM_RANGE(0x4000, 0x4000) AM_READ(atarifb_in0_r)
AM_RANGE(0x4002, 0x4002) AM_READ(atarifb_in2_r) AM_RANGE(0x4002, 0x4002) AM_READ(atarifb_in2_r)
AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x5000, 0x5000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -184,7 +185,7 @@ static ADDRESS_MAP_START( atarifb4_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x4000, 0x4000) AM_READ(atarifb4_in0_r) AM_RANGE(0x4000, 0x4000) AM_READ(atarifb4_in0_r)
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("EXTRA") AM_RANGE(0x4001, 0x4001) AM_READ_PORT("EXTRA")
AM_RANGE(0x4002, 0x4002) AM_READ(atarifb4_in2_r) AM_RANGE(0x4002, 0x4002) AM_READ(atarifb4_in2_r)
AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x5000, 0x5000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -204,7 +205,7 @@ static ADDRESS_MAP_START( abaseb_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */ AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */
AM_RANGE(0x4000, 0x4000) AM_READ(atarifb_in0_r) AM_RANGE(0x4000, 0x4000) AM_READ(atarifb_in0_r)
AM_RANGE(0x4002, 0x4002) AM_READ(atarifb_in2_r) AM_RANGE(0x4002, 0x4002) AM_READ(atarifb_in2_r)
AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x5000, 0x5000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -221,7 +222,7 @@ static ADDRESS_MAP_START( soccer_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x1001, 0x1001) AM_WRITE(soccer_out1_w) /* OUT 1 */ AM_RANGE(0x1001, 0x1001) AM_WRITE(soccer_out1_w) /* OUT 1 */
AM_RANGE(0x1002, 0x1002) AM_WRITE(soccer_out2_w) /* OUT 2 */ AM_RANGE(0x1002, 0x1002) AM_WRITE(soccer_out2_w) /* OUT 2 */
AM_RANGE(0x1004, 0x1004) AM_WRITENOP /* Interrupt Acknowledge */ AM_RANGE(0x1004, 0x1004) AM_WRITENOP /* Interrupt Acknowledge */
AM_RANGE(0x1005, 0x1005) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1005, 0x1005) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1800, 0x1800) AM_READ(atarifb4_in0_r) AM_RANGE(0x1800, 0x1800) AM_READ(atarifb4_in0_r)
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("EXTRA") AM_RANGE(0x1801, 0x1801) AM_READ_PORT("EXTRA")
AM_RANGE(0x1802, 0x1802) AM_READ(atarifb4_in2_r) AM_RANGE(0x1802, 0x1802) AM_READ(atarifb4_in2_r)
@ -555,6 +556,7 @@ static MACHINE_CONFIG_START( atarifb, atarifb_state )
MCFG_CPU_PROGRAM_MAP(atarifb_map) MCFG_CPU_PROGRAM_MAP(atarifb_map)
MCFG_CPU_PERIODIC_INT_DRIVER(atarifb_state, irq0_line_hold, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(atarifb_state, irq0_line_hold, 4*60)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -21,6 +21,7 @@
#include "emu.h" #include "emu.h"
#include "machine/watchdog.h"
#include "video/atarirle.h" #include "video/atarirle.h"
#include "includes/atarig1.h" #include "includes/atarig1.h"
@ -192,7 +193,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0x038000, 0x03ffff) AM_ROM /* pitfight slapstic goes here */ AM_RANGE(0x038000, 0x03ffff) AM_ROM /* pitfight slapstic goes here */
AM_RANGE(0x040000, 0x077fff) AM_ROM AM_RANGE(0x040000, 0x077fff) AM_ROM
AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */ AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */
AM_RANGE(0xf80000, 0xf80001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xf80000, 0xf80001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xf88000, 0xf8ffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xf88000, 0xf8ffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00) AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
@ -433,6 +434,8 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom") MCFG_ATARI_EEPROM_2816_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig1) MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig1)
MCFG_PALETTE_ADD("palette", 1280) MCFG_PALETTE_ADD("palette", 1280)

View File

@ -20,6 +20,7 @@
***************************************************************************/ ***************************************************************************/
#include "emu.h" #include "emu.h"
#include "machine/watchdog.h"
#include "video/atarirle.h" #include "video/atarirle.h"
#include "includes/atarig42.h" #include "includes/atarig42.h"
@ -341,7 +342,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w) AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w)
AM_RANGE(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w) AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w)
AM_RANGE(0xe03800, 0xe03801) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xe03800, 0xe03801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xe80000, 0xe80fff) AM_RAM AM_RANGE(0xe80000, 0xe80fff) AM_RAM
AM_RANGE(0xf40000, 0xf40001) AM_DEVREAD("asic65", asic65_device, io_r) AM_RANGE(0xf40000, 0xf40001) AM_DEVREAD("asic65", asic65_device, io_r)
AM_RANGE(0xf60000, 0xf60001) AM_DEVREAD("asic65", asic65_device, read) AM_RANGE(0xf60000, 0xf60001) AM_DEVREAD("asic65", asic65_device, read)
@ -543,6 +544,8 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom") MCFG_ATARI_EEPROM_2816_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig42) MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig42)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)

View File

@ -195,6 +195,7 @@ RoadBlasters (aka Future Vette):005*
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "machine/6522via.h" #include "machine/6522via.h"
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "sound/pokey.h" #include "sound/pokey.h"
#include "video/atarimo.h" #include "video/atarimo.h"
@ -435,7 +436,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
AM_RANGE(0x820000, 0x820001) AM_WRITE(atarisy1_yscroll_w) AM_SHARE("yscroll") AM_RANGE(0x820000, 0x820001) AM_WRITE(atarisy1_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0x840000, 0x840001) AM_WRITE(atarisy1_priority_w) AM_RANGE(0x840000, 0x840001) AM_WRITE(atarisy1_priority_w)
AM_RANGE(0x860000, 0x860001) AM_WRITE(atarisy1_bankselect_w) AM_SHARE("bankselect") AM_RANGE(0x860000, 0x860001) AM_WRITE(atarisy1_bankselect_w) AM_SHARE("bankselect")
AM_RANGE(0x880000, 0x880001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x880000, 0x880001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(video_int_ack_w) AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(video_int_ack_w)
AM_RANGE(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0x900000, 0x9fffff) AM_RAM AM_RANGE(0x900000, 0x9fffff) AM_RAM
@ -721,6 +722,8 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
MCFG_TIMER_DRIVER_ADD("joystick_timer", atarisy1_state, delayed_joystick_int) MCFG_TIMER_DRIVER_ADD("joystick_timer", atarisy1_state, delayed_joystick_int)
MCFG_TIMER_DRIVER_ADD("scan_timer", atarisy1_state, atarisy1_int3_callback) MCFG_TIMER_DRIVER_ADD("scan_timer", atarisy1_state, atarisy1_int3_callback)
MCFG_TIMER_DRIVER_ADD("int3off_timer", atarisy1_state, atarisy1_int3off_callback) MCFG_TIMER_DRIVER_ADD("int3off_timer", atarisy1_state, atarisy1_int3off_callback)

View File

@ -763,7 +763,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy2_state )
AM_RANGE(0x1680, 0x1681) AM_MIRROR(0x007e) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x1680, 0x1681) AM_MIRROR(0x007e) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff)
AM_RANGE(0x1700, 0x1701) AM_MIRROR(0x007e) AM_WRITE(xscroll_w) AM_SHARE("xscroll") AM_RANGE(0x1700, 0x1701) AM_MIRROR(0x007e) AM_WRITE(xscroll_w) AM_SHARE("xscroll")
AM_RANGE(0x1780, 0x1781) AM_MIRROR(0x007e) AM_WRITE(yscroll_w) AM_SHARE("yscroll") AM_RANGE(0x1780, 0x1781) AM_MIRROR(0x007e) AM_WRITE(yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0x1800, 0x1801) AM_MIRROR(0x03fe) AM_READ(switch_r) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x1800, 0x1801) AM_MIRROR(0x03fe) AM_READ(switch_r) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x1c00, 0x1c01) AM_MIRROR(0x03fe) AM_READ(sound_r) AM_RANGE(0x1c00, 0x1c01) AM_MIRROR(0x03fe) AM_READ(sound_r)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(videoram_r, videoram_w) AM_RANGE(0x2000, 0x3fff) AM_READWRITE(videoram_r, videoram_w)
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("rombank1") AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("rombank1")
@ -1199,6 +1199,8 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
MCFG_EEPROM_2804_ADD("eeprom") MCFG_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarisy2) MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarisy2)
MCFG_PALETTE_ADD("palette", 256) MCFG_PALETTE_ADD("palette", 256)

View File

@ -56,6 +56,7 @@
#include "sound/sn76496.h" #include "sound/sn76496.h"
#include "sound/pokey.h" #include "sound/pokey.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#define MASTER_CLOCK XTAL_14_31818MHz #define MASTER_CLOCK XTAL_14_31818MHz
@ -198,7 +199,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram") AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_device, read, write) AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_device, read, write)
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey2", pokey_device, read, write) AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey2", pokey_device, read, write)
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3400, 0x3400) AM_MIRROR(0x03ff) AM_WRITE(nvram_enable_w) AM_RANGE(0x3400, 0x3400) AM_MIRROR(0x03ff) AM_WRITE(nvram_enable_w)
AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x03ff) AM_WRITE(irq_ack_w) AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x03ff) AM_WRITE(irq_ack_w)
AM_RANGE(0x3c00, 0x3c00) AM_MIRROR(0x03ff) AM_WRITE(coincount_w) AM_RANGE(0x3c00, 0x3c00) AM_MIRROR(0x03ff) AM_WRITE(coincount_w)
@ -218,7 +219,7 @@ static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x2806, 0x2806) AM_DEVWRITE("sn3", sn76496_device, write) AM_RANGE(0x2806, 0x2806) AM_DEVWRITE("sn3", sn76496_device, write)
AM_RANGE(0x2808, 0x2808) AM_READ_PORT("IN0") AM_RANGE(0x2808, 0x2808) AM_READ_PORT("IN0")
AM_RANGE(0x2818, 0x2818) AM_READ_PORT("IN1") AM_RANGE(0x2818, 0x2818) AM_READ_PORT("IN1")
AM_RANGE(0x3000, 0x3000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3400, 0x3400) AM_WRITE(nvram_enable_w) AM_RANGE(0x3400, 0x3400) AM_WRITE(nvram_enable_w)
AM_RANGE(0x3800, 0x3800) AM_WRITE(irq_ack_w) AM_RANGE(0x3800, 0x3800) AM_WRITE(irq_ack_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(coincount_w) AM_RANGE(0x3c00, 0x3c00) AM_WRITE(coincount_w)
@ -238,7 +239,7 @@ static ADDRESS_MAP_START( atetrisb3_map, AS_PROGRAM, 8, atetris_state )
//AM_RANGE(0x2806, 0x2806) AM_DEVWRITE("sn3", sn76489_device, write) //AM_RANGE(0x2806, 0x2806) AM_DEVWRITE("sn3", sn76489_device, write)
AM_RANGE(0x2808, 0x2808) AM_READ_PORT("IN0") AM_RANGE(0x2808, 0x2808) AM_READ_PORT("IN0")
AM_RANGE(0x2818, 0x2818) AM_READ_PORT("IN1") AM_RANGE(0x2818, 0x2818) AM_READ_PORT("IN1")
AM_RANGE(0x3000, 0x3000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3400, 0x3400) AM_WRITE(nvram_enable_w) AM_RANGE(0x3400, 0x3400) AM_WRITE(nvram_enable_w)
AM_RANGE(0x3800, 0x3800) AM_WRITE(irq_ack_w) AM_RANGE(0x3800, 0x3800) AM_WRITE(irq_ack_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(coincount_w) AM_RANGE(0x3c00, 0x3c00) AM_WRITE(coincount_w)
@ -334,6 +335,8 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris) MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris)
@ -371,6 +374,8 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris) MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris)

View File

@ -32,6 +32,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "sound/discrete.h" #include "sound/discrete.h"
#include "includes/avalnche.h" #include "includes/avalnche.h"
@ -117,7 +118,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, avalnche_state )
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1") AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE") AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w) AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_WRITE(avalnche_attract_enable_w) AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_WRITE(avalnche_attract_enable_w)
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w) AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
@ -135,7 +136,7 @@ static ADDRESS_MAP_START( catch_map, AS_PROGRAM, 8, avalnche_state )
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1") AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE") AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w) AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_WRITE(avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */ // AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_WRITE(avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w) AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
@ -250,6 +251,7 @@ static MACHINE_CONFIG_START( avalnche, avalnche_state )
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_PERIODIC_INT_DRIVER(avalnche_state, nmi_line_pulse, 8*60) MCFG_CPU_PERIODIC_INT_DRIVER(avalnche_state, nmi_line_pulse, 8*60)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -21,7 +21,7 @@
#include "includes/aztarac.h" #include "includes/aztarac.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
/************************************* /*************************************
@ -83,7 +83,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aztarac_state )
AM_RANGE(0x027004, 0x027005) AM_READ_PORT("INPUTS") AM_RANGE(0x027004, 0x027005) AM_READ_PORT("INPUTS")
AM_RANGE(0x027008, 0x027009) AM_READWRITE(sound_r, sound_w) AM_RANGE(0x027008, 0x027009) AM_READWRITE(sound_r, sound_w)
AM_RANGE(0x02700c, 0x02700d) AM_READ_PORT("DIAL") AM_RANGE(0x02700c, 0x02700d) AM_READ_PORT("DIAL")
AM_RANGE(0x02700e, 0x02700f) AM_READ(watchdog_reset16_r) AM_RANGE(0x02700e, 0x02700f) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
AM_RANGE(0xff8000, 0xffafff) AM_RAM AM_SHARE("vectorram") AM_RANGE(0xff8000, 0xffafff) AM_RAM AM_SHARE("vectorram")
AM_RANGE(0xffb000, 0xffb001) AM_WRITE(ubr_w) AM_RANGE(0xffb000, 0xffb001) AM_WRITE(ubr_w)
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_RANGE(0xffe000, 0xffffff) AM_RAM
@ -159,6 +159,8 @@ static MACHINE_CONFIG_START( aztarac, aztarac_state )
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_VECTOR_ADD("vector") MCFG_VECTOR_ADD("vector")
MCFG_SCREEN_ADD("screen", VECTOR) MCFG_SCREEN_ADD("screen", VECTOR)

View File

@ -167,6 +167,7 @@ Measurements -
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "includes/badlands.h" #include "includes/badlands.h"
@ -376,7 +377,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc1fff) AM_READ(sound_busy_r) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xfc0000, 0xfc1fff) AM_READ(sound_busy_r) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w)
AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff)
AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfe0000, 0xfe1fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000") AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000")
AM_RANGE(0xfe6000, 0xfe6001) AM_READ_PORT("FE6000") AM_RANGE(0xfe6000, 0xfe6001) AM_READ_PORT("FE6000")
@ -509,6 +510,8 @@ static MACHINE_CONFIG_START( badlands, badlands_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom") MCFG_ATARI_EEPROM_2816_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", badlands) MCFG_GFXDECODE_ADD("gfxdecode", "palette", badlands)
MCFG_PALETTE_ADD("palette", 256) MCFG_PALETTE_ADD("palette", 256)
@ -649,7 +652,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff)
//AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) //AM_RANGE(0xfe0000, 0xfe1fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w) AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)

View File

@ -233,6 +233,7 @@ DIP locations verified for:
#include "includes/balsente.h" #include "includes/balsente.h"
#include "sound/cem3394.h" #include "sound/cem3394.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "stocker.lh" #include "stocker.lh"
@ -254,7 +255,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, balsente_state )
AM_RANGE(0x9880, 0x989f) AM_WRITE(balsente_random_reset_w) AM_RANGE(0x9880, 0x989f) AM_WRITE(balsente_random_reset_w)
AM_RANGE(0x98a0, 0x98bf) AM_WRITE(balsente_rombank_select_w) AM_RANGE(0x98a0, 0x98bf) AM_WRITE(balsente_rombank_select_w)
AM_RANGE(0x98c0, 0x98df) AM_WRITE(balsente_palette_select_w) AM_RANGE(0x98c0, 0x98df) AM_WRITE(balsente_palette_select_w)
AM_RANGE(0x98e0, 0x98ff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x98e0, 0x98ff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x9900, 0x9900) AM_READ_PORT("SWH") AM_RANGE(0x9900, 0x9900) AM_READ_PORT("SWH")
AM_RANGE(0x9901, 0x9901) AM_READ_PORT("SWG") AM_RANGE(0x9901, 0x9901) AM_READ_PORT("SWG")
AM_RANGE(0x9902, 0x9902) AM_READ_PORT("IN0") AM_RANGE(0x9902, 0x9902) AM_READ_PORT("IN0")
@ -1289,6 +1290,8 @@ static MACHINE_CONFIG_START( balsente, balsente_state )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
MCFG_TIMER_DRIVER_ADD("scan_timer", balsente_state, balsente_interrupt_timer) MCFG_TIMER_DRIVER_ADD("scan_timer", balsente_state, balsente_interrupt_timer)
MCFG_TIMER_DRIVER_ADD("8253_0_timer", balsente_state, balsente_clock_counter_0_ff) MCFG_TIMER_DRIVER_ADD("8253_0_timer", balsente_state, balsente_clock_counter_0_ff)
MCFG_TIMER_DRIVER_ADD("8253_1_timer", balsente_state, balsente_counter_callback) MCFG_TIMER_DRIVER_ADD("8253_1_timer", balsente_state, balsente_counter_callback)

View File

@ -110,6 +110,7 @@ DIP locations verified for:
#include "emu.h" #include "emu.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "machine/watchdog.h"
#include "includes/baraduke.h" #include "includes/baraduke.h"
@ -166,7 +167,7 @@ static ADDRESS_MAP_START( baraduke_map, AS_PROGRAM, 8, baraduke_state )
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(baraduke_videoram_r,baraduke_videoram_w) AM_SHARE("videoram") /* Video RAM */ AM_RANGE(0x2000, 0x3fff) AM_READWRITE(baraduke_videoram_r,baraduke_videoram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */ AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
AM_RANGE(0x4800, 0x4fff) AM_READWRITE(baraduke_textram_r,baraduke_textram_w) AM_SHARE("textram")/* video RAM (text layer) */ AM_RANGE(0x4800, 0x4fff) AM_READWRITE(baraduke_textram_r,baraduke_textram_w) AM_SHARE("textram")/* video RAM (text layer) */
AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* watchdog reset */
AM_RANGE(0x8800, 0x8800) AM_WRITE(baraduke_irq_ack_w) /* irq acknowledge */ AM_RANGE(0x8800, 0x8800) AM_WRITE(baraduke_irq_ack_w) /* irq acknowledge */
AM_RANGE(0xb000, 0xb002) AM_WRITE(baraduke_scroll0_w) /* scroll (layer 0) */ AM_RANGE(0xb000, 0xb002) AM_WRITE(baraduke_scroll0_w) /* scroll (layer 0) */
AM_RANGE(0xb004, 0xb006) AM_WRITE(baraduke_scroll1_w) /* scroll (layer 1) */ AM_RANGE(0xb004, 0xb006) AM_WRITE(baraduke_scroll1_w) /* scroll (layer 1) */
@ -380,6 +381,8 @@ static MACHINE_CONFIG_START( baraduke, baraduke_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */ MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 0, 36*8, 264, 2*8, 30*8) MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 0, 36*8, 264, 2*8, 30*8)

View File

@ -21,6 +21,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/watchdog.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/batman.h" #include "includes/batman.h"
@ -105,7 +106,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff) AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w) AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w)
AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write) AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2") AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
@ -205,6 +206,8 @@ static MACHINE_CONFIG_START( batman, batman_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom") MCFG_ATARI_EEPROM_2816_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", batman) MCFG_GFXDECODE_ADD("gfxdecode", "palette", batman)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)

View File

@ -15,6 +15,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6809/hd6309.h" #include "cpu/m6809/hd6309.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/3812intf.h" #include "sound/3812intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/battlnts.h" #include "includes/battlnts.h"
@ -69,7 +70,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x2e04, 0x2e04) AM_READ_PORT("DSW2") AM_RANGE(0x2e04, 0x2e04) AM_READ_PORT("DSW2")
AM_RANGE(0x2e08, 0x2e08) AM_WRITE(battlnts_bankswitch_w) /* bankswitch control */ AM_RANGE(0x2e08, 0x2e08) AM_WRITE(battlnts_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2e0c, 0x2e0c) AM_WRITE(battlnts_spritebank_w) /* sprite bank select */ AM_RANGE(0x2e0c, 0x2e0c) AM_WRITE(battlnts_spritebank_w) /* sprite bank select */
AM_RANGE(0x2e10, 0x2e10) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x2e10, 0x2e10) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2e14, 0x2e14) AM_WRITE(soundlatch_byte_w) /* sound code # */ AM_RANGE(0x2e14, 0x2e14) AM_WRITE(soundlatch_byte_w) /* sound code # */
AM_RANGE(0x2e18, 0x2e18) AM_WRITE(battlnts_sh_irqtrigger_w) /* cause interrupt on audio CPU */ AM_RANGE(0x2e18, 0x2e18) AM_WRITE(battlnts_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("rombank") /* banked ROM */ AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("rombank") /* banked ROM */
@ -234,6 +235,7 @@ static MACHINE_CONFIG_START( battlnts, battlnts_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz / 6 /* 3579545? */) MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz / 6 /* 3579545? */)
MCFG_CPU_PROGRAM_MAP(battlnts_sound_map) MCFG_CPU_PROGRAM_MAP(battlnts_sound_map)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -102,7 +102,7 @@
#include "emu.h" #include "emu.h"
#include "includes/beathead.h" #include "includes/beathead.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#define MAX_SCANLINES 262 #define MAX_SCANLINES 262
@ -290,7 +290,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, beathead_state)
AM_RANGE(0x41000400, 0x41000403) AM_WRITEONLY AM_SHARE("palette_select") AM_RANGE(0x41000400, 0x41000403) AM_WRITEONLY AM_SHARE("palette_select")
AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w) AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x41000600, 0x41000603) AM_WRITE(finescroll_w) AM_RANGE(0x41000600, 0x41000603) AM_WRITE(finescroll_w)
AM_RANGE(0x41000700, 0x41000703) AM_WRITE(watchdog_reset32_w) AM_RANGE(0x41000700, 0x41000703) AM_DEVWRITE("watchdog", watchdog_timer_device, reset32_w)
AM_RANGE(0x42000000, 0x4201ffff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette") AM_RANGE(0x42000000, 0x4201ffff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w) AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w)
AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */ AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */
@ -368,6 +368,8 @@ static MACHINE_CONFIG_START( beathead, beathead_state )
MCFG_NVRAM_ADD_1FILL("nvram") MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
MCFG_TIMER_DRIVER_ADD("scan_timer", beathead_state, scanline_callback) MCFG_TIMER_DRIVER_ADD("scan_timer", beathead_state, scanline_callback)
/* video hardware */ /* video hardware */

View File

@ -93,6 +93,8 @@ static MACHINE_CONFIG_START( beezer, beezer_state )
MCFG_CPU_ADD("audiocpu", M6809, 1000000) /* 1 MHz */ MCFG_CPU_ADD("audiocpu", M6809, 1000000) /* 1 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -98,6 +98,7 @@ Optional (on expansion card) (Viper)
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/upd7759.h" #include "sound/upd7759.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "machine/bfm_comn.h" #include "machine/bfm_comn.h"
#include "sc1_vfd.lh" #include "sc1_vfd.lh"
@ -689,7 +690,7 @@ static ADDRESS_MAP_START( sc1_base, AS_PROGRAM, 8, bfm_sc1_state )
AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM
AM_RANGE(0x6000, 0x7FFF) AM_ROMBANK("bank1") // 8k paged ROM (4 pages) AM_RANGE(0x6000, 0x7FFF) AM_ROMBANK("bank1") // 8k paged ROM (4 pages)
AM_RANGE(0x8000, 0xFFFF) AM_ROM AM_WRITE (watchdog_reset_w) // 32k ROM AM_RANGE(0x8000, 0xFFFF) AM_ROM AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) // 32k ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -1066,6 +1067,8 @@ static MACHINE_CONFIG_START( scorpion1, bfm_sc1_state )
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
MCFG_CPU_PROGRAM_MAP(sc1_base) // setup read and write memorymap MCFG_CPU_PROGRAM_MAP(sc1_base) // setup read and write memorymap
MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc1_state, timer_irq, 1000) // generate 1000 IRQ's per second MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc1_state, timer_irq, 1000) // generate 1000 IRQ's per second
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))

View File

@ -145,6 +145,7 @@ Adder hardware:
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "video/bfm_adr2.h" #include "video/bfm_adr2.h"
@ -1439,7 +1440,7 @@ static ADDRESS_MAP_START( sc2_basemap, AS_PROGRAM, 8, bfm_sc2_state )
AM_RANGE(0x232F, 0x232F) AM_WRITE(coininhib_w) AM_RANGE(0x232F, 0x232F) AM_WRITE(coininhib_w)
AM_RANGE(0x2330, 0x2330) AM_WRITE(payout_latch_w) AM_RANGE(0x2330, 0x2330) AM_WRITE(payout_latch_w)
AM_RANGE(0x2331, 0x2331) AM_WRITE(payout_triac_w) AM_RANGE(0x2331, 0x2331) AM_WRITE(payout_triac_w)
AM_RANGE(0x2332, 0x2332) AM_WRITE(watchdog_reset_w) AM_RANGE(0x2332, 0x2332) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2333, 0x2333) AM_WRITE(mmtr_w) AM_RANGE(0x2333, 0x2333) AM_WRITE(mmtr_w)
AM_RANGE(0x2334, 0x2335) AM_WRITE(unknown_w) AM_RANGE(0x2334, 0x2335) AM_WRITE(unknown_w)
AM_RANGE(0x2336, 0x2336) AM_WRITE(dimcnt_w) AM_RANGE(0x2336, 0x2336) AM_WRITE(dimcnt_w)
@ -2169,9 +2170,11 @@ static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state )
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(memmap_vid) // setup scorpion2 board memorymap MCFG_CPU_PROGRAM_MAP(memmap_vid) // setup scorpion2 board memorymap
MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000) // generate 1000 IRQ's per second MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000) // generate 1000 IRQ's per second
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !! MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !!
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
MCFG_BFMBD1_ADD("vfd0",0) MCFG_BFMBD1_ADD("vfd0",0)
MCFG_BFMBD1_ADD("vfd1",1) MCFG_BFMBD1_ADD("vfd1",1)
@ -3624,6 +3627,8 @@ static MACHINE_CONFIG_START( scorpion2, bfm_sc2_state )
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MCFG_CPU_PROGRAM_MAP(memmap_no_vid) MCFG_CPU_PROGRAM_MAP(memmap_no_vid)
MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000) MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
MCFG_BFMBD1_ADD("vfd0",0) MCFG_BFMBD1_ADD("vfd0",0)
@ -3682,6 +3687,8 @@ static MACHINE_CONFIG_START( scorpion2_dm01, bfm_sc2_state )
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MCFG_CPU_PROGRAM_MAP(memmap_no_vid) MCFG_CPU_PROGRAM_MAP(memmap_no_vid)
MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000) MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -20,6 +20,7 @@ DIP Locations verified for:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6805/m6805.h" #include "cpu/m6805/m6805.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "includes/bking.h" #include "includes/bking.h"
@ -91,7 +92,7 @@ static ADDRESS_MAP_START( bking_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE(bking_xld3_w) AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE(bking_xld3_w)
AM_RANGE(0x05, 0x05) AM_READWRITE(bking_input_port_5_r, bking_yld3_w) AM_RANGE(0x05, 0x05) AM_READWRITE(bking_input_port_5_r, bking_yld3_w)
AM_RANGE(0x06, 0x06) AM_READWRITE(bking_input_port_6_r, bking_msk_w) AM_RANGE(0x06, 0x06) AM_READWRITE(bking_input_port_6_r, bking_msk_w)
AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w) AM_RANGE(0x07, 0x07) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x08, 0x08) AM_WRITE(bking_cont1_w) AM_RANGE(0x08, 0x08) AM_WRITE(bking_cont1_w)
AM_RANGE(0x09, 0x09) AM_WRITE(bking_cont2_w) AM_RANGE(0x09, 0x09) AM_WRITE(bking_cont2_w)
AM_RANGE(0x0a, 0x0a) AM_WRITE(bking_cont3_w) AM_RANGE(0x0a, 0x0a) AM_WRITE(bking_cont3_w)
@ -110,7 +111,7 @@ static ADDRESS_MAP_START( bking3_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE(bking_xld3_w) AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE(bking_xld3_w)
AM_RANGE(0x05, 0x05) AM_READWRITE(bking_input_port_5_r, bking_yld3_w) AM_RANGE(0x05, 0x05) AM_READWRITE(bking_input_port_5_r, bking_yld3_w)
AM_RANGE(0x06, 0x06) AM_READWRITE(bking_input_port_6_r, bking_msk_w) AM_RANGE(0x06, 0x06) AM_READWRITE(bking_input_port_6_r, bking_msk_w)
AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w) AM_RANGE(0x07, 0x07) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x08, 0x08) AM_WRITE(bking_cont1_w) AM_RANGE(0x08, 0x08) AM_WRITE(bking_cont1_w)
AM_RANGE(0x09, 0x09) AM_WRITE(bking_cont2_w) AM_RANGE(0x09, 0x09) AM_WRITE(bking_cont2_w)
AM_RANGE(0x0a, 0x0a) AM_WRITE(bking_cont3_w) AM_RANGE(0x0a, 0x0a) AM_WRITE(bking_cont3_w)
@ -463,6 +464,8 @@ static MACHINE_CONFIG_START( bking, bking_state )
/* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */ /* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
MCFG_CPU_PERIODIC_INT_DRIVER(bking_state, irq0_line_hold, (double)6000000/(4*16*16*10*16)) MCFG_CPU_PERIODIC_INT_DRIVER(bking_state, irq0_line_hold, (double)6000000/(4*16*16*10*16))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -31,6 +31,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "cpu/m6809/hd6309.h" #include "cpu/m6809/hd6309.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/bladestl.h" #include "includes/bladestl.h"
@ -133,7 +134,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x2e03, 0x2e03) AM_READ_PORT("DSW2") /* DISPW #2 */ AM_RANGE(0x2e03, 0x2e03) AM_READ_PORT("DSW2") /* DISPW #2 */
AM_RANGE(0x2e40, 0x2e40) AM_READ_PORT("DSW1") /* DIPSW #1 */ AM_RANGE(0x2e40, 0x2e40) AM_READ_PORT("DSW1") /* DIPSW #1 */
AM_RANGE(0x2e80, 0x2e80) AM_WRITE(bladestl_sh_irqtrigger_w) /* cause interrupt on audio CPU */ AM_RANGE(0x2e80, 0x2e80) AM_WRITE(bladestl_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x2ec0, 0x2ec0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2f00, 0x2f03) AM_READ(trackball_r) /* Trackballs */ AM_RANGE(0x2f00, 0x2f03) AM_READ(trackball_r) /* Trackballs */
AM_RANGE(0x2f40, 0x2f40) AM_WRITE(bladestl_bankswitch_w) /* bankswitch control */ AM_RANGE(0x2f40, 0x2f40) AM_WRITE(bladestl_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2f80, 0x2f9f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* Protection: 051733 */ AM_RANGE(0x2f80, 0x2f9f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* Protection: 051733 */
@ -307,6 +308,7 @@ static MACHINE_CONFIG_START( bladestl, bladestl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_QUANTUM_TIME(attotime::from_hz(600))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -17,6 +17,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "cpu/mcs51/mcs51.h" #include "cpu/mcs51/mcs51.h"
#include "includes/blktiger.h" #include "includes/blktiger.h"
@ -88,7 +89,7 @@ static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8, blktiger_state )
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w) AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w) AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE") AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
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_READWRITE(blktiger_from_mcu_r,blktiger_to_mcu_w) /* Software protection (7) */ AM_RANGE(0x07, 0x07) AM_READWRITE(blktiger_from_mcu_r,blktiger_to_mcu_w) /* Software protection (7) */
AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w) AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w) AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
@ -105,7 +106,7 @@ static ADDRESS_MAP_START( blktigerbl_io_map, AS_IO, 8, blktiger_state )
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w) AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w) AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE") AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
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_NOP /* Software protection (7) */ AM_RANGE(0x07, 0x07) AM_NOP /* Software protection (7) */
AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w) AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w) AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
@ -313,6 +314,7 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
MCFG_CPU_IO_MAP(blktiger_mcu_io_map) MCFG_CPU_IO_MAP(blktiger_mcu_io_map)
//MCFG_CPU_VBLANK_INT_DRIVER("screen", blktiger_state, irq0_line_hold) //MCFG_CPU_VBLANK_INT_DRIVER("screen", blktiger_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -21,6 +21,7 @@
#include "cpu/m6809/konami.h" #include "cpu/m6809/konami.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/bankdev.h" #include "machine/bankdev.h"
#include "machine/watchdog.h"
#include "video/k052109.h" #include "video/k052109.h"
#include "video/k051960.h" #include "video/k051960.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
@ -73,7 +74,7 @@ private:
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state ) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_byte_w) AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(sound_irq_w) AM_RANGE(0x1f88, 0x1f88) AM_WRITE(sound_irq_w)
AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1f8c, 0x1f8c) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW3") AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW3")
AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1") AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2") AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
@ -281,6 +282,8 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz)
MCFG_CPU_PROGRAM_MAP(audio_map) MCFG_CPU_PROGRAM_MAP(audio_map)
MCFG_WATCHDOG_ADD("watchdog")
// video hardware // video hardware
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)

View File

@ -21,6 +21,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/watchdog.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "includes/blstroid.h" #include "includes/blstroid.h"
@ -64,7 +65,7 @@ MACHINE_RESET_MEMBER(blstroid_state,blstroid)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state ) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x7c0000) AM_ROM AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x7c0000) AM_ROM
AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x7f81fe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x7f81fe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xff8200, 0xff8201) AM_MIRROR(0x7f81fe) AM_WRITE(scanline_int_ack_w) AM_RANGE(0xff8200, 0xff8201) AM_MIRROR(0x7f81fe) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE(video_int_ack_w) AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE(video_int_ack_w)
AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
@ -181,6 +182,8 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", blstroid) MCFG_GFXDECODE_ADD("gfxdecode", "palette", blstroid)

View File

@ -50,6 +50,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/blueprnt.h" #include "includes/blueprnt.h"
@ -105,7 +106,7 @@ static ADDRESS_MAP_START( blueprnt_map, AS_PROGRAM, 8, blueprnt_state )
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2") AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r) AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w) AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w)
AM_RANGE(0xe000, 0xe000) AM_READ(watchdog_reset_r) AM_WRITE(blueprnt_flipscreen_w) AM_RANGE(0xe000, 0xe000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(blueprnt_flipscreen_w)
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram") AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram")
ADDRESS_MAP_END ADDRESS_MAP_END
@ -351,6 +352,8 @@ static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu") MCFG_QUANTUM_PERFECT_CPU("maincpu")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -17,6 +17,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/bottom9.h" #include "includes/bottom9.h"
@ -158,7 +159,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bottom9_bankedram1_r, bottom9_bankedram1_w) AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bottom9_bankedram1_r, bottom9_bankedram1_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w) AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w) AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w)
AM_RANGE(0x1fa0, 0x1fa0) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1fa0, 0x1fa0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_byte_w) AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w) AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w)
AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM") AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM")
@ -304,6 +305,8 @@ static MACHINE_CONFIG_START( bottom9, bottom9_state )
MCFG_CPU_PROGRAM_MAP(audio_map) MCFG_CPU_PROGRAM_MAP(audio_map)
MCFG_CPU_PERIODIC_INT_DRIVER(bottom9_state, bottom9_sound_interrupt, 8*60) /* irq is triggered by the main CPU */ MCFG_CPU_PERIODIC_INT_DRIVER(bottom9_state, bottom9_sound_interrupt, 8*60) /* irq is triggered by the main CPU */
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -12,7 +12,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#define MASTER_CLOCK XTAL_12_096MHz #define MASTER_CLOCK XTAL_12_096MHz
@ -346,7 +346,7 @@ static ADDRESS_MAP_START( boxer_map, AS_PROGRAM, 8, boxer_state )
AM_RANGE(0x1c00, 0x1cff) AM_WRITE(boxer_irq_reset_w) AM_RANGE(0x1c00, 0x1cff) AM_WRITE(boxer_irq_reset_w)
AM_RANGE(0x1d00, 0x1dff) AM_WRITE(boxer_bell_w) AM_RANGE(0x1d00, 0x1dff) AM_WRITE(boxer_bell_w)
AM_RANGE(0x1e00, 0x1eff) AM_WRITEONLY AM_SHARE("sprite_ram") AM_RANGE(0x1e00, 0x1eff) AM_WRITEONLY AM_SHARE("sprite_ram")
AM_RANGE(0x1f00, 0x1fff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1f00, 0x1fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3000, 0x3fff) AM_ROM AM_RANGE(0x3000, 0x3fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -480,6 +480,7 @@ static MACHINE_CONFIG_START( boxer, boxer_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16) MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16)
MCFG_CPU_PROGRAM_MAP(boxer_map) MCFG_CPU_PROGRAM_MAP(boxer_map)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -276,6 +276,7 @@ TODO:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "sound/3526intf.h" #include "sound/3526intf.h"
#include "cpu/m6805/m6805.h" #include "cpu/m6805/m6805.h"
@ -300,7 +301,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w) AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w) AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w)
AM_RANGE(0xfa80, 0xfa80) AM_WRITE(watchdog_reset_w) AM_RANGE(0xfa80, 0xfa80) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xfb40, 0xfb40) AM_WRITE(bublbobl_bankswitch_w) AM_RANGE(0xfb40, 0xfb40) AM_WRITE(bublbobl_bankswitch_w)
AM_RANGE(0xfc00, 0xffff) AM_RAM AM_SHARE("mcu_sharedram") AM_RANGE(0xfc00, 0xffff) AM_RAM AM_SHARE("mcu_sharedram")
ADDRESS_MAP_END ADDRESS_MAP_END
@ -378,7 +379,7 @@ static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_SHARE("objectram") AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1") AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(watchdog_reset_w) AM_RANGE(0xfa00, 0xfa00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0") AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1") AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
AM_RANGE(0xfa05, 0xfa05) AM_READ_PORT("IN0") AM_RANGE(0xfa05, 0xfa05) AM_READ_PORT("IN0")
@ -782,6 +783,8 @@ static MACHINE_CONFIG_START( tokio, bublbobl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(bublbobl_state, tokio) MCFG_MACHINE_START_OVERRIDE(bublbobl_state, tokio)
MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, tokio) MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, tokio)
@ -864,6 +867,8 @@ static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
MCFG_WATCHDOG_ADD("watchdog")
MCFG_MACHINE_START_OVERRIDE(bublbobl_state, bublbobl) MCFG_MACHINE_START_OVERRIDE(bublbobl_state, bublbobl)
MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, bublbobl) MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, bublbobl)

View File

@ -80,6 +80,7 @@ Dip locations and factory settings verified from dip listing
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6805/m6805.h" #include "cpu/m6805/m6805.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/buggychl.h" #include "includes/buggychl.h"
@ -137,7 +138,7 @@ static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("videoram") AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xd100, 0xd100) AM_WRITE(buggychl_ctrl_w) AM_RANGE(0xd100, 0xd100) AM_WRITE(buggychl_ctrl_w)
AM_RANGE(0xd200, 0xd200) AM_WRITE(bankswitch_w) AM_RANGE(0xd200, 0xd200) AM_WRITE(bankswitch_w)
AM_RANGE(0xd300, 0xd300) AM_WRITE(watchdog_reset_w) AM_RANGE(0xd300, 0xd300) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xd303, 0xd303) AM_WRITE(buggychl_sprite_lookup_bank_w) AM_RANGE(0xd303, 0xd303) AM_WRITE(buggychl_sprite_lookup_bank_w)
AM_RANGE(0xd400, 0xd400) AM_DEVREADWRITE("bmcu", buggychl_mcu_device, buggychl_mcu_r, buggychl_mcu_w) AM_RANGE(0xd400, 0xd400) AM_DEVREADWRITE("bmcu", buggychl_mcu_device, buggychl_mcu_r, buggychl_mcu_w)
AM_RANGE(0xd401, 0xd401) AM_DEVREAD("bmcu", buggychl_mcu_device, buggychl_mcu_status_r) AM_RANGE(0xd401, 0xd401) AM_DEVREAD("bmcu", buggychl_mcu_device, buggychl_mcu_status_r)
@ -373,6 +374,7 @@ static MACHINE_CONFIG_START( buggychl, buggychl_state )
MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map) MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0) MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -220,6 +220,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "video/vector.h" #include "video/vector.h"
#include "video/avgdvg.h" #include "video/avgdvg.h"
#include "machine/atari_vg.h" #include "machine/atari_vg.h"
@ -400,7 +401,7 @@ static ADDRESS_MAP_START( bwidowp_map, AS_PROGRAM, 8, bwidow_state )
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0") AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("avg", avg_device, go_w) AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("avg", avg_device, go_w)
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("avg", avg_device, reset_w) AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("avg", avg_device, reset_w)
AM_RANGE(0x3000, 0x3000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3800, 0x3800) AM_WRITE(bwidow_misc_w) /* coin counters, leds */ AM_RANGE(0x3800, 0x3800) AM_WRITE(bwidow_misc_w) /* coin counters, leds */
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x4000) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x4000)
AM_RANGE(0x4800, 0x6fff) AM_ROM AM_RANGE(0x4800, 0x6fff) AM_ROM
@ -757,6 +758,7 @@ static MACHINE_CONFIG_DERIVED( bwidowp, bwidow )
MCFG_CPU_MODIFY("maincpu") MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bwidowp_map) MCFG_CPU_PROGRAM_MAP(bwidowp_map)
MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gravitar, bwidow ) static MACHINE_CONFIG_DERIVED( gravitar, bwidow )

View File

@ -208,6 +208,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "video/vector.h" #include "video/vector.h"
#include "video/avgdvg.h" #include "video/avgdvg.h"
#include "machine/atari_vg.h" #include "machine/atari_vg.h"
@ -304,7 +305,7 @@ static ADDRESS_MAP_START( bzone_map, AS_PROGRAM, 8, bzone_state )
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1") AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1")
AM_RANGE(0x1000, 0x1000) AM_WRITE(bzone_coin_counter_w) AM_RANGE(0x1000, 0x1000) AM_WRITE(bzone_coin_counter_w)
AM_RANGE(0x1200, 0x1200) AM_DEVWRITE("avg", avg_bzone_device, go_w) AM_RANGE(0x1200, 0x1200) AM_DEVWRITE("avg", avg_bzone_device, go_w)
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1400, 0x1400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1600, 0x1600) AM_DEVWRITE("avg", avg_bzone_device, reset_w) AM_RANGE(0x1600, 0x1600) AM_DEVWRITE("avg", avg_bzone_device, reset_w)
AM_RANGE(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_r) AM_RANGE(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_r)
AM_RANGE(0x1810, 0x1810) AM_DEVREAD("mathbox", mathbox_device, lo_r) AM_RANGE(0x1810, 0x1810) AM_DEVREAD("mathbox", mathbox_device, lo_r)
@ -324,7 +325,7 @@ static ADDRESS_MAP_START( redbaron_map, AS_PROGRAM, 8, bzone_state )
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1") AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1")
AM_RANGE(0x1000, 0x1000) AM_WRITENOP /* coin out - Manual states this is "Coin Counter" */ AM_RANGE(0x1000, 0x1000) AM_WRITENOP /* coin out - Manual states this is "Coin Counter" */
AM_RANGE(0x1200, 0x1200) AM_DEVWRITE("avg", avg_bzone_device, go_w) AM_RANGE(0x1200, 0x1200) AM_DEVWRITE("avg", avg_bzone_device, go_w)
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1400, 0x1400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1600, 0x1600) AM_DEVWRITE("avg", avg_bzone_device, reset_w) AM_RANGE(0x1600, 0x1600) AM_DEVWRITE("avg", avg_bzone_device, reset_w)
AM_RANGE(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_r) AM_RANGE(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_r)
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN4") AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN4")
@ -538,6 +539,8 @@ static MACHINE_CONFIG_START( bzone_base, bzone_state )
MCFG_CPU_PROGRAM_MAP(bzone_map) MCFG_CPU_PROGRAM_MAP(bzone_map)
MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt, BZONE_CLOCK_3KHZ / 12) MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt, BZONE_CLOCK_3KHZ / 12)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_VECTOR_ADD("vector") MCFG_VECTOR_ADD("vector")
MCFG_SCREEN_ADD("screen", VECTOR) MCFG_SCREEN_ADD("screen", VECTOR)

View File

@ -112,7 +112,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, canyon_state )
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x100) AM_RAM AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x100) AM_RAM
AM_RANGE(0x0400, 0x0401) AM_WRITE(canyon_motor_w) AM_RANGE(0x0400, 0x0401) AM_WRITE(canyon_motor_w)
AM_RANGE(0x0500, 0x0500) AM_WRITE(canyon_explode_w) AM_RANGE(0x0500, 0x0500) AM_WRITE(canyon_explode_w)
AM_RANGE(0x0501, 0x0501) AM_WRITE(watchdog_reset_w) /* watchdog, disabled in service mode */ AM_RANGE(0x0501, 0x0501) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* watchdog, disabled in service mode */
AM_RANGE(0x0600, 0x0603) AM_WRITE(canyon_whistle_w) AM_RANGE(0x0600, 0x0603) AM_WRITE(canyon_whistle_w)
AM_RANGE(0x0680, 0x0683) AM_WRITE(canyon_led_w) AM_RANGE(0x0680, 0x0683) AM_WRITE(canyon_led_w)
AM_RANGE(0x0700, 0x0703) AM_WRITE(canyon_attract_w) AM_RANGE(0x0700, 0x0703) AM_WRITE(canyon_attract_w)
@ -242,7 +242,9 @@ static MACHINE_CONFIG_START( canyon, canyon_state )
MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16) MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16)
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", canyon_state, nmi_line_pulse) MCFG_CPU_VBLANK_INT_DRIVER("screen", canyon_state, nmi_line_pulse)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -181,7 +181,7 @@ WRITE8_MEMBER(capbowl_state::track_reset_w)
m_last_trackball_val[0] = ioport("TRACKY")->read(); m_last_trackball_val[0] = ioport("TRACKY")->read();
m_last_trackball_val[1] = ioport("TRACKX")->read(); m_last_trackball_val[1] = ioport("TRACKX")->read();
watchdog_reset_w(space, offset, data); m_watchdog->reset_w(space, offset, data);
} }
@ -316,6 +316,8 @@ static MACHINE_CONFIG_START( capbowl, capbowl_state )
MCFG_CPU_ADD("maincpu", M6809E, MASTER_CLOCK) MCFG_CPU_ADD("maincpu", M6809E, MASTER_CLOCK)
MCFG_CPU_PROGRAM_MAP(capbowl_map) MCFG_CPU_PROGRAM_MAP(capbowl_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", capbowl_state, interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", capbowl_state, interrupt)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_ASTABLE(100000.0, 100000.0, 0.1e-6) * 15.5) // ~0.3s MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_ASTABLE(100000.0, 100000.0, 0.1e-6) * 15.5) // ~0.3s
MCFG_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK) MCFG_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK)

View File

@ -78,6 +78,7 @@ Versions known to exist but not dumped:
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/eepromser.h" #include "machine/eepromser.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "includes/cave.h" #include "includes/cave.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
@ -567,7 +568,7 @@ static ADDRESS_MAP_START( gaia_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips
AM_RANGE(0xd00014, 0xd00015) AM_WRITE(watchdog_reset16_w) // Watchdog? AM_RANGE(0xd00014, 0xd00015) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog?
ADDRESS_MAP_END ADDRESS_MAP_END
@ -735,7 +736,7 @@ static ADDRESS_MAP_START( mazinger_map, AS_PROGRAM, 16, cave_state )
/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites /**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
/**/AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprites? /**/AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprites?
AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x300068, 0x300069) AM_WRITE(watchdog_reset16_w) // Watchdog AM_RANGE(0x300068, 0x300069) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog
AM_RANGE(0x30006e, 0x30006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU AM_RANGE(0x30006e, 0x30006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU
AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs
AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_1_8x8_w) AM_SHARE("vram.1") // Layer 1 AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_1_8x8_w) AM_SHARE("vram.1") // Layer 1
@ -759,7 +760,7 @@ static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM
AM_RANGE(0x408000, 0x408fff) AM_RAM AM_SHARE("paletteram.0") // Palette AM_RANGE(0x408000, 0x408fff) AM_RAM AM_SHARE("paletteram.0") // Palette
AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r) // Watchdog? AM_RANGE(0x600000, 0x600001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r) // Watchdog?
AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_2_w) AM_SHARE("vram.2") // Layer 2 AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_2_w) AM_SHARE("vram.2") // Layer 2
AM_RANGE(0x888000, 0x88ffff) AM_RAM // AM_RANGE(0x888000, 0x88ffff) AM_RAM //
AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_SHARE("vram.1") // Layer 1 AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_SHARE("vram.1") // Layer 1
@ -767,7 +768,7 @@ static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0 AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0
AM_RANGE(0x988000, 0x98ffff) AM_RAM // AM_RANGE(0x988000, 0x98ffff) AM_RAM //
AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0xa80068, 0xa80069) AM_WRITE(watchdog_reset16_w) // Watchdog? AM_RANGE(0xa80068, 0xa80069) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog?
AM_RANGE(0xa8006c, 0xa8006d) AM_READ(soundflags_ack_r) AM_WRITENOP // Communication AM_RANGE(0xa8006c, 0xa8006d) AM_READ(soundflags_ack_r) AM_WRITENOP // Communication
AM_RANGE(0xa8006e, 0xa8006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU AM_RANGE(0xa8006e, 0xa8006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU
AM_RANGE(0xa80000, 0xa8007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs AM_RANGE(0xa80000, 0xa8007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs
@ -880,7 +881,7 @@ static ADDRESS_MAP_START( ppsatan_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x200004, 0x200005) AM_READWRITE(ppsatan_touch1_r, ppsatan_io_mux_w) // Touch Screen AM_RANGE(0x200004, 0x200005) AM_READWRITE(ppsatan_touch1_r, ppsatan_io_mux_w) // Touch Screen
AM_RANGE(0x200006, 0x200007) AM_WRITENOP // Lev. 2 IRQ Ack? AM_RANGE(0x200006, 0x200007) AM_WRITENOP // Lev. 2 IRQ Ack?
AM_RANGE(0x2c0000, 0x2c0007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x2c0000, 0x2c0007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x2c0068, 0x2c0069) AM_WRITE(watchdog_reset16_w) // Watchdog AM_RANGE(0x2c0068, 0x2c0069) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog
AM_RANGE(0x2c0000, 0x2c007f) AM_WRITEONLY AM_SHARE("videoregs.1") // Video Regs AM_RANGE(0x2c0000, 0x2c007f) AM_WRITEONLY AM_SHARE("videoregs.1") // Video Regs
AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // M6295 AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // M6295
@ -1057,7 +1058,7 @@ static ADDRESS_MAP_START( tjumpman_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("IN0") // Inputs + EEPROM + Hopper AM_RANGE(0x600000, 0x600001) AM_READ_PORT("IN0") // Inputs + EEPROM + Hopper
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs
AM_RANGE(0x700000, 0x700007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x700000, 0x700007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x700068, 0x700069) AM_WRITE(watchdog_reset16_w) // Watchdog AM_RANGE(0x700068, 0x700069) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog
AM_RANGE(0x700000, 0x70007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs AM_RANGE(0x700000, 0x70007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // M6295 AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // M6295
AM_RANGE(0xc00000, 0xc00001) AM_WRITE(tjumpman_leds_w) // Leds + Hopper AM_RANGE(0xc00000, 0xc00001) AM_WRITE(tjumpman_leds_w) // Leds + Hopper
@ -1092,7 +1093,7 @@ static ADDRESS_MAP_START( pacslot_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprite bank 2 AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprite bank 2
AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0 AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0
AM_RANGE(0x400000, 0x400007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x400000, 0x400007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x400068, 0x400069) AM_WRITE(watchdog_reset16_w) // Watchdog AM_RANGE(0x400068, 0x400069) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // Watchdog
AM_RANGE(0x400000, 0x40007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs AM_RANGE(0x400000, 0x40007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs
AM_RANGE(0x500000, 0x500005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control AM_RANGE(0x500000, 0x500005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("paletteram.0") // Palette AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("paletteram.0") // Palette
@ -2146,6 +2147,8 @@ static MACHINE_CONFIG_START( gaia, cave_state )
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start) MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(15625/271.5) MCFG_SCREEN_REFRESH_RATE(15625/271.5)
@ -2321,6 +2324,7 @@ static MACHINE_CONFIG_START( mazinger, cave_state )
MCFG_CPU_PROGRAM_MAP(mazinger_sound_map) MCFG_CPU_PROGRAM_MAP(mazinger_sound_map)
MCFG_CPU_IO_MAP(mazinger_sound_portmap) MCFG_CPU_IO_MAP(mazinger_sound_portmap)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
MCFG_MACHINE_START_OVERRIDE(cave_state,cave) MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
@ -2374,6 +2378,7 @@ static MACHINE_CONFIG_START( metmqstr, cave_state )
MCFG_CPU_PROGRAM_MAP(metmqstr_sound_map) MCFG_CPU_PROGRAM_MAP(metmqstr_sound_map)
MCFG_CPU_IO_MAP(metmqstr_sound_portmap) MCFG_CPU_IO_MAP(metmqstr_sound_portmap)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
MCFG_MACHINE_START_OVERRIDE(cave_state,cave) MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
@ -2426,6 +2431,7 @@ static MACHINE_CONFIG_START( pacslot, cave_state )
MCFG_CPU_PROGRAM_MAP(pacslot_map) MCFG_CPU_PROGRAM_MAP(pacslot_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
MCFG_MACHINE_START_OVERRIDE(cave_state,cave) MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
@ -2480,6 +2486,7 @@ static MACHINE_CONFIG_START( ppsatan, cave_state )
MCFG_CPU_PROGRAM_MAP(ppsatan_map) MCFG_CPU_PROGRAM_MAP(ppsatan_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt_ppsatan) MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt_ppsatan)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(1)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(1)) /* a guess, and certainly wrong */
MCFG_MACHINE_START_OVERRIDE(cave_state,cave) MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
@ -2654,6 +2661,7 @@ static MACHINE_CONFIG_START( tjumpman, cave_state )
MCFG_CPU_PROGRAM_MAP(tjumpman_map) MCFG_CPU_PROGRAM_MAP(tjumpman_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
MCFG_MACHINE_START_OVERRIDE(cave_state,cave) MCFG_MACHINE_START_OVERRIDE(cave_state,cave)

View File

@ -121,6 +121,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "sound/pokey.h" #include "sound/pokey.h"
#include "includes/ccastles.h" #include "includes/ccastles.h"
@ -333,7 +334,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ccastles_state )
AM_RANGE(0x9c80, 0x9cff) AM_WRITE(ccastles_hscroll_w) AM_RANGE(0x9c80, 0x9cff) AM_WRITE(ccastles_hscroll_w)
AM_RANGE(0x9d00, 0x9d7f) AM_WRITE(ccastles_vscroll_w) AM_RANGE(0x9d00, 0x9d7f) AM_WRITE(ccastles_vscroll_w)
AM_RANGE(0x9d80, 0x9dff) AM_WRITE(irq_ack_w) AM_RANGE(0x9d80, 0x9dff) AM_WRITE(irq_ack_w)
AM_RANGE(0x9e00, 0x9e7f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x9e00, 0x9e7f) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x9e80, 0x9e81) AM_MIRROR(0x0078) AM_WRITE(led_w) AM_RANGE(0x9e80, 0x9e81) AM_MIRROR(0x0078) AM_WRITE(led_w)
AM_RANGE(0x9e82, 0x9e83) AM_MIRROR(0x0078) AM_WRITE(nvram_store_w) AM_RANGE(0x9e82, 0x9e83) AM_MIRROR(0x0078) AM_WRITE(nvram_store_w)
AM_RANGE(0x9e85, 0x9e86) AM_MIRROR(0x0078) AM_WRITE(ccounter_w) AM_RANGE(0x9e85, 0x9e86) AM_MIRROR(0x0078) AM_WRITE(ccounter_w)
@ -454,7 +455,8 @@ static MACHINE_CONFIG_START( ccastles, ccastles_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8) MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_WATCHDOG_VBLANK_INIT(8) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_X2212_ADD_AUTOSAVE("nvram_4b") MCFG_X2212_ADD_AUTOSAVE("nvram_4b")
MCFG_X2212_ADD_AUTOSAVE("nvram_4a") MCFG_X2212_ADD_AUTOSAVE("nvram_4a")

View File

@ -22,6 +22,7 @@
#include "sound/dac.h" #include "sound/dac.h"
#include "machine/6840ptm.h" #include "machine/6840ptm.h"
#include "machine/z80ctc.h" #include "machine/z80ctc.h"
#include "machine/watchdog.h"
#include "includes/cchasm.h" #include "includes/cchasm.h"
#define CCHASM_68K_CLOCK (XTAL_8MHz) #define CCHASM_68K_CLOCK (XTAL_8MHz)
@ -37,7 +38,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 16, cchasm_state )
AM_RANGE(0x040000, 0x04000f) AM_DEVREADWRITE8("6840ptm", ptm6840_device, read, write, 0xff) AM_RANGE(0x040000, 0x04000f) AM_DEVREADWRITE8("6840ptm", ptm6840_device, read, write, 0xff)
AM_RANGE(0x050000, 0x050001) AM_WRITE(refresh_control_w) AM_RANGE(0x050000, 0x050001) AM_WRITE(refresh_control_w)
AM_RANGE(0x060000, 0x060001) AM_READ_PORT("DSW") AM_WRITE(led_w) AM_RANGE(0x060000, 0x060001) AM_READ_PORT("DSW") AM_WRITE(led_w)
AM_RANGE(0x070000, 0x070001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x070000, 0x070001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xf80000, 0xf800ff) AM_READWRITE(io_r,io_w) AM_RANGE(0xf80000, 0xf800ff) AM_READWRITE(io_r,io_w)
AM_RANGE(0xffb000, 0xffffff) AM_RAM AM_SHARE("ram") AM_RANGE(0xffb000, 0xffffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END ADDRESS_MAP_END
@ -157,6 +158,8 @@ static MACHINE_CONFIG_START( cchasm, cchasm_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(cchasm_state, ctc_timer_1_w)) MCFG_Z80CTC_ZC1_CB(WRITELINE(cchasm_state, ctc_timer_1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(cchasm_state, ctc_timer_2_w)) MCFG_Z80CTC_ZC2_CB(WRITELINE(cchasm_state, ctc_timer_2_w))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_VECTOR_ADD("vector") MCFG_VECTOR_ADD("vector")
MCFG_SCREEN_ADD("screen", VECTOR) MCFG_SCREEN_ADD("screen", VECTOR)

View File

@ -418,6 +418,7 @@ each direction to assign the boundries.
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "cpu/s2650/s2650.h" #include "cpu/s2650/s2650.h"
#include "machine/eepromser.h" #include "machine/eepromser.h"
#include "machine/watchdog.h"
#include "machine/atari_vg.h" #include "machine/atari_vg.h"
#include "includes/centiped.h" #include "includes/centiped.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
@ -665,7 +666,7 @@ static ADDRESS_MAP_START( centiped_base_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w) AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w)
AM_RANGE(0x1c03, 0x1c04) AM_WRITE(led_w) AM_RANGE(0x1c03, 0x1c04) AM_WRITE(led_w)
AM_RANGE(0x1c07, 0x1c07) AM_WRITE(centiped_flip_screen_w) AM_RANGE(0x1c07, 0x1c07) AM_WRITE(centiped_flip_screen_w)
AM_RANGE(0x2000, 0x2000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -759,7 +760,7 @@ static ADDRESS_MAP_START( milliped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w) AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w)
AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w) /* CNTRLSEL */ AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w) /* CNTRLSEL */
AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w) AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w)
AM_RANGE(0x2680, 0x2680) AM_WRITE(watchdog_reset_w) AM_RANGE(0x2680, 0x2680) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write) AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_RANGE(0x4000, 0x7fff) AM_ROM
@ -807,7 +808,7 @@ static ADDRESS_MAP_START( multiped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w) AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w)
AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w) AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w)
AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w) AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w)
AM_RANGE(0x2680, 0x2680) AM_WRITE(watchdog_reset_w) AM_RANGE(0x2680, 0x2680) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2700, 0x2700) AM_WRITENOP AM_RANGE(0x2700, 0x2700) AM_WRITENOP
AM_RANGE(0x2780, 0x27bf) AM_WRITENOP AM_RANGE(0x2780, 0x27bf) AM_WRITENOP
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_RANGE(0x4000, 0x5fff) AM_ROM
@ -878,7 +879,7 @@ static ADDRESS_MAP_START( warlords_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1800, 0x1800) AM_WRITE(irq_ack_w) AM_RANGE(0x1800, 0x1800) AM_WRITE(irq_ack_w)
AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w) AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w)
AM_RANGE(0x1c03, 0x1c06) AM_WRITE(led_w) AM_RANGE(0x1c03, 0x1c06) AM_WRITE(led_w)
AM_RANGE(0x4000, 0x4000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5000, 0x7fff) AM_ROM AM_RANGE(0x5000, 0x7fff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -910,7 +911,7 @@ static ADDRESS_MAP_START( mazeinv_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w) AM_RANGE(0x2506, 0x2506) AM_WRITE(centiped_flip_screen_w)
AM_RANGE(0x2580, 0x2583) AM_WRITE(mazeinv_input_select_w) AM_RANGE(0x2580, 0x2583) AM_WRITE(mazeinv_input_select_w)
AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w) AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w)
AM_RANGE(0x2680, 0x2680) AM_WRITE(watchdog_reset_w) AM_RANGE(0x2680, 0x2680) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write) AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x3000, 0x7fff) AM_ROM AM_RANGE(0x3000, 0x7fff) AM_ROM
@ -937,7 +938,7 @@ static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE(bullsdrt_coin_count_w) AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE(bullsdrt_coin_count_w)
AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_w) AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_w)
AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE(centiped_flip_screen_w) AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE(centiped_flip_screen_w)
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE(watchdog_reset_w) AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP
AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_SHARE("videoram") AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("spriteram")
@ -1690,6 +1691,8 @@ static MACHINE_CONFIG_START( centiped_base, centiped_state )
MCFG_ATARIVGEAROM_ADD("earom") MCFG_ATARIVGEAROM_ADD("earom")
MCFG_WATCHDOG_ADD("watchdog")
/* timer */ /* timer */
MCFG_TIMER_DRIVER_ADD_SCANLINE("32v", centiped_state, generate_interrupt, "screen", 0, 16) MCFG_TIMER_DRIVER_ADD_SCANLINE("32v", centiped_state, generate_interrupt, "screen", 0, 16)
@ -1849,6 +1852,8 @@ static MACHINE_CONFIG_START( bullsdrt, centiped_state )
MCFG_ATARIVGEAROM_ADD("earom") MCFG_ATARIVGEAROM_ADD("earom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -80,6 +80,7 @@ TODO:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/champbas.h" #include "includes/champbas.h"
@ -93,7 +94,7 @@ TODO:
CUSTOM_INPUT_MEMBER(champbas_state::watchdog_bit2) CUSTOM_INPUT_MEMBER(champbas_state::watchdog_bit2)
{ {
return (0x10 - machine().get_vblank_watchdog_counter()) >> 2 & 1; return (0x10 - m_watchdog->get_vblank_counter()) >> 2 & 1;
} }
WRITE8_MEMBER(champbas_state::irq_enable_w) WRITE8_MEMBER(champbas_state::irq_enable_w)
@ -205,7 +206,7 @@ static ADDRESS_MAP_START( champbas_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa060, 0xa06f) AM_WRITEONLY AM_SHARE("spriteram") AM_RANGE(0xa060, 0xa06f) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_byte_w) AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa0c0, 0xa0c0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END ADDRESS_MAP_END
// base map + ALPHA-8x0x protection // base map + ALPHA-8x0x protection
@ -528,7 +529,8 @@ static MACHINE_CONFIG_START( talbot, champbas_state )
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8) MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu") MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
MCFG_WATCHDOG_VBLANK_INIT(0x10) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
@ -561,7 +563,8 @@ static MACHINE_CONFIG_START( champbas, champbas_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6) MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6)
MCFG_CPU_PROGRAM_MAP(champbas_sound_map) MCFG_CPU_PROGRAM_MAP(champbas_sound_map)
MCFG_WATCHDOG_VBLANK_INIT(0x10) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
@ -630,7 +633,8 @@ static MACHINE_CONFIG_START( exctsccr, champbas_state )
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8) // note: 8302 rom, or 8303 on exctscc2 (same device!) MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8) // note: 8302 rom, or 8303 on exctscc2 (same device!)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu") MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
MCFG_WATCHDOG_VBLANK_INIT(0x10) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
@ -683,7 +687,8 @@ static MACHINE_CONFIG_START( exctsccrb, champbas_state )
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8) // champbasj 8201 on pcb, though unused MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL_18_432MHz/6/8) // champbasj 8201 on pcb, though unused
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu") MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
MCFG_WATCHDOG_VBLANK_INIT(0x10) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -13,6 +13,7 @@ Tomasz Slanina
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6805/m6805.h" #include "cpu/m6805/m6805.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/changela.h" #include "includes/changela.h"
@ -236,7 +237,7 @@ static ADDRESS_MAP_START( changela_map, AS_PROGRAM, 8, changela_state )
AM_RANGE(0xd030, 0xd030) AM_READWRITE(changela_30_r, mcu_w) AM_RANGE(0xd030, 0xd030) AM_READWRITE(changela_30_r, mcu_w)
AM_RANGE(0xd031, 0xd031) AM_READ(changela_31_r) AM_RANGE(0xd031, 0xd031) AM_READ(changela_31_r)
AM_RANGE(0xe000, 0xe000) AM_WRITE(watchdog_reset_w) /* Watchdog */ AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* Watchdog */
AM_RANGE(0xf000, 0xf7ff) AM_RAM /* RAM2 (Processor RAM) */ AM_RANGE(0xf000, 0xf7ff) AM_RAM /* RAM2 (Processor RAM) */
ADDRESS_MAP_END ADDRESS_MAP_END
@ -483,6 +484,7 @@ static MACHINE_CONFIG_START( changela, changela_state )
MCFG_CPU_PROGRAM_MAP(mcu_map) MCFG_CPU_PROGRAM_MAP(mcu_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", changela_state, chl_mcu_irq) MCFG_CPU_VBLANK_INT_DRIVER("screen", changela_state, chl_mcu_irq)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -17,6 +17,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6809/konami.h" #include "cpu/m6809/konami.h"
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "includes/chqflag.h" #include "includes/chqflag.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
@ -132,7 +133,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x3200, 0x3200) AM_READ_PORT("IN1") /* COINSW, STARTSW, test mode */ AM_RANGE(0x3200, 0x3200) AM_READ_PORT("IN1") /* COINSW, STARTSW, test mode */
AM_RANGE(0x3201, 0x3201) AM_READ_PORT("IN0") /* DIPSW #3, SW 4 */ AM_RANGE(0x3201, 0x3201) AM_READ_PORT("IN0") /* DIPSW #3, SW 4 */
AM_RANGE(0x3203, 0x3203) AM_READ_PORT("DSW2") /* DIPSW #2 */ AM_RANGE(0x3203, 0x3203) AM_READ_PORT("DSW2") /* DIPSW #2 */
AM_RANGE(0x3300, 0x3300) AM_WRITE(watchdog_reset_w) /* watchdog timer */ AM_RANGE(0x3300, 0x3300) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* watchdog timer */
AM_RANGE(0x3400, 0x341f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* 051733 (protection) */ AM_RANGE(0x3400, 0x341f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* 051733 (protection) */
AM_RANGE(0x3500, 0x350f) AM_DEVWRITE("k051316_1", k051316_device, ctrl_w) /* 051316 control registers (chip 1) */ AM_RANGE(0x3500, 0x350f) AM_DEVWRITE("k051316_1", k051316_device, ctrl_w) /* 051316 control registers (chip 1) */
AM_RANGE(0x3600, 0x360f) AM_DEVWRITE("k051316_2", k051316_device, ctrl_w) /* 051316 control registers (chip 2) */ AM_RANGE(0x3600, 0x360f) AM_DEVWRITE("k051316_2", k051316_device, ctrl_w) /* 051316 control registers (chip 2) */
@ -302,6 +303,8 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_QUANTUM_TIME(attotime::from_hz(600))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 400, 256, 16, 240) // measured Vsync 59.17hz Hsync 15.13 / 15.19khz MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 400, 256, 16, 240) // measured Vsync 59.17hz Hsync 15.13 / 15.19khz

View File

@ -55,6 +55,7 @@ This bug is due to 380_r02.6h, it differs from 380_q02.6h by 2 bytes, at
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/konami1.h" #include "machine/konami1.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "sound/discrete.h" #include "sound/discrete.h"
#include "includes/circusc.h" #include "includes/circusc.h"
@ -144,7 +145,7 @@ static ADDRESS_MAP_START( circusc_map, AS_PROGRAM, 8, circusc_state )
// AM_RANGE(0x0002, 0x0002) AM_MIRROR(0x03f8) AM_WRITENOP /* MUT - not used /* // AM_RANGE(0x0002, 0x0002) AM_MIRROR(0x03f8) AM_WRITENOP /* MUT - not used /*
AM_RANGE(0x0003, 0x0004) AM_MIRROR(0x03f8) AM_WRITE(circusc_coin_counter_w) /* COIN1, COIN2 */ AM_RANGE(0x0003, 0x0004) AM_MIRROR(0x03f8) AM_WRITE(circusc_coin_counter_w) /* COIN1, COIN2 */
AM_RANGE(0x0005, 0x0005) AM_MIRROR(0x03f8) AM_WRITEONLY AM_SHARE("spritebank") /* OBJ CHENG */ AM_RANGE(0x0005, 0x0005) AM_MIRROR(0x03f8) AM_WRITEONLY AM_SHARE("spritebank") /* OBJ CHENG */
AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w) /* WDOG */ AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* WDOG */
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_byte_w) /* SOUND DATA */ AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_byte_w) /* SOUND DATA */
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03ff) AM_WRITE(circusc_sh_irqtrigger_w) /* SOUND-ON causes interrupt on audio CPU */ AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03ff) AM_WRITE(circusc_sh_irqtrigger_w) /* SOUND-ON causes interrupt on audio CPU */
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM") AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM")
@ -337,7 +338,9 @@ static MACHINE_CONFIG_START( circusc, circusc_state )
MCFG_CPU_ADD("maincpu", KONAMI1, 2048000) /* 2 MHz? */ MCFG_CPU_ADD("maincpu", KONAMI1, 2048000) /* 2 MHz? */
MCFG_CPU_PROGRAM_MAP(circusc_map) MCFG_CPU_PROGRAM_MAP(circusc_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", circusc_state, vblank_irq) MCFG_CPU_VBLANK_INT_DRIVER("screen", circusc_state, vblank_irq)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4) MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4)
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)

View File

@ -1881,6 +1881,8 @@ static MACHINE_CONFIG_START( scudhamm, cischeat_state )
MCFG_CPU_PROGRAM_MAP(scudhamm_map) MCFG_CPU_PROGRAM_MAP(scudhamm_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, scudhamm_scanline, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, scudhamm_scanline, "screen", 0, 1)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@ -1967,6 +1969,8 @@ static MACHINE_CONFIG_START( captflag, cischeat_state )
MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH ) MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) // MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)

View File

@ -19,6 +19,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/i8255.h" #include "machine/i8255.h"
#include "machine/watchdog.h"
class clayshoo_state : public driver_device class clayshoo_state : public driver_device
@ -221,7 +222,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, AS_IO, 8, clayshoo_state ) static ADDRESS_MAP_START( main_io_map, AS_IO, 8, clayshoo_state )
ADDRESS_MAP_GLOBAL_MASK(0xff) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(watchdog_reset_w) AM_RANGE(0x00, 0x00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_RANGE(0x30, 0x33) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
// AM_RANGE(0x40, 0x43) AM_NOP // 8253 for sound? // AM_RANGE(0x40, 0x43) AM_NOP // 8253 for sound?
@ -316,6 +317,7 @@ static MACHINE_CONFIG_START( clayshoo, clayshoo_state )
MCFG_CPU_IO_MAP(main_io_map) MCFG_CPU_IO_MAP(main_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", clayshoo_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", clayshoo_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -120,6 +120,7 @@
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "sound/pokey.h" #include "sound/pokey.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "includes/cloak.h" #include "includes/cloak.h"
/************************************* /*************************************
@ -183,7 +184,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, cloak_state )
AM_RANGE(0x3803, 0x3803) AM_WRITE(cloak_flipscreen_w) AM_RANGE(0x3803, 0x3803) AM_WRITE(cloak_flipscreen_w)
AM_RANGE(0x3805, 0x3805) AM_WRITENOP // ??? AM_RANGE(0x3805, 0x3805) AM_WRITENOP // ???
AM_RANGE(0x3806, 0x3807) AM_WRITE(cloak_led_w) AM_RANGE(0x3806, 0x3807) AM_WRITE(cloak_led_w)
AM_RANGE(0x3a00, 0x3a00) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(cloak_irq_reset_0_w) AM_RANGE(0x3c00, 0x3c00) AM_WRITE(cloak_irq_reset_0_w)
AM_RANGE(0x3e00, 0x3e00) AM_WRITE(cloak_nvram_enable_w) AM_RANGE(0x3e00, 0x3e00) AM_WRITE(cloak_nvram_enable_w)
AM_RANGE(0x4000, 0xffff) AM_ROM AM_RANGE(0x4000, 0xffff) AM_ROM
@ -324,6 +325,8 @@ static MACHINE_CONFIG_START( cloak, cloak_state )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -94,6 +94,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "machine/watchdog.h"
#include "sound/pokey.h" #include "sound/pokey.h"
#include "includes/cloud9.h" #include "includes/cloud9.h"
@ -266,7 +267,7 @@ static ADDRESS_MAP_START( cloud9_map, AS_PROGRAM, 8, cloud9_state )
AM_RANGE(0x0002, 0x0002) AM_READWRITE(cloud9_bitmode_r, cloud9_bitmode_w) AM_RANGE(0x0002, 0x0002) AM_READWRITE(cloud9_bitmode_r, cloud9_bitmode_w)
AM_RANGE(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE(cloud9_videoram_w) AM_RANGE(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE(cloud9_videoram_w)
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x5400, 0x547f) AM_WRITE(watchdog_reset_w) AM_RANGE(0x5400, 0x547f) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5480, 0x54ff) AM_WRITE(irq_ack_w) AM_RANGE(0x5480, 0x54ff) AM_WRITE(irq_ack_w)
AM_RANGE(0x5500, 0x557f) AM_RAM_WRITE(cloud9_paletteram_w) AM_SHARE("paletteram") AM_RANGE(0x5500, 0x557f) AM_RAM_WRITE(cloud9_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x5580, 0x5587) AM_MIRROR(0x0078) AM_WRITE(cloud9_video_control_w) AM_RANGE(0x5580, 0x5587) AM_MIRROR(0x0078) AM_WRITE(cloud9_video_control_w)
@ -407,7 +408,8 @@ static MACHINE_CONFIG_START( cloud9, cloud9_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8) MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(cloud9_map) MCFG_CPU_PROGRAM_MAP(cloud9_map)
MCFG_WATCHDOG_VBLANK_INIT(8) MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_X2212_ADD_AUTOSAVE("nvram") MCFG_X2212_ADD_AUTOSAVE("nvram")

View File

@ -124,6 +124,7 @@ Dip location and recommended settings verified with the US manual
#include "emu.h" #include "emu.h"
#include "cpu/m6809/hd6309.h" #include "cpu/m6809/hd6309.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "includes/combatsc.h" #include "includes/combatsc.h"
@ -364,7 +365,7 @@ static ADDRESS_MAP_START( combatsc_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x0410, 0x0410) AM_WRITE(combatsc_bankselect_w) AM_RANGE(0x0410, 0x0410) AM_WRITE(combatsc_bankselect_w)
AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_byte_w) AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x0418, 0x0418) AM_WRITE(combatsc_sh_irqtrigger_w) AM_RANGE(0x0418, 0x0418) AM_WRITE(combatsc_sh_irqtrigger_w)
AM_RANGE(0x041c, 0x041c) AM_WRITE(watchdog_reset_w) /* watchdog reset? */ AM_RANGE(0x041c, 0x041c) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* watchdog reset? */
AM_RANGE(0x0600, 0x06ff) AM_RAM_DEVWRITE("palette", palette_device, write_indirect) AM_SHARE("palette") AM_RANGE(0x0600, 0x06ff) AM_RAM_DEVWRITE("palette", palette_device, write_indirect) AM_SHARE("palette")
AM_RANGE(0x0800, 0x1fff) AM_RAM /* RAM */ AM_RANGE(0x0800, 0x1fff) AM_RAM /* RAM */
@ -704,6 +705,8 @@ static MACHINE_CONFIG_START( combatsc, combatsc_state )
MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc) MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -16,6 +16,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/crimfght.h" #include "includes/crimfght.h"
@ -89,7 +90,7 @@ static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x3f85, 0x3f85) AM_READ_PORT("P3") AM_RANGE(0x3f85, 0x3f85) AM_READ_PORT("P3")
AM_RANGE(0x3f86, 0x3f86) AM_READ_PORT("P4") AM_RANGE(0x3f86, 0x3f86) AM_READ_PORT("P4")
AM_RANGE(0x3f87, 0x3f87) AM_READ_PORT("DSW1") AM_RANGE(0x3f87, 0x3f87) AM_READ_PORT("DSW1")
AM_RANGE(0x3f88, 0x3f88) AM_MIRROR(0x03) AM_READ(watchdog_reset_r) AM_WRITE(crimfght_coin_w) // 051550 AM_RANGE(0x3f88, 0x3f88) AM_MIRROR(0x03) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(crimfght_coin_w) // 051550
AM_RANGE(0x3f8c, 0x3f8c) AM_MIRROR(0x03) AM_WRITE(sound_w) AM_RANGE(0x3f8c, 0x3f8c) AM_MIRROR(0x03) AM_WRITE(sound_w)
AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */ AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank") /* banked ROM */ AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank") /* banked ROM */
@ -312,6 +313,8 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(11) MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(11)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x400) MCFG_ADDRESS_MAP_BANK_STRIDE(0x400)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 416, 256, 16, 240) // measured 59.17 MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 416, 256, 16, 240) // measured 59.17

View File

@ -22,6 +22,7 @@
#include "emu.h" #include "emu.h"
#include "machine/watchdog.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "rendlay.h" #include "rendlay.h"
#include "includes/cyberbal.h" #include "includes/cyberbal.h"
@ -128,7 +129,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc8000, 0xfcffff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00) AM_RANGE(0xfc8000, 0xfcffff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00)
AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0xfd2000, 0xfd3fff) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xfd2000, 0xfd3fff) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w)
AM_RANGE(0xfd4000, 0xfd5fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfd4000, 0xfd5fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xfd6000, 0xfd7fff) AM_WRITE(p2_reset_w) AM_RANGE(0xfd6000, 0xfd7fff) AM_WRITE(p2_reset_w)
AM_RANGE(0xfd8000, 0xfd9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00) AM_RANGE(0xfd8000, 0xfd9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00)
AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_PORT("IN0") AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_PORT("IN0")
@ -232,7 +233,7 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfca000, 0xfcafff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0xfca000, 0xfcafff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xfd0000, 0xfd0003) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xfd0000, 0xfd0003) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfd4000, 0xfd4003) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w) AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfd8000, 0xfd8003) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00) AM_RANGE(0xfd8000, 0xfd8003) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r) AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r)
@ -415,6 +416,8 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "lpalette", interleaved) MCFG_GFXDECODE_ADD("gfxdecode", "lpalette", interleaved)
@ -488,6 +491,8 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom") MCFG_ATARI_EEPROM_2816_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cyberbal) MCFG_GFXDECODE_ADD("gfxdecode", "palette", cyberbal)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)

View File

@ -53,6 +53,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "audio/galaxian.h" #include "audio/galaxian.h"
#include "includes/galaxold.h" #include "includes/galaxold.h"
@ -117,7 +118,7 @@ static ADDRESS_MAP_START( dambustr_map, AS_PROGRAM, 8, dambustr_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE(galaxold_flip_screen_y_w) AM_RANGE(0xf007, 0xf007) AM_WRITE(galaxold_flip_screen_y_w)
AM_RANGE(0xf800, 0xf800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w) AM_RANGE(0xf800, 0xf800) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0xf800, 0xffff) AM_READ(watchdog_reset_r) AM_RANGE(0xf800, 0xffff) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -264,6 +265,8 @@ static MACHINE_CONFIG_START( dambustr, dambustr_state )
MCFG_TIMER_DRIVER_ADD("int_timer", dambustr_state, galaxold_interrupt_timer) MCFG_TIMER_DRIVER_ADD("int_timer", dambustr_state, galaxold_interrupt_timer)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(16000.0/132/2) MCFG_SCREEN_REFRESH_RATE(16000.0/132/2)

View File

@ -132,6 +132,7 @@ sounds.
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "audio/taitosnd.h" #include "audio/taitosnd.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "sound/msm5205.h" #include "sound/msm5205.h"
@ -160,11 +161,6 @@ WRITE16_MEMBER(darius_state::cpua_ctrl_w)
logerror("CPU #0 PC %06x: write %04x to cpu control\n", space.device().safe_pc(), data); logerror("CPU #0 PC %06x: write %04x to cpu control\n", space.device().safe_pc(), data);
} }
WRITE16_MEMBER(darius_state::darius_watchdog_w)
{
watchdog_reset_w(space, 0, data);
}
/********************************************************** /**********************************************************
GAME INPUTS GAME INPUTS
@ -240,7 +236,7 @@ static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM /* main RAM */ AM_RANGE(0x080000, 0x08ffff) AM_RAM /* main RAM */
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(cpua_ctrl_w) AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x0b0000, 0x0b0001) AM_WRITE(darius_watchdog_w) AM_RANGE(0x0b0000, 0x0b0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xc00000, 0xc0007f) AM_READWRITE(darius_ioc_r, darius_ioc_w) /* inputs, sound */ AM_RANGE(0xc00000, 0xc0007f) AM_READWRITE(darius_ioc_r, darius_ioc_w) /* inputs, sound */
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("pc080sn", pc080sn_device, word_r, word_w) /* tilemaps */ AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("pc080sn", pc080sn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd20003) AM_DEVWRITE("pc080sn", pc080sn_device, yscroll_word_w) AM_RANGE(0xd20000, 0xd20003) AM_DEVWRITE("pc080sn", pc080sn_device, yscroll_word_w)
@ -764,6 +760,7 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame ? */ MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame ? */
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", darius) MCFG_GFXDECODE_ADD("gfxdecode", "palette", darius)

View File

@ -48,6 +48,7 @@
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "dblcrown.lh" #include "dblcrown.lh"
#define DEBUG_VRAM #define DEBUG_VRAM
@ -58,12 +59,14 @@ public:
dblcrown_state(const machine_config &mconfig, device_type type, const char *tag) dblcrown_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_watchdog(*this, "watchdog"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") m_palette(*this, "palette")
{ } { }
// devices // devices
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
@ -341,7 +344,7 @@ WRITE8_MEMBER(dblcrown_state::watchdog_w)
{ {
if (data & 0x01) /* check for refresh value (0x01) */ if (data & 0x01) /* check for refresh value (0x01) */
{ {
machine().watchdog_reset(); m_watchdog->watchdog_reset();
} }
else else
{ {
@ -615,6 +618,8 @@ static MACHINE_CONFIG_START( dblcrown, dblcrown_state )
MCFG_CPU_PROGRAM_MAP(dblcrown_map) MCFG_CPU_PROGRAM_MAP(dblcrown_map)
MCFG_CPU_IO_MAP(dblcrown_io) MCFG_CPU_IO_MAP(dblcrown_io)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dblcrown_state, dblcrown_irq_scanline, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dblcrown_state, dblcrown_irq_scanline, "screen", 0, 1)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1000)) /* 1000 ms. (minimal of MAX693A watchdog long timeout period with internal oscillator) */ MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1000)) /* 1000 ms. (minimal of MAX693A watchdog long timeout period with internal oscillator) */
/* video hardware */ /* video hardware */

View File

@ -35,6 +35,7 @@
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/eepromser.h" #include "machine/eepromser.h"
#include "machine/ticket.h" #include "machine/ticket.h"
#include "machine/watchdog.h"
#include "sound/bsmt2000.h" #include "sound/bsmt2000.h"
#include "includes/dcheese.h" #include "includes/dcheese.h"
@ -201,7 +202,7 @@ static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 16, dcheese_state )
ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("200000") AM_WRITE(watchdog_reset16_w) AM_RANGE(0x200000, 0x200001) AM_READ_PORT("200000") AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x220000, 0x220001) AM_READ_PORT("220000") AM_WRITE(madmax_blitter_color_w) AM_RANGE(0x220000, 0x220001) AM_READ_PORT("220000") AM_WRITE(madmax_blitter_color_w)
AM_RANGE(0x240000, 0x240001) AM_READ_PORT("240000") AM_WRITE(eeprom_control_w) AM_RANGE(0x240000, 0x240001) AM_READ_PORT("240000") AM_WRITE(eeprom_control_w)
AM_RANGE(0x260000, 0x26001f) AM_WRITE(madmax_blitter_xparam_w) AM_RANGE(0x260000, 0x26001f) AM_WRITE(madmax_blitter_xparam_w)
@ -405,10 +406,12 @@ static MACHINE_CONFIG_START( dcheese, dcheese_state )
MCFG_CPU_PROGRAM_MAP(sound_cpu_map) MCFG_CPU_PROGRAM_MAP(sound_cpu_map)
MCFG_CPU_PERIODIC_INT_DRIVER(dcheese_state, irq1_line_hold, 480) /* accurate for fredmem */ MCFG_CPU_PERIODIC_INT_DRIVER(dcheese_state, irq1_line_hold, 480) /* accurate for fredmem */
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -13,6 +13,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6809/m6809.h" #include "cpu/m6809/m6809.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/ddribble.h" #include "includes/ddribble.h"
@ -130,7 +131,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, ddribble_state )
AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("DSW2") AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("DSW2")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW3") AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW3")
AM_RANGE(0x3400, 0x3400) AM_WRITE(ddribble_coin_counter_w) /* coin counters */ AM_RANGE(0x3400, 0x3400) AM_WRITE(ddribble_coin_counter_w) /* coin counters */
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x3c00, 0x3c00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* watchdog reset */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */ AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END ADDRESS_MAP_END
@ -265,6 +266,7 @@ static MACHINE_CONFIG_START( ddribble, ddribble_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */ MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -42,6 +42,7 @@ Dip locations and factory settings verified with US manual
#include "emu.h" #include "emu.h"
#include "cpu/nec/nec.h" #include "cpu/nec/nec.h"
#include "machine/watchdog.h"
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "sound/msm5205.h" #include "sound/msm5205.h"
#include "includes/deadang.h" #include "includes/deadang.h"
@ -83,7 +84,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, deadang_state )
AM_RANGE(0x03800, 0x03fff) AM_RAM_WRITE(foreground_w) AM_SHARE("video_data") AM_RANGE(0x03800, 0x03fff) AM_RAM_WRITE(foreground_w) AM_SHARE("video_data")
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1") AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x08000, 0x08001) AM_WRITE(bank_w) AM_RANGE(0x08000, 0x08001) AM_WRITE(bank_w)
AM_RANGE(0x0c000, 0x0c001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x0c000, 0x0c001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_RANGE(0xe0000, 0xfffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -250,6 +251,8 @@ static MACHINE_CONFIG_START( deadang, deadang_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60)) // the game stops working with higher interleave rates.. MCFG_QUANTUM_TIME(attotime::from_hz(60)) // the game stops working with higher interleave rates..
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -728,6 +728,7 @@ static MACHINE_CONFIG_START( decocass, decocass_state )
MCFG_QUANTUM_TIME(attotime::from_hz(4200)) /* interleave CPUs */ MCFG_QUANTUM_TIME(attotime::from_hz(4200)) /* interleave CPUs */
MCFG_WATCHDOG_ADD("watchdog")
MCFG_DECOCASS_TAPE_ADD("cassette") MCFG_DECOCASS_TAPE_ADD("cassette")

View File

@ -14,6 +14,7 @@ TODO:
#include "emu.h" #include "emu.h"
#include "cpu/m6800/m6800.h" #include "cpu/m6800/m6800.h"
#include "machine/watchdog.h"
#include "destroyr.lh" #include "destroyr.lh"
@ -30,6 +31,7 @@ public:
destroyr_state(const machine_config &mconfig, device_type type, const char *tag) destroyr_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_watchdog(*this, "watchdog"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"), m_screen(*this, "screen"),
m_palette(*this, "palette"), m_palette(*this, "palette"),
@ -39,6 +41,7 @@ public:
/* devices */ /* devices */
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen; required_device<screen_device> m_screen;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
@ -230,7 +233,7 @@ WRITE8_MEMBER(destroyr_state::misc_w)
WRITE8_MEMBER(destroyr_state::cursor_load_w) WRITE8_MEMBER(destroyr_state::cursor_load_w)
{ {
m_cursor = data; m_cursor = data;
watchdog_reset_w(space, offset, data); m_watchdog->reset_w(space, offset, data);
} }
@ -493,6 +496,7 @@ static MACHINE_CONFIG_START( destroyr, destroyr_state )
MCFG_CPU_PROGRAM_MAP(destroyr_map) MCFG_CPU_PROGRAM_MAP(destroyr_map)
MCFG_CPU_PERIODIC_INT_DRIVER(destroyr_state, irq0_line_assert, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(destroyr_state, irq0_line_assert, 4*60)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -40,6 +40,7 @@
#include "cpu/z80/z80daisy.h" #include "cpu/z80/z80daisy.h"
#include "machine/ldv1000.h" #include "machine/ldv1000.h"
#include "machine/ldstub.h" #include "machine/ldstub.h"
#include "machine/watchdog.h"
#include "machine/z80ctc.h" #include "machine/z80ctc.h"
#include "machine/z80dart.h" #include "machine/z80dart.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
@ -390,7 +391,7 @@ static ADDRESS_MAP_START( dleuro_map, AS_PROGRAM, 8, dlair_state )
AM_RANGE(0xe018, 0xe018) AM_MIRROR(0x1f47) AM_WRITE(led_den2_w) // WT EXT LED 2 AM_RANGE(0xe018, 0xe018) AM_MIRROR(0x1f47) AM_WRITE(led_den2_w) // WT EXT LED 2
AM_RANGE(0xe020, 0xe020) AM_MIRROR(0x1f47) AM_WRITE(laserdisc_w) // DISC WT AM_RANGE(0xe020, 0xe020) AM_MIRROR(0x1f47) AM_WRITE(laserdisc_w) // DISC WT
AM_RANGE(0xe028, 0xe028) AM_MIRROR(0x1f47) AM_WRITE(dleuro_misc_w) // WT MISC AM_RANGE(0xe028, 0xe028) AM_MIRROR(0x1f47) AM_WRITE(dleuro_misc_w) // WT MISC
AM_RANGE(0xe030, 0xe030) AM_MIRROR(0x1f47) AM_WRITE(watchdog_reset_w) // CLR WDOG AM_RANGE(0xe030, 0xe030) AM_MIRROR(0x1f47) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) // CLR WDOG
AM_RANGE(0xe080, 0xe080) AM_MIRROR(0x1f47) AM_READ_PORT("P1") // CP A AM_RANGE(0xe080, 0xe080) AM_MIRROR(0x1f47) AM_READ_PORT("P1") // CP A
AM_RANGE(0xe088, 0xe088) AM_MIRROR(0x1f47) AM_READ_PORT("SYSTEM") // CP B AM_RANGE(0xe088, 0xe088) AM_MIRROR(0x1f47) AM_READ_PORT("SYSTEM") // CP B
AM_RANGE(0xe090, 0xe090) AM_MIRROR(0x1f47) AM_READ_PORT("DSW1") // OPT SW A AM_RANGE(0xe090, 0xe090) AM_MIRROR(0x1f47) AM_READ_PORT("DSW1") // OPT SW A
@ -709,6 +710,7 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
// TODO: hook up tx and rx callbacks // TODO: hook up tx and rx callbacks
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(MASTER_CLOCK_EURO/(16*16*16*16*16*8))) MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(MASTER_CLOCK_EURO/(16*16*16*16*16*8)))
MCFG_MACHINE_START_OVERRIDE(dlair_state,dlair) MCFG_MACHINE_START_OVERRIDE(dlair_state,dlair)

View File

@ -154,6 +154,7 @@ Dip locations verified with manual for docastle, dorunrun and dowild.
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/sn76496.h" #include "sound/sn76496.h"
#include "includes/docastle.h" #include "includes/docastle.h"
@ -218,7 +219,7 @@ static ADDRESS_MAP_START( docastle_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x8000, 0x97ff) AM_RAM AM_RANGE(0x8000, 0x97ff) AM_RAM
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x9800, 0x99ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w) AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa800, 0xa800) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram") AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram") AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xe000) AM_WRITE(docastle_nmitrigger_w) AM_RANGE(0xe000, 0xe000) AM_WRITE(docastle_nmitrigger_w)
@ -261,7 +262,7 @@ static ADDRESS_MAP_START( dorunrun_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x4000, 0x9fff) AM_ROM AM_RANGE(0x4000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w) AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa800, 0xa800) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram") AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xb400, 0xb7ff) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram") AM_RANGE(0xb400, 0xb7ff) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xb800, 0xb800) AM_WRITE(docastle_nmitrigger_w) AM_RANGE(0xb800, 0xb800) AM_WRITE(docastle_nmitrigger_w)
@ -290,7 +291,7 @@ static ADDRESS_MAP_START( idsoccer_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x5800, 0x59ff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x5800, 0x59ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x6000, 0x9fff) AM_ROM AM_RANGE(0x6000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w) AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w) AM_RANGE(0xa800, 0xa800) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram") AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram") AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc000, 0xc000) AM_READWRITE(idsoccer_adpcm_status_r, idsoccer_adpcm_w) AM_RANGE(0xc000, 0xc000) AM_READWRITE(idsoccer_adpcm_status_r, idsoccer_adpcm_w)
@ -597,6 +598,8 @@ static MACHINE_CONFIG_START( docastle, docastle_state )
MCFG_CPU_PROGRAM_MAP(docastle_map3) MCFG_CPU_PROGRAM_MAP(docastle_map3)
MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse) MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_9_828MHz / 16) MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_9_828MHz / 16)
/* /*

View File

@ -33,7 +33,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback)
output().set_value("P2gear", m_gear[1]); output().set_value("P2gear", m_gear[1]);
/* watchdog is disabled during service mode */ /* watchdog is disabled during service mode */
machine().watchdog_enable(ioport("IN0")->read() & 0x20); m_watchdog->watchdog_enable(ioport("IN0")->read() & 0x20);
} }
@ -173,7 +173,7 @@ static ADDRESS_MAP_START( dragrace_map, AS_PROGRAM, 8, dragrace_state )
AM_RANGE(0x0b00, 0x0bff) AM_WRITEONLY AM_SHARE("position_ram") AM_RANGE(0x0b00, 0x0bff) AM_WRITEONLY AM_SHARE("position_ram")
AM_RANGE(0x0c00, 0x0c00) AM_READ(dragrace_steering_r) AM_RANGE(0x0c00, 0x0c00) AM_READ(dragrace_steering_r)
AM_RANGE(0x0d00, 0x0d00) AM_READ(dragrace_scanline_r) AM_RANGE(0x0d00, 0x0d00) AM_READ(dragrace_scanline_r)
AM_RANGE(0x0e00, 0x0eff) AM_WRITE(watchdog_reset_w) AM_RANGE(0x0e00, 0x0eff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1000, 0x1fff) AM_ROM /* program */ AM_RANGE(0x1000, 0x1fff) AM_ROM /* program */
AM_RANGE(0xf800, 0xffff) AM_ROM /* program mirror */ AM_RANGE(0xf800, 0xffff) AM_ROM /* program mirror */
ADDRESS_MAP_END ADDRESS_MAP_END
@ -330,7 +330,9 @@ static MACHINE_CONFIG_START( dragrace, dragrace_state )
MCFG_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 12) MCFG_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 12)
MCFG_CPU_PROGRAM_MAP(dragrace_map) MCFG_CPU_PROGRAM_MAP(dragrace_map)
MCFG_CPU_PERIODIC_INT_DRIVER(dragrace_state, irq0_line_hold, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(dragrace_state, irq0_line_hold, 4*60)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_TIMER_DRIVER_ADD_PERIODIC("frame_timer", dragrace_state, dragrace_frame_callback, attotime::from_hz(60)) MCFG_TIMER_DRIVER_ADD_PERIODIC("frame_timer", dragrace_state, dragrace_frame_callback, attotime::from_hz(60))

View File

@ -129,7 +129,7 @@ WRITE8_MEMBER(dribling_state::shr_w)
{ {
/* bit 3 = watchdog */ /* bit 3 = watchdog */
if (data & 0x08) if (data & 0x08)
machine().watchdog_reset(); m_watchdog->watchdog_reset();
/* bit 2-0 = SH0-2 */ /* bit 2-0 = SH0-2 */
m_sh = data & 0x07; m_sh = data & 0x07;
@ -283,6 +283,8 @@ static MACHINE_CONFIG_START( dribling, dribling_state )
MCFG_I8255_IN_PORTC_CB(IOPORT("IN0")) MCFG_I8255_IN_PORTC_CB(IOPORT("IN0"))
MCFG_I8255_OUT_PORTC_CB(WRITE8(dribling_state, shr_w)) MCFG_I8255_OUT_PORTC_CB(WRITE8(dribling_state, shr_w))
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)

View File

@ -53,6 +53,7 @@ Notes:
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "sound/2413intf.h" #include "sound/2413intf.h"
@ -499,7 +500,7 @@ static ADDRESS_MAP_START( dunhuang_io_map, AS_IO, 8, dunhuang_state )
AM_RANGE( 0x0008, 0x0008 ) AM_WRITE(dunhuang_vert_clear_w ) AM_RANGE( 0x0008, 0x0008 ) AM_WRITE(dunhuang_vert_clear_w )
AM_RANGE( 0x000c, 0x000c ) AM_READ(watchdog_reset_r ) AM_RANGE( 0x000c, 0x000c ) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE( 0x000f, 0x000f ) AM_WRITE(dunhuang_block_addr_lo_w ) AM_RANGE( 0x000f, 0x000f ) AM_WRITE(dunhuang_block_addr_lo_w )
AM_RANGE( 0x0010, 0x0010 ) AM_WRITE(dunhuang_block_addr_hi_w ) AM_RANGE( 0x0010, 0x0010 ) AM_WRITE(dunhuang_block_addr_hi_w )
@ -817,7 +818,7 @@ static MACHINE_CONFIG_START( dunhuang, dunhuang_state )
MCFG_CPU_IO_MAP(dunhuang_io_map) MCFG_CPU_IO_MAP(dunhuang_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", dunhuang_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", dunhuang_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(5)) MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(5))
/* video hardware */ /* video hardware */

View File

@ -33,6 +33,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/i8255.h" #include "machine/i8255.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "includes/epos.h" #include "includes/epos.h"
@ -79,7 +80,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_IO, 8, epos_state ) static ADDRESS_MAP_START( io_map, AS_IO, 8, epos_state )
ADDRESS_MAP_GLOBAL_MASK(0xff) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_WRITE(watchdog_reset_w) AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(epos_port_1_w) AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(epos_port_1_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS") AM_DEVWRITE("aysnd", ay8910_device, data_w) AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS") AM_DEVWRITE("aysnd", ay8910_device, data_w)
AM_RANGE(0x03, 0x03) AM_READ_PORT("UNK") AM_RANGE(0x03, 0x03) AM_READ_PORT("UNK")
@ -93,7 +94,7 @@ static ADDRESS_MAP_START( dealer_io_map, AS_IO, 8, epos_state )
AM_RANGE(0x34, 0x34) AM_DEVWRITE("aysnd", ay8910_device, data_w) AM_RANGE(0x34, 0x34) AM_DEVWRITE("aysnd", ay8910_device, data_w)
AM_RANGE(0x38, 0x38) AM_READ_PORT("DSW") AM_RANGE(0x38, 0x38) AM_READ_PORT("DSW")
AM_RANGE(0x3C, 0x3C) AM_DEVWRITE("aysnd", ay8910_device, address_w) AM_RANGE(0x3C, 0x3C) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x40, 0x40) AM_WRITE(watchdog_reset_w) AM_RANGE(0x40, 0x40) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -388,6 +389,7 @@ static MACHINE_CONFIG_START( epos, epos_state )
MCFG_CPU_IO_MAP(io_map) MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", epos_state, irq0_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", epos_state, irq0_line_hold)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
@ -418,6 +420,8 @@ static MACHINE_CONFIG_START( dealer, epos_state )
MCFG_MACHINE_START_OVERRIDE(epos_state,dealer) MCFG_MACHINE_START_OVERRIDE(epos_state,dealer)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -27,6 +27,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/watchdog.h"
#include "includes/eprom.h" #include "includes/eprom.h"
@ -148,7 +149,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_base_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_base_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w) AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w)
@ -173,7 +174,7 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
// AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w) // AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
@ -395,6 +396,8 @@ static MACHINE_CONFIG_START( eprom, eprom_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom) MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)
@ -437,6 +440,8 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom) MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)
@ -478,6 +483,8 @@ static MACHINE_CONFIG_START( guts, eprom_state )
MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_ATARI_EEPROM_2804_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", guts) MCFG_GFXDECODE_ADD("gfxdecode", "palette", guts)
MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_ADD("palette", 2048)

View File

@ -361,6 +361,7 @@ D
#include "cpu/i8085/i8085.h" #include "cpu/i8085/i8085.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "includes/equites.h" #include "includes/equites.h"
#define FRQ_ADJUSTER_TAG "FRQ" #define FRQ_ADJUSTER_TAG "FRQ"
@ -667,7 +668,7 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x18c000, 0x18c001) AM_MIRROR(0x020000) AM_MASK(0x020000) AM_WRITE(mcu_switch_w) AM_RANGE(0x18c000, 0x18c001) AM_MIRROR(0x020000) AM_MASK(0x020000) AM_WRITE(mcu_switch_w)
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("IN0") AM_WRITE(equites_scrollreg_w) AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("IN0") AM_WRITE(equites_scrollreg_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE8(equites_bgcolor_w, 0xff00) AM_RANGE(0x380000, 0x380001) AM_WRITE8(equites_bgcolor_w, 0xff00)
AM_RANGE(0x780000, 0x780001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x780000, 0x780001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( gekisou_map, AS_PROGRAM, 16, equites_state ) static ADDRESS_MAP_START( gekisou_map, AS_PROGRAM, 16, equites_state )
@ -1148,6 +1149,8 @@ static MACHINE_CONFIG_START( equites, equites_state )
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, 4000000/8) // 8303 or 8304 (same device!) MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, 4000000/8) // 8303 or 8304 (same device!)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu") MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -41,6 +41,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "emu.h" #include "emu.h"
#include "includes/espial.h" #include "includes/espial.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
@ -106,7 +107,7 @@ static ADDRESS_MAP_START( espial_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1") AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1")
AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2") AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2")
AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_byte_r) AM_WRITE(espial_master_soundlatch_w) AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_byte_r) AM_WRITE(espial_master_soundlatch_w)
AM_RANGE(0x7000, 0x7000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w) AM_RANGE(0x7000, 0x7000) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w) AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w) AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w)
AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1") AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1")
@ -131,7 +132,7 @@ static ADDRESS_MAP_START( netwars_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1") AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1")
AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2") AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2")
AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_byte_r) AM_WRITE(espial_master_soundlatch_w) AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_byte_r) AM_WRITE(espial_master_soundlatch_w)
AM_RANGE(0x7000, 0x7000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w) AM_RANGE(0x7000, 0x7000) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w) AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w) AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w)
AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1") AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1")
@ -324,6 +325,7 @@ static MACHINE_CONFIG_START( espial, espial_state )
MCFG_CPU_IO_MAP(espial_sound_io_map) MCFG_CPU_IO_MAP(espial_sound_io_map)
MCFG_CPU_PERIODIC_INT_DRIVER(espial_state, espial_sound_nmi_gen, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(espial_state, espial_sound_nmi_gen, 4*60)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -208,6 +208,7 @@ TODO:
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "machine/kaneko_hit.h" #include "machine/kaneko_hit.h"
#include "machine/watchdog.h"
#include "video/kaneko_tmap.h" #include "video/kaneko_tmap.h"
#include "video/kaneko_spr.h" #include "video/kaneko_spr.h"
#include "includes/galpnipt.h" #include "includes/galpnipt.h"
@ -940,6 +941,7 @@ static MACHINE_CONFIG_START( expro02, expro02_state )
/* arm watchdog */ /* arm watchdog */
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
/* sound hardware */ /* sound hardware */
@ -963,6 +965,7 @@ static MACHINE_CONFIG_DERIVED( comad, expro02 )
kaneko_view2_tilemap_device::set_invert_flip(*device, 1); kaneko_view2_tilemap_device::set_invert_flip(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, -256, -216, 256, 224); kaneko_view2_tilemap_device::set_offset(*device, -256, -216, 256, 224);
MCFG_WATCHDOG_MODIFY("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) /* a guess, and certainly wrong */ MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) /* a guess, and certainly wrong */
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -68,6 +68,7 @@
#include "sound/dac.h" #include "sound/dac.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/watchdog.h"
#include "includes/exterm.h" #include "includes/exterm.h"
@ -283,7 +284,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
AM_RANGE(0x01480000, 0x014bffff) AM_MIRROR(0xfc000000) AM_READ_PORT("DSW") AM_RANGE(0x01480000, 0x014bffff) AM_MIRROR(0xfc000000) AM_READ_PORT("DSW")
AM_RANGE(0x01500000, 0x0153ffff) AM_MIRROR(0xfc000000) AM_WRITE(exterm_output_port_0_w) AM_RANGE(0x01500000, 0x0153ffff) AM_MIRROR(0xfc000000) AM_WRITE(exterm_output_port_0_w)
AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE(sound_latch_w) AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE(sound_latch_w)
AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram") AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0) AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0)
@ -432,6 +433,8 @@ static MACHINE_CONFIG_START( exterm, exterm_state )
MCFG_TIMER_DRIVER_ADD("snd_nmi_timer", exterm_state, master_sound_nmi_callback) MCFG_TIMER_DRIVER_ADD("snd_nmi_timer", exterm_state, master_sound_nmi_callback)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_PALETTE_ADD("palette", 2048+32768) MCFG_PALETTE_ADD("palette", 2048+32768)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)

View File

@ -13,6 +13,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "includes/fastfred.h" #include "includes/fastfred.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
@ -200,7 +201,7 @@ static ADDRESS_MAP_START( fastfred_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE(fastfred_flip_screen_y_w) AM_RANGE(0xf007, 0xf007) AM_WRITE(fastfred_flip_screen_y_w)
AM_RANGE(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_w) AM_RANGE(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_w)
AM_RANGE(0xf117, 0xf117) AM_WRITE(fastfred_flip_screen_y_w) AM_RANGE(0xf117, 0xf117) AM_WRITE(fastfred_flip_screen_y_w)
AM_RANGE(0xf800, 0xf800) AM_READWRITE(watchdog_reset_r, soundlatch_byte_w) AM_RANGE(0xf800, 0xf800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(soundlatch_byte_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -226,7 +227,7 @@ static ADDRESS_MAP_START( jumpcoas_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE(fastfred_flip_screen_y_w) AM_RANGE(0xf007, 0xf007) AM_WRITE(fastfred_flip_screen_y_w)
AM_RANGE(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_w) AM_RANGE(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_w)
AM_RANGE(0xf117, 0xf117) AM_WRITE(fastfred_flip_screen_y_w) AM_RANGE(0xf117, 0xf117) AM_WRITE(fastfred_flip_screen_y_w)
//AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r) // Why doesn't this work??? //AM_RANGE(0xf800, 0xf800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) // Why doesn't this work???
AM_RANGE(0xf800, 0xf801) AM_READNOP AM_DEVWRITE("ay8910.1", ay8910_device, address_data_w) AM_RANGE(0xf800, 0xf801) AM_READNOP AM_DEVWRITE("ay8910.1", ay8910_device, address_data_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -654,6 +655,8 @@ static MACHINE_CONFIG_START( fastfred, fastfred_state )
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT_DRIVER(fastfred_state, sound_timer_irq, 4*60) MCFG_CPU_PERIODIC_INT_DRIVER(fastfred_state, sound_timer_irq, 4*60)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -13,6 +13,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/m6809/hd6309.h" #include "cpu/m6809/hd6309.h"
#include "machine/watchdog.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
#include "includes/fastlane.h" #include "includes/fastlane.h"
@ -81,7 +82,7 @@ static ADDRESS_MAP_START( fastlane_map, AS_PROGRAM, 8, fastlane_state )
AM_RANGE(0x0803, 0x0803) AM_READ_PORT("SYSTEM") AM_RANGE(0x0803, 0x0803) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW1") AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW1")
AM_RANGE(0x0901, 0x0901) AM_READ_PORT("DSW2") AM_RANGE(0x0901, 0x0901) AM_READ_PORT("DSW2")
AM_RANGE(0x0b00, 0x0b00) AM_WRITE(watchdog_reset_w) /* watchdog reset */ AM_RANGE(0x0b00, 0x0b00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */ AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */
AM_RANGE(0x0d00, 0x0d0d) AM_READWRITE(fastlane_k1_k007232_r, fastlane_k1_k007232_w) /* 007232 registers (chip 1) */ AM_RANGE(0x0d00, 0x0d0d) AM_READWRITE(fastlane_k1_k007232_r, fastlane_k1_k007232_w) /* 007232 registers (chip 1) */
AM_RANGE(0x0e00, 0x0e0d) AM_READWRITE(fastlane_k2_k007232_r, fastlane_k2_k007232_w) /* 007232 registers (chip 2) */ AM_RANGE(0x0e00, 0x0e0d) AM_READWRITE(fastlane_k2_k007232_r, fastlane_k2_k007232_w) /* 007232 registers (chip 2) */
@ -201,6 +202,8 @@ static MACHINE_CONFIG_START( fastlane, fastlane_state )
MCFG_CPU_PROGRAM_MAP(fastlane_map) MCFG_CPU_PROGRAM_MAP(fastlane_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", fastlane_state, fastlane_scanline, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", fastlane_state, fastlane_scanline, "screen", 0, 1)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(59.17) // measured MCFG_SCREEN_REFRESH_RATE(59.17) // measured

Some files were not shown because too many files have changed in this diff Show More