summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms1000/tms1000.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms1000/tms1000.h')
-rw-r--r--src/devices/cpu/tms1000/tms1000.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/devices/cpu/tms1000/tms1000.h b/src/devices/cpu/tms1000/tms1000.h
index ae85b7ed579..9e969dfc356 100644
--- a/src/devices/cpu/tms1000/tms1000.h
+++ b/src/devices/cpu/tms1000/tms1000.h
@@ -26,8 +26,7 @@ protected:
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
-
- virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const u8 *oprom, const u8 *opram, u32 options) override;
+ virtual util::disasm_interface *create_disassembler() override;
};
class tms1070_cpu_device : public tms1000_cpu_device
@@ -63,6 +62,19 @@ public:
};
+class tms1000c_cpu_device : public tms1000_cpu_device
+{
+public:
+ tms1000c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ // overrides
+ virtual void op_br() override { op_br3(); } // 3-level stack
+ virtual void op_call() override { op_call3(); } // "
+ virtual void op_retn() override { op_retn3(); } // "
+};
+
+
class mc141000_cpu_device : public tms1000_cpu_device
{
public:
@@ -77,6 +89,7 @@ public:
DECLARE_DEVICE_TYPE(TMS1000, tms1000_cpu_device)
+DECLARE_DEVICE_TYPE(TMS1000C, tms1000c_cpu_device)
DECLARE_DEVICE_TYPE(TMS1070, tms1070_cpu_device)
DECLARE_DEVICE_TYPE(TMS1040, tms1040_cpu_device)
DECLARE_DEVICE_TYPE(TMS1200, tms1200_cpu_device)