diff options
author | arbee <rb6502@users.noreply.github.com> | 2021-02-24 20:42:13 -0500 |
---|---|---|
committer | arbee <rb6502@users.noreply.github.com> | 2021-02-24 20:42:13 -0500 |
commit | c186e7eb3aaa637390ea6f6bae75a99eecda8db2 (patch) | |
tree | f10f3f29d59066f1cd65eb1749ea47dc77865c8a | |
parent | aeb540deb134a4eea03dc1b0e35815711afb6c6a (diff) |
68hc05EG: use proper HC05 base cycle timings and disassembler [R. Belmont, Vas Crabb]
-rw-r--r-- | src/devices/cpu/m6805/m6805.cpp | 14 | ||||
-rw-r--r-- | src/devices/cpu/m6805/m6805.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/devices/cpu/m6805/m6805.cpp b/src/devices/cpu/m6805/m6805.cpp index 401eafa1c05..bf6ee87c02b 100644 --- a/src/devices/cpu/m6805/m6805.cpp +++ b/src/devices/cpu/m6805/m6805.cpp @@ -671,6 +671,20 @@ void m68hc05eg_device::interrupt_vector() } } +u64 m68hc05eg_device::execute_clocks_to_cycles(u64 clocks) const noexcept +{ + return (clocks + 1) / 2; +} + +u64 m68hc05eg_device::execute_cycles_to_clocks(u64 cycles) const noexcept +{ + return cycles * 2; +} + +std::unique_ptr<util::disasm_interface> m68hc05eg_device::create_disassembler() +{ + return std::make_unique<m68hc05_disassembler>(); +} /**************************************************************************** * HD63705 section diff --git a/src/devices/cpu/m6805/m6805.h b/src/devices/cpu/m6805/m6805.h index 8aaf1a2a1f0..824c664b829 100644 --- a/src/devices/cpu/m6805/m6805.h +++ b/src/devices/cpu/m6805/m6805.h @@ -320,6 +320,10 @@ protected: virtual void device_reset() override; virtual void interrupt_vector() override; + + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override; + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override; + virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; }; // ======================> hd63705_device |