summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/devcpu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/devcpu.cpp')
-rw-r--r--src/emu/devcpu.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/emu/devcpu.cpp b/src/emu/devcpu.cpp
index 00bac6ed1b0..43460235b19 100644
--- a/src/emu/devcpu.cpp
+++ b/src/emu/devcpu.cpp
@@ -9,6 +9,7 @@
***************************************************************************/
#include "emu.h"
+#include "emuopts.h"
#include <ctype.h>
@@ -25,7 +26,8 @@ cpu_device::cpu_device(const machine_config &mconfig, device_type type, const ch
device_execute_interface(mconfig, *this),
device_memory_interface(mconfig, *this),
device_state_interface(mconfig, *this),
- device_disasm_interface(mconfig, *this)
+ device_disasm_interface(mconfig, *this),
+ m_force_no_drc(false)
{
}
@@ -37,3 +39,24 @@ cpu_device::cpu_device(const machine_config &mconfig, device_type type, const ch
cpu_device::~cpu_device()
{
}
+
+
+//-------------------------------------------------
+// static_set_force_no_drc - configuration helper
+// to disable DRC
+//-------------------------------------------------
+
+void cpu_device::static_set_force_no_drc(device_t &device, bool value)
+{
+ downcast<cpu_device &>(device).m_force_no_drc = value;
+}
+
+
+//-------------------------------------------------
+// allow_drc - return true if DRC is allowed
+//-------------------------------------------------
+
+bool cpu_device::allow_drc() const
+{
+ return mconfig().options().drc() && !m_force_no_drc;
+}