diff options
author | Curt Coder <curtcoder@mail.com> | 2013-07-22 16:20:42 +0000 |
---|---|---|
committer | Curt Coder <curtcoder@mail.com> | 2013-07-22 16:20:42 +0000 |
commit | 0f6af588474eb0731dbacf6791adbf30af7448b5 (patch) | |
tree | ede888e98d35bdd56a8be8eedb7f0eda9c9538c9 | |
parent | 4eec337c701d81501b5545d55f9f9c75f60938d4 (diff) |
(MESS) softbox: Added reset when IEEE-488 IFC is asserted. [Mike Naberezny]
-rw-r--r-- | src/mess/drivers/softbox.c | 14 | ||||
-rw-r--r-- | src/mess/includes/softbox.h | 5 | ||||
-rw-r--r-- | src/mess/machine/softbox.c | 15 | ||||
-rw-r--r-- | src/mess/machine/softbox.h | 5 |
4 files changed, 39 insertions, 0 deletions
diff --git a/src/mess/drivers/softbox.c b/src/mess/drivers/softbox.c index 2f6f843a974..a9009ed1bb6 100644 --- a/src/mess/drivers/softbox.c +++ b/src/mess/drivers/softbox.c @@ -382,6 +382,20 @@ void softbox_state::device_reset_after_children() } +//------------------------------------------------- +// ieee488_ifc - interface clear (reset) +//------------------------------------------------- + +void softbox_state::ieee488_ifc(int state) +{ + if (!m_ifc && state) + { + device_reset(); + } + + m_ifc = state; +} + //************************************************************************** // MACHINE CONFIGURATION diff --git a/src/mess/includes/softbox.h b/src/mess/includes/softbox.h index 29a0e9ee90b..f0947409b14 100644 --- a/src/mess/includes/softbox.h +++ b/src/mess/includes/softbox.h @@ -39,6 +39,9 @@ public: virtual void machine_start(); virtual void device_reset_after_children(); + // device_ieee488_interface overrides + virtual void ieee488_ifc(int state); + DECLARE_WRITE8_MEMBER( dbrg_w ); DECLARE_READ8_MEMBER( ppi0_pa_r ); @@ -55,6 +58,8 @@ public: LED_B, LED_READY }; + + int m_ifc; // Tracks previous state of IEEE-488 IFC line }; #endif diff --git a/src/mess/machine/softbox.c b/src/mess/machine/softbox.c index d7e2da507f9..fc0866a8a44 100644 --- a/src/mess/machine/softbox.c +++ b/src/mess/machine/softbox.c @@ -376,6 +376,21 @@ void softbox_device::device_reset_after_children() //------------------------------------------------- +// ieee488_ifc - interface clear (reset) +//------------------------------------------------- + +void softbox_device::ieee488_ifc(int state) +{ + if (!m_ifc && state) + { + device_reset(); + } + + m_ifc = state; +} + + +//------------------------------------------------- // dbrg_w - baud rate selection //------------------------------------------------- diff --git a/src/mess/machine/softbox.h b/src/mess/machine/softbox.h index f247ece5400..a07b5ba33a1 100644 --- a/src/mess/machine/softbox.h +++ b/src/mess/machine/softbox.h @@ -58,6 +58,9 @@ protected: virtual void device_start(); virtual void device_reset_after_children(); + // device_ieee488_interface overrides + virtual void ieee488_ifc(int state); + private: enum { @@ -68,6 +71,8 @@ private: required_device<cpu_device> m_maincpu; required_device<com8116_device> m_dbrg; + + int m_ifc; // Tracks previous state of IEEE-488 IFC line }; |