summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/8x300/8x300.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/8x300/8x300.h')
-rw-r--r--src/devices/cpu/8x300/8x300.h34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/devices/cpu/8x300/8x300.h b/src/devices/cpu/8x300/8x300.h
index b37acb119e0..c4e36490b7f 100644
--- a/src/devices/cpu/8x300/8x300.h
+++ b/src/devices/cpu/8x300/8x300.h
@@ -46,35 +46,38 @@ public:
n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
auto sc_callback() { return m_sc_callback.bind(); }
-
+ auto wc_callback() { return m_wc_callback.bind(); }
+ auto mclk_callback() { return m_mclk_callback.bind(); }
+ auto lb_callback() { return m_lb_callback.bind(); }
+ auto rb_callback() { return m_rb_callback.bind(); }
+ auto iv_callback() { return m_iv_callback.bind(); }
protected:
n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_resolve_objects() override;
+ // device_t implementation
virtual void device_start() override;
virtual void device_reset() override;
- // device_state_interface overrides
+ // device_state_interface implementation
virtual void state_import(const device_state_entry &entry) override;
- // device_execute_interface overrides
+ // device_execute_interface implementation
virtual uint32_t execute_min_cycles() const noexcept override { return 1; }
virtual uint32_t execute_max_cycles() const noexcept override { return 1; }
virtual uint32_t execute_input_lines() const noexcept override { return 0; }
virtual void execute_run() override;
- // device_memory_interface overrides
+ // device_memory_interface implementation
virtual space_config_vector memory_space_config() const override;
- // device_disasm_interface overrides
+ // device_disasm_interface implementation
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void set_reg(uint8_t reg, uint8_t val, bool xmit);
virtual uint8_t get_reg(uint8_t reg);
- void xmit_lb(uint8_t dst, uint8_t mask);
- void xmit_rb(uint8_t dst, uint8_t mask);
+ void xmit_lb(uint8_t dst, uint8_t mask, bool with_sc, bool with_wc);
+ void xmit_rb(uint8_t dst, uint8_t mask, bool with_sc, bool with_wc);
address_space_config m_program_config;
address_space_config m_io_config;
@@ -82,11 +85,16 @@ protected:
int m_icount;
bool m_increment_pc;
- address_space *m_program;
- memory_access_cache<1, -1, ENDIANNESS_BIG> *m_cache;
- address_space *m_io;
+ memory_access<13, 1, -1, ENDIANNESS_BIG>::cache m_cache;
+ memory_access<13, 1, -1, ENDIANNESS_BIG>::specific m_program;
+ memory_access< 9, 0, 0, ENDIANNESS_BIG>::specific m_io;
- devcb_write8 m_sc_callback; // Select Command (address latch)
+ devcb_write_line m_sc_callback; // address latch
+ devcb_write_line m_wc_callback; // data latch
+ devcb_write_line m_lb_callback;
+ devcb_write_line m_rb_callback;
+ devcb_write_line m_mclk_callback;
+ devcb_write8 m_iv_callback;
uint16_t m_PC; // Program Counter
uint16_t m_AR; // Address Register