summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502/r65c02.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6502/r65c02.h')
-rw-r--r--src/devices/cpu/m6502/r65c02.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/devices/cpu/m6502/r65c02.h b/src/devices/cpu/m6502/r65c02.h
index a28ccd9d932..d9be47465ee 100644
--- a/src/devices/cpu/m6502/r65c02.h
+++ b/src/devices/cpu/m6502/r65c02.h
@@ -11,9 +11,9 @@
#ifndef MAME_CPU_M6502_R65C02_H
#define MAME_CPU_M6502_R65C02_H
-#include "m65c02.h"
+#include "w65c02.h"
-class r65c02_device : public m65c02_device {
+class r65c02_device : public w65c02_device {
public:
r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -25,6 +25,20 @@ protected:
r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
+class r65c102_device : public r65c02_device {
+public:
+ r65c102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; }
+ virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); }
+};
+
+class r65c112_device : public r65c02_device {
+public:
+ r65c112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
enum {
R65C02_IRQ_LINE = m6502_device::IRQ_LINE,
R65C02_NMI_LINE = m6502_device::NMI_LINE,
@@ -32,5 +46,7 @@ enum {
};
DECLARE_DEVICE_TYPE(R65C02, r65c02_device)
+DECLARE_DEVICE_TYPE(R65C102, r65c102_device)
+DECLARE_DEVICE_TYPE(R65C112, r65c112_device)
#endif // MAME_CPU_M6502_R65C02_H