summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit0f6af588474eb0731dbacf6791adbf30af7448b5 (patch)
treeede888e98d35bdd56a8be8eedb7f0eda9c9538c9
parent4eec337c701d81501b5545d55f9f9c75f60938d4 (diff)
(MESS) softbox: Added reset when IEEE-488 IFC is asserted. [Mike Naberezny]
-rw-r--r--src/mess/drivers/softbox.c14
-rw-r--r--src/mess/includes/softbox.h5
-rw-r--r--src/mess/machine/softbox.c15
-rw-r--r--src/mess/machine/softbox.h5
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
};