mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Merge pull request #844 from ajrhacker/watchdog
Make watchdog timer a separate device [AJR]
This commit is contained in:
commit
c51af01720
@ -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
|
||||
@ -2819,3 +2819,15 @@ if (MACHINES["FDC_PLL"]~=null) then
|
||||
}
|
||||
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
|
||||
|
||||
|
@ -570,6 +570,7 @@ MACHINES["PCI9050"] = true
|
||||
--MACHINES["TMS1024"] = true
|
||||
MACHINES["GENPC"] = true
|
||||
MACHINES["GEN_LATCH"] = true
|
||||
MACHINES["WATCHDOG"] = true
|
||||
|
||||
--------------------------------------------------
|
||||
-- specify available bus cores
|
||||
|
@ -577,6 +577,7 @@ MACHINES["NSC810"] = true
|
||||
MACHINES["VT82C496"] = true
|
||||
MACHINES["GENPC"] = true
|
||||
MACHINES["GEN_LATCH"] = true
|
||||
MACHINES["WATCHDOG"] = true
|
||||
|
||||
--------------------------------------------------
|
||||
-- specify available bus cores
|
||||
|
@ -61,6 +61,7 @@ MACHINES["PIT8253"] = true
|
||||
MACHINES["Z80CTC"] = true
|
||||
MACHINES["68681"] = true
|
||||
MACHINES["BANKDEV"] = true
|
||||
MACHINES["WATCHDOG"] = true
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
|
@ -136,6 +136,7 @@ static MACHINE_CONFIG_FRAGMENT( abc77 )
|
||||
MCFG_CPU_IO_MAP(abc77_io)
|
||||
|
||||
// watchdog
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(XTAL_4_608MHz/3/5/4096))
|
||||
|
||||
// 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__),
|
||||
abc_keyboard_interface(mconfig, *this),
|
||||
m_maincpu(*this, I8035_TAG),
|
||||
m_watchdog(*this, "watchdog"),
|
||||
m_discrete(*this, DISCRETE_TAG),
|
||||
m_x0(*this, "X0"),
|
||||
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),
|
||||
abc_keyboard_interface(mconfig, *this),
|
||||
m_maincpu(*this, I8035_TAG),
|
||||
m_watchdog(*this, "watchdog"),
|
||||
m_discrete(*this, DISCRETE_TAG),
|
||||
m_x0(*this, "X0"),
|
||||
m_x1(*this, "X1"),
|
||||
@ -610,7 +613,7 @@ WRITE8_MEMBER( abc77_device::p2_w )
|
||||
|
||||
if (m_keylatch == 1)
|
||||
{
|
||||
machine().watchdog_reset();
|
||||
m_watchdog->watchdog_reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "abckb.h"
|
||||
#include "sound/discrete.h"
|
||||
#include "sound/speaker.h"
|
||||
@ -66,6 +67,7 @@ protected:
|
||||
inline void key_down(int state);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<watchdog_timer_device> m_watchdog;
|
||||
required_device<discrete_sound_device> m_discrete;
|
||||
required_ioport m_x0;
|
||||
required_ioport m_x1;
|
||||
|
223
src/devices/machine/watchdog.cpp
Normal file
223
src/devices/machine/watchdog.cpp
Normal 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(); }
|
95
src/devices/machine/watchdog.h
Normal file
95
src/devices/machine/watchdog.h
Normal 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
|
@ -381,6 +381,8 @@ INTERRUPT_GEN_MEMBER( driver_device::irq7_line_assert ) { device.execute().set_i
|
||||
// WATCHDOG READ/WRITE HELPERS
|
||||
//**************************************************************************
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
|
||||
//-------------------------------------------------
|
||||
// 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(); }
|
||||
READ32_MEMBER( driver_device::watchdog_reset32_r ) { machine().watchdog_reset(); return space.unmap(); }
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -179,6 +179,7 @@ public:
|
||||
INTERRUPT_GEN_MEMBER( irq7_line_pulse );
|
||||
INTERRUPT_GEN_MEMBER( irq7_line_assert );
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// watchdog read/write handlers
|
||||
DECLARE_WRITE8_MEMBER( watchdog_reset_w );
|
||||
DECLARE_READ8_MEMBER( watchdog_reset_r );
|
||||
@ -186,6 +187,7 @@ public:
|
||||
DECLARE_READ16_MEMBER( watchdog_reset16_r );
|
||||
DECLARE_WRITE32_MEMBER( watchdog_reset32_w );
|
||||
DECLARE_READ32_MEMBER( watchdog_reset32_r );
|
||||
#endif
|
||||
|
||||
// generic audio
|
||||
void soundlatch_setclearedvalue(UINT16 value) { m_latch_clear_value = value; }
|
||||
|
@ -230,6 +230,7 @@ void running_machine::start()
|
||||
m_rom_load = make_unique_clear<rom_load_manager>(*this);
|
||||
m_memory.initialize();
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// initialize the watchdog
|
||||
m_watchdog_counter = 0;
|
||||
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));
|
||||
save().save_item(NAME(m_watchdog_enabled));
|
||||
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().save_item(NAME(m_rand_seed));
|
||||
@ -877,10 +879,12 @@ void running_machine::soft_reset(void *ptr, INT32 param)
|
||||
// temporarily in the reset phase
|
||||
m_current_phase = MACHINE_PHASE_RESET;
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// 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);
|
||||
watchdog_reset();
|
||||
m_watchdog_enabled = true;
|
||||
#endif
|
||||
|
||||
// call all registered reset callbacks
|
||||
call_notifiers(MACHINE_NOTIFY_RESET);
|
||||
@ -894,6 +898,7 @@ void running_machine::soft_reset(void *ptr, INT32 param)
|
||||
// watchdog_reset - reset the watchdog timer
|
||||
//-------------------------------------------------
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
void running_machine::watchdog_reset()
|
||||
{
|
||||
// if we're not enabled, skip it
|
||||
@ -912,12 +917,14 @@ void running_machine::watchdog_reset()
|
||||
else
|
||||
m_watchdog_timer->adjust(attotime::from_seconds(3));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// watchdog_enable - reset the watchdog timer
|
||||
//-------------------------------------------------
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
void running_machine::watchdog_enable(bool enable)
|
||||
{
|
||||
// when re-enabled, we reset our state
|
||||
@ -927,12 +934,14 @@ void running_machine::watchdog_enable(bool enable)
|
||||
watchdog_reset();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// watchdog_fired - watchdog timer callback
|
||||
//-------------------------------------------------
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
void running_machine::watchdog_fired(void *ptr, INT32 param)
|
||||
{
|
||||
logerror("Reset caused by the watchdog!!!\n");
|
||||
@ -946,6 +955,7 @@ void running_machine::watchdog_fired(void *ptr, INT32 param)
|
||||
|
||||
schedule_soft_reset();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -953,6 +963,7 @@ void running_machine::watchdog_fired(void *ptr, INT32 param)
|
||||
// watchdog timers
|
||||
//-------------------------------------------------
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
void running_machine::watchdog_vblank(screen_device &screen, bool vblank_state)
|
||||
{
|
||||
// VBLANK starting
|
||||
@ -964,6 +975,7 @@ void running_machine::watchdog_vblank(screen_device &screen, bool vblank_state)
|
||||
watchdog_fired();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -227,10 +227,12 @@ public:
|
||||
void base_datetime(system_time &systime);
|
||||
void current_datetime(system_time &systime);
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// watchdog control
|
||||
void watchdog_reset();
|
||||
void watchdog_enable(bool enable = true);
|
||||
INT32 get_vblank_watchdog_counter() const { return m_watchdog_counter; }
|
||||
#endif
|
||||
|
||||
// misc
|
||||
void popmessage() const { popmessage(static_cast<char const *>(nullptr)); }
|
||||
@ -262,8 +264,10 @@ private:
|
||||
std::string get_statename(const char *statename_opt) const;
|
||||
void handle_saveload();
|
||||
void soft_reset(void *ptr = nullptr, INT32 param = 0);
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
void watchdog_fired(void *ptr = nullptr, INT32 param = 0);
|
||||
void watchdog_vblank(screen_device &screen, bool vblank_state);
|
||||
#endif
|
||||
std::string nvram_filename(device_t &device) const;
|
||||
void nvram_load();
|
||||
void nvram_save();
|
||||
@ -309,10 +313,12 @@ private:
|
||||
bool m_exit_pending; // is an exit pending?
|
||||
emu_timer * m_soft_reset_timer; // timer used to schedule a soft reset
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// watchdog state
|
||||
bool m_watchdog_enabled; // is the watchdog enabled?
|
||||
INT32 m_watchdog_counter; // counter for watchdog tracking
|
||||
emu_timer * m_watchdog_timer; // timer for watchdog tracking
|
||||
#endif
|
||||
|
||||
// misc state
|
||||
UINT32 m_rand_seed; // current random number seed
|
||||
|
@ -23,8 +23,10 @@
|
||||
|
||||
machine_config::machine_config(const game_driver &gamedrv, emu_options &options)
|
||||
: m_minimum_quantum(attotime::zero),
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
m_watchdog_vblank_count(0),
|
||||
m_watchdog_time(attotime::zero),
|
||||
#endif
|
||||
m_default_layout(nullptr),
|
||||
m_gamedrv(gamedrv),
|
||||
m_options(options)
|
||||
|
@ -68,8 +68,10 @@ public:
|
||||
// public state
|
||||
attotime m_minimum_quantum; // minimum scheduling quantum
|
||||
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
|
||||
attotime m_watchdog_time; // length of time until the watchdog kills us
|
||||
#endif
|
||||
|
||||
// other parameters
|
||||
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) \
|
||||
config.m_perfect_cpu_quantum = owner->subtag(_cputag);
|
||||
|
||||
#ifdef LEGACY_WATCHDOG
|
||||
// watchdog configuration
|
||||
#define MCFG_WATCHDOG_VBLANK_INIT(_count) \
|
||||
config.m_watchdog_vblank_count = _count;
|
||||
#define MCFG_WATCHDOG_TIME_INIT(_time) \
|
||||
config.m_watchdog_time = _time;
|
||||
#endif
|
||||
|
||||
// core video parameters
|
||||
#define MCFG_DEFAULT_LAYOUT(_layout) \
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.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(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w)
|
||||
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(0xd000, 0xd3ff) AM_RAM_WRITE(c1943_videoram_w) AM_SHARE("videoram")
|
||||
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_PERIODIC_INT_DRIVER(_1943_state, irq0_line_hold, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -86,6 +86,7 @@ Graphics: CY37256P160-83AC x 2 (Ultra37000 CPLD family - 160 pin TQFP, 256 Macro
|
||||
#include "emu.h"
|
||||
#include "cpu/z180/z180.h"
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/dac.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(0x81, 0x81) AM_READ_PORT("P2")
|
||||
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(0x82, 0x82) AM_WRITE(irqack_w)
|
||||
// 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(0x81, 0x81) AM_READ_PORT("P2")
|
||||
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(0x82, 0x82) AM_WRITE(irqack_w)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_FRAGMENT_ADD(20pacgal_video)
|
||||
|
||||
|
@ -196,6 +196,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/speaker.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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
|
||||
@ -413,7 +414,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( invadpt2, mw8080bw_root, _8080bw_state )
|
||||
|
||||
/* 60 Hz signal clocks two LS161. Ripple carry will */
|
||||
/* reset circuit, if LS161 not cleared before. */
|
||||
MCFG_WATCHDOG_VBLANK_INIT(255)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
|
||||
|
||||
/* add shifter */
|
||||
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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
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(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
|
||||
|
||||
static INPUT_PORTS_START( astropal )
|
||||
@ -569,6 +571,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( astropal, invaders, _8080bw_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_IO_MAP(astropal_io_map)
|
||||
|
||||
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(0x03, 0x03) AM_WRITE(invadpt2_sh_port_1_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
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -620,6 +623,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( cosmo, mw8080bw_root, _8080bw_state )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(cosmo_map)
|
||||
MCFG_CPU_IO_MAP(cosmo_io_map)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
|
||||
|
||||
/* 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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
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_IO_MAP(invrvnge_io_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M6808, XTAL_4MHz/2) // MC6808P
|
||||
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(0x04, 0x04) AM_WRITE(invadpt2_sh_port_1_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 */
|
||||
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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
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_WATCHDOG_VBLANK_INIT(255)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
|
||||
|
||||
/* add shifter */
|
||||
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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
|
||||
@ -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_PROGRAM_MAP(schaser_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_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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
|
||||
@ -1691,6 +1700,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_IO_MAP(lupin3_io_map)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
|
||||
|
||||
/* add shifter */
|
||||
@ -1731,50 +1741,11 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED_CLASS( lupin3a, mw8080bw_root, _8080bw_state )
|
||||
|
||||
/* 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")
|
||||
static MACHINE_CONFIG_DERIVED( lupin3a, lupin3 )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
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
|
||||
|
||||
|
||||
@ -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(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(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)
|
||||
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_PROGRAM_MAP(schaser_map)
|
||||
MCFG_CPU_IO_MAP(polaris_io_map)
|
||||
MCFG_WATCHDOG_VBLANK_INIT(255)
|
||||
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)
|
||||
|
||||
/* 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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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)
|
||||
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(0x04, 0x04) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -2259,6 +2233,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( indianbt, mw8080bw_root, _8080bw_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_IO_MAP(indianbt_io_map)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
|
||||
|
||||
/* add shifter */
|
||||
@ -2284,6 +2259,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( indianbtbr, mw8080bw_root, _8080bw_state )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(schaser_map)
|
||||
MCFG_CPU_IO_MAP(indianbtbr_io_map)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
|
||||
|
||||
/* 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(0x06, 0x06) AM_DEVWRITE("mb14241", mb14241_device, shift_data_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
|
||||
|
||||
|
||||
@ -2727,6 +2703,8 @@ MACHINE_CONFIG_DERIVED_CLASS( vortex, mw8080bw_root, _8080bw_state )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_IO_MAP(vortex_io_map)
|
||||
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)))
|
||||
|
||||
/* 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(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(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(0x06, 0x06) AM_READ(claybust_gun_hi_r)
|
||||
ADDRESS_MAP_END
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.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(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("ram")
|
||||
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(0x5f90, 0x5f90) AM_WRITE(k88games_sh_irqtrigger_w)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -46,6 +46,7 @@
|
||||
*/
|
||||
|
||||
#include "includes/abc1600.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "softlist.h"
|
||||
|
||||
|
||||
@ -844,6 +845,7 @@ static MACHINE_CONFIG_START( abc1600, abc1600_state )
|
||||
MCFG_CPU_PROGRAM_MAP(abc1600_mem)
|
||||
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
|
||||
|
||||
// video hardware
|
||||
|
@ -13,6 +13,7 @@ Inputs and Dip Switches by Stephh
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
#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(0xa004, 0xa004) AM_WRITE(acefruit_solenoid_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
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -610,6 +611,8 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
|
||||
MCFG_CPU_IO_MAP(acefruit_io)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", acefruit_state, acefruit_vblank)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", acefruit)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -235,7 +235,7 @@ READ8_MEMBER(airbustr_state::devram_r)
|
||||
that would reset the main cpu. We avoid this and patch
|
||||
the rom instead (main cpu has to be reset once at startup) */
|
||||
case 0xfe0:
|
||||
return watchdog_reset_r(space, 0);
|
||||
return m_watchdog->reset_r(space, 0);
|
||||
|
||||
/* Reading a word at eff2 probably yelds the product
|
||||
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
|
||||
// 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 */
|
||||
|
||||
/* video hardware */
|
||||
@ -636,6 +638,7 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( airbustrb, airbustr )
|
||||
MCFG_WATCHDOG_MODIFY("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) // no protection device or watchdog
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -178,6 +178,8 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(600))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)
|
||||
|
@ -37,9 +37,10 @@ PCB:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "video/mc6845.h"
|
||||
#include "machine/i8255.h"
|
||||
|
||||
#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, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
|
||||
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
|
||||
|
||||
/***************************************************************************************/
|
||||
@ -353,7 +354,8 @@ static MACHINE_CONFIG_START( yumefuda, albazg_state )
|
||||
|
||||
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_I8255_OUT_PORTA_CB(WRITE8(albazg_state, mux_w))
|
||||
|
@ -12,6 +12,7 @@ Preliminary driver by:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "includes/konamipt.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(0x5f83, 0x5f83) AM_READ_PORT("DSW2")
|
||||
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(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
|
||||
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_STRIDE(0x400)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) // measured 59.17
|
||||
|
@ -37,6 +37,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.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 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
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(0xc080, 0xc09f) AM_SHARE("scrollram")
|
||||
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_VBLANK_INT_DRIVER("screen", ambush_state, irq0_line_hold)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -573,7 +573,7 @@ WRITE8_MEMBER(ampoker2_state::ampoker2_watchdog_reset_w)
|
||||
|
||||
if (((data >> 3) & 0x01) == 0) /* check for refresh value (0x08) */
|
||||
{
|
||||
machine().watchdog_reset();
|
||||
m_watchdog->watchdog_reset();
|
||||
// popmessage("%02x", data);
|
||||
}
|
||||
else
|
||||
@ -1142,6 +1142,8 @@ static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
|
||||
MCFG_CPU_PROGRAM_MAP(ampoker2_map)
|
||||
MCFG_CPU_IO_MAP(ampoker2_io_map)
|
||||
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_NVRAM_ADD_0FILL("nvram")
|
||||
|
@ -70,6 +70,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "video/atarimo.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(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
|
||||
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
|
||||
|
||||
|
||||
@ -325,6 +326,8 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state )
|
||||
MCFG_MACHINE_RESET_OVERRIDE(arcadecl_state,arcadecl)
|
||||
MCFG_ATARI_EEPROM_2804_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", arcadecl)
|
||||
MCFG_PALETTE_ADD("palette", 512)
|
||||
|
@ -171,6 +171,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/arm/arm.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/dac.h"
|
||||
#include "includes/archimds.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(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
|
||||
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(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
|
||||
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 )
|
||||
MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000
|
||||
MCFG_CPU_PROGRAM_MAP(aristmk5_drame_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
|
||||
|
||||
// MCFG_I2CMEM_ADD("i2cmem")
|
||||
@ -576,6 +579,8 @@ MACHINE_CONFIG_END
|
||||
static MACHINE_CONFIG_START( aristmk5_usa, aristmk5_state )
|
||||
MCFG_CPU_ADD("maincpu", ARM, MASTER_CLOCK/6) // 12000000
|
||||
MCFG_CPU_PROGRAM_MAP(aristmk5_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
|
||||
|
||||
// MCFG_I2CMEM_ADD("i2cmem")
|
||||
|
@ -765,6 +765,7 @@ DIP locations verified for:
|
||||
#include "includes/arkanoid.h"
|
||||
#include "sound/ay8910.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(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(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(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
|
||||
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(0xd008, 0xd008) AM_WRITE(arkanoid_d008_w) /* gfx bank, flip screen etc. */
|
||||
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(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_SHARE("videoram")
|
||||
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(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_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")
|
||||
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(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_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(0xe800, 0xefff) AM_RAM
|
||||
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_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_PROGRAM_MAP(mcu_map)
|
||||
|
||||
@ -1355,6 +1358,8 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
|
||||
MCFG_CPU_PROGRAM_MAP(hexa_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -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 "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/vector.h"
|
||||
#include "video/avgdvg.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(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_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(0x3a00, 0x3a00) AM_WRITE(asteroid_thump_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(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_w)
|
||||
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(0x3a00, 0x3a00) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_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(0x3000, 0x3000) AM_DEVWRITE("dvg", dvg_device, go_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(0x3e00, 0x3e00) AM_WRITE(llander_snd_reset_w)
|
||||
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_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, CLOCK_3KHZ/12)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VECTOR_ADD("vector")
|
||||
MCFG_SCREEN_ADD("screen", VECTOR)
|
||||
|
@ -221,6 +221,7 @@ DIP locations verified for:
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "includes/taitoipt.h"
|
||||
#include "audio/taitosnd.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2610intf.h"
|
||||
#include "sound/2151intf.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(0x3a0000, 0x3a0001) AM_WRITE(asuka_spritectrl_w)
|
||||
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(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)
|
||||
@ -835,6 +836,8 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(600))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -45,6 +45,7 @@ ToDo:
|
||||
|
||||
#include "machine/genpin.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/dac.h"
|
||||
#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(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(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(0x6000, 0x6fff) AM_WRITE(audiores_w) // audio reset
|
||||
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(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r)
|
||||
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(0x7000, 0x7fff) AM_ROM
|
||||
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(0x2000, 0x204f) AM_MIRROR(0x0F80) AM_READ(switch_r)
|
||||
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(0x7000, 0x7fff) AM_ROM AM_WRITENOP // writes to FFFF due to poor coding at 7FF5
|
||||
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_PROGRAM_MAP(atari_s1_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
@ -23,6 +23,7 @@ ToDo:
|
||||
|
||||
#include "machine/genpin.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/dac.h"
|
||||
#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(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_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(0x2000, 0x2000) AM_MIRROR(0x07FC) AM_READ_PORT("DSW0")
|
||||
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(0x1880, 0x1880) AM_MIRROR(0x071F) AM_WRITE(sol0_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(0x2000, 0x2000) AM_MIRROR(0x07F4) AM_READ_PORT("DSW0")
|
||||
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_PROGRAM_MAP(atari_s2_map)
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
|
@ -107,6 +107,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "includes/atarifb.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/discrete.h"
|
||||
|
||||
#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(0x4000, 0x4000) AM_READ(atarifb_in0_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
|
||||
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(0x4001, 0x4001) AM_READ_PORT("EXTRA")
|
||||
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
|
||||
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(0x4000, 0x4000) AM_READ(atarifb_in0_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
|
||||
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(0x1002, 0x1002) AM_WRITE(soccer_out2_w) /* OUT 2 */
|
||||
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(0x1801, 0x1801) AM_READ_PORT("EXTRA")
|
||||
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_PERIODIC_INT_DRIVER(atarifb_state, irq0_line_hold, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/atarirle.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(0x040000, 0x077fff) AM_ROM
|
||||
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(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)
|
||||
@ -433,6 +434,8 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2816_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig1)
|
||||
MCFG_PALETTE_ADD("palette", 1280)
|
||||
|
@ -20,6 +20,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/atarirle.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(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
|
||||
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(0xf40000, 0xf40001) AM_DEVREAD("asic65", asic65_device, io_r)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarig42)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
|
@ -195,6 +195,7 @@ RoadBlasters (aka Future Vette):005*
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "sound/pokey.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(0x840000, 0x840001) AM_WRITE(atarisy1_priority_w)
|
||||
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(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write)
|
||||
AM_RANGE(0x900000, 0x9fffff) AM_RAM
|
||||
@ -721,6 +722,8 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
|
||||
|
||||
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("scan_timer", atarisy1_state, atarisy1_int3_callback)
|
||||
MCFG_TIMER_DRIVER_ADD("int3off_timer", atarisy1_state, atarisy1_int3off_callback)
|
||||
|
@ -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(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(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(0x2000, 0x3fff) AM_READWRITE(videoram_r, videoram_w)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("rombank1")
|
||||
@ -1199,6 +1199,8 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
|
||||
|
||||
MCFG_EEPROM_2804_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atarisy2)
|
||||
MCFG_PALETTE_ADD("palette", 256)
|
||||
|
@ -56,6 +56,7 @@
|
||||
#include "sound/sn76496.h"
|
||||
#include "sound/pokey.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
|
||||
#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(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(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(0x3800, 0x3800) AM_MIRROR(0x03ff) AM_WRITE(irq_ack_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(0x2808, 0x2808) AM_READ_PORT("IN0")
|
||||
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(0x3800, 0x3800) AM_WRITE(irq_ack_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(0x2808, 0x2808) AM_READ_PORT("IN0")
|
||||
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(0x3800, 0x3800) AM_WRITE(irq_ack_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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris)
|
||||
|
||||
@ -371,6 +374,8 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", atetris)
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/discrete.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(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
|
||||
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(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_WRITE(avalnche_attract_enable_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(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
|
||||
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(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)
|
||||
@ -250,6 +251,7 @@ static MACHINE_CONFIG_START( avalnche, avalnche_state )
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(avalnche_state, nmi_line_pulse, 8*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "includes/aztarac.h"
|
||||
#include "sound/ay8910.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(0x027008, 0x027009) AM_READWRITE(sound_r, sound_w)
|
||||
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(0xffb000, 0xffb001) AM_WRITE(ubr_w)
|
||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM
|
||||
@ -159,6 +159,8 @@ static MACHINE_CONFIG_START( aztarac, aztarac_state )
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VECTOR_ADD("vector")
|
||||
MCFG_SCREEN_ADD("screen", VECTOR)
|
||||
|
@ -167,6 +167,7 @@ Measurements -
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.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(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(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(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000")
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", badlands)
|
||||
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(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(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
|
||||
|
@ -233,6 +233,7 @@ DIP locations verified for:
|
||||
#include "includes/balsente.h"
|
||||
#include "sound/cem3394.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
#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(0x98a0, 0x98bf) AM_WRITE(balsente_rombank_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(0x9901, 0x9901) AM_READ_PORT("SWG")
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
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_1_timer", balsente_state, balsente_counter_callback)
|
||||
|
@ -110,6 +110,7 @@ DIP locations verified for:
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/watchdog.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(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(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(0xb000, 0xb002) AM_WRITE(baraduke_scroll0_w) /* scroll (layer 0) */
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 0, 36*8, 264, 2*8, 30*8)
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/atarimo.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(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(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(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")
|
||||
@ -205,6 +206,8 @@ static MACHINE_CONFIG_START( batman, batman_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2816_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", batman)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/hd6309.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/3812intf.h"
|
||||
#include "includes/konamipt.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(0x2e08, 0x2e08) AM_WRITE(battlnts_bankswitch_w) /* bankswitch control */
|
||||
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(0x2e18, 0x2e18) AM_WRITE(battlnts_sh_irqtrigger_w) /* cause interrupt on audio CPU */
|
||||
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_PROGRAM_MAP(battlnts_sound_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -102,7 +102,7 @@
|
||||
#include "emu.h"
|
||||
#include "includes/beathead.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
|
||||
#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(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_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(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD("scan_timer", beathead_state, scanline_callback)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -93,6 +93,8 @@ static MACHINE_CONFIG_START( beezer, beezer_state )
|
||||
MCFG_CPU_ADD("audiocpu", M6809, 1000000) /* 1 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -98,6 +98,7 @@ Optional (on expansion card) (Viper)
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/upd7759.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "machine/bfm_comn.h"
|
||||
|
||||
#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(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
|
||||
|
||||
@ -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_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_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
|
||||
|
||||
|
||||
|
@ -145,6 +145,7 @@ Adder hardware:
|
||||
#include "cpu/m6809/m6809.h"
|
||||
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.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(0x2330, 0x2330) AM_WRITE(payout_latch_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(0x2334, 0x2335) AM_WRITE(unknown_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_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_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9))
|
||||
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("vfd1",1)
|
||||
|
||||
@ -3624,6 +3627,8 @@ static MACHINE_CONFIG_START( scorpion2, bfm_sc2_state )
|
||||
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
|
||||
MCFG_CPU_PROGRAM_MAP(memmap_no_vid)
|
||||
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_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_PROGRAM_MAP(memmap_no_vid)
|
||||
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_SPEAKER_STANDARD_MONO("mono")
|
||||
|
@ -20,6 +20,7 @@ DIP Locations verified for:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6805/m6805.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/dac.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(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(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(0x09, 0x09) AM_WRITE(bking_cont2_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(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(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(0x09, 0x09) AM_WRITE(bking_cont2_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, */
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(bking_state, irq0_line_hold, (double)6000000/(4*16*16*10*16))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/m6809/hd6309.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "includes/konamipt.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(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(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(0x2f40, 0x2f40) AM_WRITE(bladestl_bankswitch_w) /* bankswitch control */
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "cpu/mcs51/mcs51.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(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
|
||||
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(0x08, 0x09) AM_WRITE(blktiger_scrollx_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(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
|
||||
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(0x08, 0x09) AM_WRITE(blktiger_scrollx_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_VBLANK_INT_DRIVER("screen", blktiger_state, irq0_line_hold)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cpu/m6809/konami.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/bankdev.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/k052109.h"
|
||||
#include "video/k051960.h"
|
||||
#include "sound/2151intf.h"
|
||||
@ -73,7 +74,7 @@ private:
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
|
||||
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_byte_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(0x1f95, 0x1f95) AM_READ_PORT("P1")
|
||||
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_PROGRAM_MAP(audio_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "machine/atarigen.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 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
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(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)
|
||||
@ -181,6 +182,8 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2804_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", blstroid)
|
||||
|
||||
|
@ -50,6 +50,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.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(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r)
|
||||
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")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -351,6 +352,8 @@ static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
|
||||
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "includes/konamipt.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(0x1f80, 0x1f80) AM_WRITE(bankswitch_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(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w)
|
||||
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_PERIODIC_INT_DRIVER(bottom9_state, bottom9_sound_interrupt, 8*60) /* irq is triggered by the main CPU */
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
#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(0x1d00, 0x1dff) AM_WRITE(boxer_bell_w)
|
||||
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
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -480,6 +480,7 @@ static MACHINE_CONFIG_START( boxer, boxer_state )
|
||||
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16)
|
||||
MCFG_CPU_PROGRAM_MAP(boxer_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -276,6 +276,7 @@ TODO:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "sound/3526intf.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(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_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(0xfc00, 0xffff) AM_RAM AM_SHARE("mcu_sharedram")
|
||||
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(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
|
||||
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(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_MACHINE_START_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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(bublbobl_state, bublbobl)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, bublbobl)
|
||||
|
||||
|
@ -80,6 +80,7 @@ Dip locations and factory settings verified from dip listing
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6805/m6805.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.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(0xd100, 0xd100) AM_WRITE(buggychl_ctrl_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(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)
|
||||
@ -373,6 +374,7 @@ static MACHINE_CONFIG_START( buggychl, buggychl_state )
|
||||
MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
|
||||
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -220,6 +220,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/vector.h"
|
||||
#include "video/avgdvg.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(0x2000, 0x2000) AM_DEVWRITE("avg", avg_device, go_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(0x4000, 0x47ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x4000)
|
||||
AM_RANGE(0x4800, 0x6fff) AM_ROM
|
||||
@ -757,6 +758,7 @@ static MACHINE_CONFIG_DERIVED( bwidowp, bwidow )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(bwidowp_map)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gravitar, bwidow )
|
||||
|
@ -208,6 +208,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/vector.h"
|
||||
#include "video/avgdvg.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(0x1000, 0x1000) AM_WRITE(bzone_coin_counter_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(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_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(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(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(0x1800, 0x1800) AM_DEVREAD("mathbox", mathbox_device, status_r)
|
||||
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_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt, BZONE_CLOCK_3KHZ / 12)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VECTOR_ADD("vector")
|
||||
MCFG_SCREEN_ADD("screen", VECTOR)
|
||||
|
@ -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(0x0400, 0x0401) AM_WRITE(canyon_motor_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(0x0680, 0x0683) AM_WRITE(canyon_led_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_PROGRAM_MAP(main_map)
|
||||
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 */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -181,7 +181,7 @@ WRITE8_MEMBER(capbowl_state::track_reset_w)
|
||||
m_last_trackball_val[0] = ioport("TRACKY")->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_PROGRAM_MAP(capbowl_map)
|
||||
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_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK)
|
||||
|
@ -78,6 +78,7 @@ Versions known to exist but not dumped:
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/cave.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(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
|
||||
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
|
||||
|
||||
|
||||
@ -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(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprites?
|
||||
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(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
|
||||
@ -759,7 +760,7 @@ static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
|
||||
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
|
||||
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM
|
||||
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(0x888000, 0x88ffff) AM_RAM //
|
||||
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(0x988000, 0x98ffff) AM_RAM //
|
||||
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(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
|
||||
@ -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(0x200006, 0x200007) AM_WRITENOP // Lev. 2 IRQ Ack?
|
||||
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(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(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs
|
||||
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(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // M6295
|
||||
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(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(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(0x500000, 0x500005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
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_IO_MAP(mazinger_sound_portmap)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
|
||||
|
||||
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_IO_MAP(metmqstr_sound_portmap)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
|
||||
|
||||
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_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_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_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_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_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_MACHINE_START_OVERRIDE(cave_state,cave)
|
||||
|
@ -121,6 +121,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/pokey.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(0x9d00, 0x9d7f) AM_WRITE(ccastles_vscroll_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(0x9e82, 0x9e83) AM_MIRROR(0x0078) AM_WRITE(nvram_store_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_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_4a")
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "sound/dac.h"
|
||||
#include "machine/6840ptm.h"
|
||||
#include "machine/z80ctc.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "includes/cchasm.h"
|
||||
|
||||
#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(0x050000, 0x050001) AM_WRITE(refresh_control_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(0xffb000, 0xffffff) AM_RAM AM_SHARE("ram")
|
||||
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_ZC2_CB(WRITELINE(cchasm_state, ctc_timer_2_w))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VECTOR_ADD("vector")
|
||||
MCFG_SCREEN_ADD("screen", VECTOR)
|
||||
|
@ -418,6 +418,7 @@ each direction to assign the boundries.
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/s2650/s2650.h"
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "machine/atari_vg.h"
|
||||
#include "includes/centiped.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(0x1c03, 0x1c04) AM_WRITE(led_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
|
||||
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(0x2507, 0x2507) AM_WRITE(control_select_w) /* CNTRLSEL */
|
||||
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(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
|
||||
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(0x2507, 0x2507) AM_WRITE(control_select_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(0x2780, 0x27bf) AM_WRITENOP
|
||||
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(0x1c00, 0x1c02) AM_WRITE(coin_count_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
|
||||
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(0x2580, 0x2583) AM_WRITE(mazeinv_input_select_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(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
|
||||
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(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_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(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")
|
||||
@ -1690,6 +1691,8 @@ static MACHINE_CONFIG_START( centiped_base, centiped_state )
|
||||
|
||||
MCFG_ATARIVGEAROM_ADD("earom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* timer */
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -80,6 +80,7 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "includes/champbas.h"
|
||||
|
||||
@ -93,7 +94,7 @@ TODO:
|
||||
|
||||
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)
|
||||
@ -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(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
|
||||
|
||||
// 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_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
|
||||
|
||||
MCFG_WATCHDOG_VBLANK_INIT(0x10)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
|
||||
|
||||
/* video hardware */
|
||||
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_PROGRAM_MAP(champbas_sound_map)
|
||||
|
||||
MCFG_WATCHDOG_VBLANK_INIT(0x10)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
|
||||
|
||||
/* video hardware */
|
||||
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_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
|
||||
|
||||
MCFG_WATCHDOG_VBLANK_INIT(0x10)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
|
||||
|
||||
/* video hardware */
|
||||
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_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
|
||||
|
||||
MCFG_WATCHDOG_VBLANK_INIT(0x10)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 0x10)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -13,6 +13,7 @@ Tomasz Slanina
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6805/m6805.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.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(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) */
|
||||
ADDRESS_MAP_END
|
||||
@ -483,6 +484,7 @@ static MACHINE_CONFIG_START( changela, changela_state )
|
||||
MCFG_CPU_PROGRAM_MAP(mcu_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", changela_state, chl_mcu_irq)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6809/konami.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "includes/chqflag.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(0x3201, 0x3201) AM_READ_PORT("IN0") /* DIPSW #3, SW 4 */
|
||||
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(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) */
|
||||
@ -302,6 +303,8 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(600))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
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
|
||||
|
@ -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 "machine/konami1.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/discrete.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(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(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(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")
|
||||
@ -337,7 +338,9 @@ static MACHINE_CONFIG_START( circusc, circusc_state )
|
||||
MCFG_CPU_ADD("maincpu", KONAMI1, 2048000) /* 2 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(circusc_map)
|
||||
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_PROGRAM_MAP(sound_map)
|
||||
|
@ -1881,6 +1881,8 @@ static MACHINE_CONFIG_START( scudhamm, cischeat_state )
|
||||
MCFG_CPU_PROGRAM_MAP(scudhamm_map)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cischeat_state, scudhamm_scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
|
||||
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 )
|
||||
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(0x30, 0x33) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
|
||||
// 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_VBLANK_INT_DRIVER("screen", clayshoo_state, irq0_line_hold)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -120,6 +120,7 @@
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "sound/pokey.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.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(0x3805, 0x3805) AM_WRITENOP // ???
|
||||
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(0x3e00, 0x3e00) AM_WRITE(cloak_nvram_enable_w)
|
||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||
@ -324,6 +325,8 @@ static MACHINE_CONFIG_START( cloak, cloak_state )
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -94,6 +94,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/pokey.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(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE(cloud9_videoram_w)
|
||||
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(0x5500, 0x557f) AM_RAM_WRITE(cloud9_paletteram_w) AM_SHARE("paletteram")
|
||||
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_PROGRAM_MAP(cloud9_map)
|
||||
|
||||
MCFG_WATCHDOG_VBLANK_INIT(8)
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
|
||||
|
||||
MCFG_X2212_ADD_AUTOSAVE("nvram")
|
||||
|
||||
|
@ -124,6 +124,7 @@ Dip location and recommended settings verified with the US manual
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/hd6309.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.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(0x0414, 0x0414) AM_WRITE(soundlatch_byte_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(0x0800, 0x1fff) AM_RAM /* RAM */
|
||||
@ -704,6 +705,8 @@ static MACHINE_CONFIG_START( combatsc, combatsc_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "includes/konamipt.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(0x3f86, 0x3f86) AM_READ_PORT("P4")
|
||||
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(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
|
||||
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_STRIDE(0x400)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 416, 256, 16, 240) // measured 59.17
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "rendlay.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(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(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(0xfd8000, 0xfd9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00)
|
||||
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(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(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(0xfd8000, 0xfd8003) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "lpalette", interleaved)
|
||||
|
||||
@ -488,6 +491,8 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2816_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cyberbal)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
|
@ -53,6 +53,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "audio/galaxian.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(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
|
||||
|
||||
|
||||
@ -264,6 +265,8 @@ static MACHINE_CONFIG_START( dambustr, dambustr_state )
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD("int_timer", dambustr_state, galaxold_interrupt_timer)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(16000.0/132/2)
|
||||
|
@ -132,6 +132,7 @@ sounds.
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "audio/taitosnd.h"
|
||||
#include "sound/2203intf.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);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(darius_state::darius_watchdog_w)
|
||||
{
|
||||
watchdog_reset_w(space, 0, data);
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************
|
||||
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(0x080000, 0x08ffff) AM_RAM /* main RAM */
|
||||
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(0xd00000, 0xd0ffff) AM_DEVREADWRITE("pc080sn", pc080sn_device, word_r, word_w) /* tilemaps */
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", darius)
|
||||
|
@ -48,6 +48,7 @@
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
#include "dblcrown.lh"
|
||||
#define DEBUG_VRAM
|
||||
@ -58,12 +59,14 @@ public:
|
||||
dblcrown_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_watchdog(*this, "watchdog"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette")
|
||||
{ }
|
||||
|
||||
// devices
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<watchdog_timer_device> m_watchdog;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
@ -341,7 +344,7 @@ WRITE8_MEMBER(dblcrown_state::watchdog_w)
|
||||
{
|
||||
if (data & 0x01) /* check for refresh value (0x01) */
|
||||
{
|
||||
machine().watchdog_reset();
|
||||
m_watchdog->watchdog_reset();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -615,6 +618,8 @@ static MACHINE_CONFIG_START( dblcrown, dblcrown_state )
|
||||
MCFG_CPU_PROGRAM_MAP(dblcrown_map)
|
||||
MCFG_CPU_IO_MAP(dblcrown_io)
|
||||
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) */
|
||||
|
||||
/* video hardware */
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/ticket.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/bsmt2000.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
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
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(0x240000, 0x240001) AM_READ_PORT("240000") AM_WRITE(eeprom_control_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_PERIODIC_INT_DRIVER(dcheese_state, irq1_line_hold, 480) /* accurate for fredmem */
|
||||
|
||||
|
||||
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
|
||||
|
||||
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "includes/konamipt.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(0x3000, 0x3000) AM_READ_PORT("DSW3")
|
||||
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 */
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -42,6 +42,7 @@ Dip locations and factory settings verified with US manual
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/nec/nec.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "sound/msm5205.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(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
|
||||
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
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -728,6 +728,7 @@ static MACHINE_CONFIG_START( decocass, decocass_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(4200)) /* interleave CPUs */
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
MCFG_DECOCASS_TAPE_ADD("cassette")
|
||||
|
||||
|
@ -14,6 +14,7 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
#include "destroyr.lh"
|
||||
|
||||
@ -30,6 +31,7 @@ public:
|
||||
destroyr_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_watchdog(*this, "watchdog"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
@ -39,6 +41,7 @@ public:
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<watchdog_timer_device> m_watchdog;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
@ -230,7 +233,7 @@ WRITE8_MEMBER(destroyr_state::misc_w)
|
||||
WRITE8_MEMBER(destroyr_state::cursor_load_w)
|
||||
{
|
||||
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_PERIODIC_INT_DRIVER(destroyr_state, irq0_line_assert, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "machine/ldv1000.h"
|
||||
#include "machine/ldstub.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "machine/z80ctc.h"
|
||||
#include "machine/z80dart.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(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(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(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
|
||||
@ -709,6 +710,7 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
|
||||
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// 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_MACHINE_START_OVERRIDE(dlair_state,dlair)
|
||||
|
@ -154,6 +154,7 @@ Dip locations verified with manual for docastle, dorunrun and dowild.
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/sn76496.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(0x9800, 0x99ff) AM_RAM AM_SHARE("spriteram")
|
||||
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(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram")
|
||||
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(0x4000, 0x9fff) AM_ROM
|
||||
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(0xb400, 0xb7ff) AM_RAM_WRITE(docastle_colorram_w) AM_SHARE("colorram")
|
||||
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(0x6000, 0x9fff) AM_ROM
|
||||
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(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)
|
||||
@ -597,6 +598,8 @@ static MACHINE_CONFIG_START( docastle, docastle_state )
|
||||
MCFG_CPU_PROGRAM_MAP(docastle_map3)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_9_828MHz / 16)
|
||||
/*
|
||||
|
@ -33,7 +33,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(dragrace_state::dragrace_frame_callback)
|
||||
output().set_value("P2gear", m_gear[1]);
|
||||
|
||||
/* 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(0x0c00, 0x0c00) AM_READ(dragrace_steering_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(0xf800, 0xffff) AM_ROM /* program mirror */
|
||||
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_PROGRAM_MAP(dragrace_map)
|
||||
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))
|
||||
|
||||
|
@ -129,7 +129,7 @@ WRITE8_MEMBER(dribling_state::shr_w)
|
||||
{
|
||||
/* bit 3 = watchdog */
|
||||
if (data & 0x08)
|
||||
machine().watchdog_reset();
|
||||
m_watchdog->watchdog_reset();
|
||||
|
||||
/* bit 2-0 = SH0-2 */
|
||||
m_sh = data & 0x07;
|
||||
@ -283,6 +283,8 @@ static MACHINE_CONFIG_START( dribling, dribling_state )
|
||||
MCFG_I8255_IN_PORTC_CB(IOPORT("IN0"))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(dribling_state, shr_w))
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
|
@ -53,6 +53,7 @@ Notes:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/okim6295.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( 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( 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_VBLANK_INT_DRIVER("screen", dunhuang_state, irq0_line_hold)
|
||||
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(5))
|
||||
|
||||
/* video hardware */
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "includes/epos.h"
|
||||
|
||||
@ -79,7 +80,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( io_map, AS_IO, 8, epos_state )
|
||||
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(0x02, 0x02) AM_READ_PORT("INPUTS") AM_DEVWRITE("aysnd", ay8910_device, data_w)
|
||||
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(0x38, 0x38) AM_READ_PORT("DSW")
|
||||
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
|
||||
|
||||
|
||||
@ -388,6 +389,7 @@ static MACHINE_CONFIG_START( epos, epos_state )
|
||||
MCFG_CPU_IO_MAP(io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", epos_state, irq0_line_hold)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -418,6 +420,8 @@ static MACHINE_CONFIG_START( dealer, epos_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(epos_state,dealer)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/watchdog.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(0x260020, 0x26002f) AM_READ(adc_r)
|
||||
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(0x360010, 0x360011) AM_WRITE(eprom_latch_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(0x260020, 0x26002f) AM_READ(adc_r)
|
||||
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(0x360010, 0x360011) AM_WRITE(eprom_latch_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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -437,6 +440,8 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2804_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", eprom)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
@ -478,6 +483,8 @@ static MACHINE_CONFIG_START( guts, eprom_state )
|
||||
|
||||
MCFG_ATARI_EEPROM_2804_ADD("eeprom")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", guts)
|
||||
MCFG_PALETTE_ADD("palette", 2048)
|
||||
|
@ -361,6 +361,7 @@ D
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "includes/equites.h"
|
||||
|
||||
#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(0x1c0000, 0x1c0001) AM_READ_PORT("IN0") AM_WRITE(equites_scrollreg_w)
|
||||
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
|
||||
|
||||
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_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -41,6 +41,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
||||
#include "emu.h"
|
||||
#include "includes/espial.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/watchdog.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(0x6084, 0x6084) AM_READ_PORT("IN2")
|
||||
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(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w)
|
||||
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(0x6084, 0x6084) AM_READ_PORT("IN2")
|
||||
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(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w)
|
||||
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_PERIODIC_INT_DRIVER(espial_state, espial_sound_nmi_gen, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -208,6 +208,7 @@ TODO:
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "machine/kaneko_hit.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "video/kaneko_tmap.h"
|
||||
#include "video/kaneko_spr.h"
|
||||
#include "includes/galpnipt.h"
|
||||
@ -940,6 +941,7 @@ static MACHINE_CONFIG_START( expro02, expro02_state )
|
||||
|
||||
|
||||
/* arm watchdog */
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
|
||||
|
||||
/* 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_offset(*device, -256, -216, 256, 224);
|
||||
|
||||
MCFG_WATCHDOG_MODIFY("watchdog")
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) /* a guess, and certainly wrong */
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -68,6 +68,7 @@
|
||||
#include "sound/dac.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.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(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(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(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
|
||||
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_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_PALETTE_ADD("palette", 2048+32768)
|
||||
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "includes/fastfred.h"
|
||||
#include "machine/watchdog.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(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_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
|
||||
|
||||
|
||||
@ -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(0xf116, 0xf116) AM_WRITE(fastfred_flip_screen_x_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)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -654,6 +655,8 @@ static MACHINE_CONFIG_START( fastfred, fastfred_state )
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(fastfred_state, sound_timer_irq, 4*60)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6809/hd6309.h"
|
||||
#include "machine/watchdog.h"
|
||||
#include "includes/konamipt.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(0x0900, 0x0900) AM_READ_PORT("DSW1")
|
||||
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(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) */
|
||||
@ -201,6 +202,8 @@ static MACHINE_CONFIG_START( fastlane, fastlane_state )
|
||||
MCFG_CPU_PROGRAM_MAP(fastlane_map)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", fastlane_state, fastlane_scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(59.17) // measured
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user