summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/rx01/rx01.h
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-01-06 23:20:24 -0500
committer AJR <ajrhacker@users.noreply.github.com>2020-01-06 23:20:28 -0500
commit2645475b752919e2c6891ee35f0a4c4493336f36 (patch)
tree6d6de24fa094627b91ebd179a38d059d1eee133e /src/devices/cpu/rx01/rx01.h
parent0d06ae9f4d3541a6a9c26a5f600c34914c2d9b4e (diff)
rx01_cpu: Start executing some instructions (nw)
Diffstat (limited to 'src/devices/cpu/rx01/rx01.h')
-rw-r--r--src/devices/cpu/rx01/rx01.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/devices/cpu/rx01/rx01.h b/src/devices/cpu/rx01/rx01.h
index f491c8ba56a..ab1cbc123c8 100644
--- a/src/devices/cpu/rx01/rx01.h
+++ b/src/devices/cpu/rx01/rx01.h
@@ -27,6 +27,8 @@ protected:
virtual void device_reset() override;
// device_execute_interface overrides
+ virtual u64 execute_clocks_to_cycles(u64 clocks) const noexcept override { return (clocks + 4 - 1) / 4; }
+ virtual u64 execute_cycles_to_clocks(u64 cycles) const noexcept override { return (cycles * 4); }
virtual void execute_run() override;
// device_disasm_interface overrides
@@ -41,19 +43,29 @@ protected:
private:
void scratchpad_map(address_map &map);
+ // internal helpers
+ u8 mux_out();
+ bool test_condition();
+
// address spaces
- address_space_config m_rom_config;
+ address_space_config m_inst_config;
address_space_config m_sp_config;
- memory_access_cache<0, 0, ENDIANNESS_LITTLE> *m_rom_cache;
+ memory_access_cache<0, 0, ENDIANNESS_LITTLE> *m_inst_cache;
memory_access_cache<0, 0, ENDIANNESS_LITTLE> *m_sp_cache;
// internal state
u16 m_pc;
+ u16 m_ppc;
+ u8 m_mb;
+ bool m_br_condition;
+ bool m_inst_disable;
+ bool m_inst_repeat;
u8 m_cntr;
u8 m_sr;
u8 m_spar;
u16 m_bar;
u16 m_crc;
+ bool m_flag;
s32 m_icount;
};