diff options
Diffstat (limited to 'src/devices/cpu/f8/f8.h')
-rw-r--r-- | src/devices/cpu/f8/f8.h | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/devices/cpu/f8/f8.h b/src/devices/cpu/f8/f8.h index 5185b938a05..8477b1bf031 100644 --- a/src/devices/cpu/f8/f8.h +++ b/src/devices/cpu/f8/f8.h @@ -20,45 +20,46 @@ public: // construction/destruction f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + // used by F3850 systems that override the normal zero reset address + auto romc08_callback() { return m_romc08_callback.bind(); } + protected: enum { F8_PC0=1, F8_PC1, F8_DC0, F8_DC1, F8_W, F8_A, F8_IS, - F8_J, F8_HU, F8_HL, F8_KU, F8_KL, F8_QU, F8_QL, - - F8_R0, F8_R1, F8_R2, F8_R3, F8_R4, F8_R5, F8_R6, F8_R7, F8_R8, - F8_R16, F8_R17, F8_R18, F8_R19, F8_R20, F8_R21, F8_R22, F8_R23, - F8_R24, F8_R25, F8_R26, F8_R27, F8_R28, F8_R29, F8_R30, F8_R31, - F8_R32, F8_R33, F8_R34, F8_R35, F8_R36, F8_R37, F8_R38, F8_R39, - F8_R40, F8_R41, F8_R42, F8_R43, F8_R44, F8_R45, F8_R46, F8_R47, - F8_R48, F8_R49, F8_R50, F8_R51, F8_R52, F8_R53, F8_R54, F8_R55, - F8_R56, F8_R57, F8_R58, F8_R59, F8_R60, F8_R61, F8_R62, F8_R63 + F8_R0, F8_R1, F8_R2, F8_R3, F8_R4, F8_R5, F8_R6, F8_R7, + F8_R8, F8_J, F8_HU, F8_HL, F8_KU, F8_KL, F8_QU, F8_QL, + F8_H, F8_K, F8_Q }; - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; + // device_t implementation + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; - // device_execute_interface overrides - virtual u32 execute_min_cycles() const override { return 4; } - virtual u32 execute_max_cycles() const override { return 26; } - virtual u32 execute_input_lines() const override { return 1; } + // device_execute_interface implementation + virtual u32 execute_min_cycles() const noexcept override { return 4; } + virtual u32 execute_max_cycles() const noexcept override { return 26; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; - // device_memory_interface overrides + // device_memory_interface implementation virtual space_config_vector memory_space_config() const override; - // device_state_interface overrides + // device_state_interface implementation virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; - // device_disasm_interface overrides + // device_disasm_interface implementation virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; private: + void regs_map(address_map &map) ATTR_COLD; + address_space_config m_program_config; + address_space_config m_regs_config; address_space_config m_io_config; + devcb_read8 m_romc08_callback; + u16 m_pc0; /* program counter 0 */ u16 m_pc1; /* program counter 1 */ u16 m_dc0; /* data counter 0 */ @@ -69,11 +70,10 @@ private: u8 m_dbus; /* data bus value */ u16 m_io; /* last I/O address */ u16 m_irq_vector; - address_space *m_program; - memory_access_cache<0, 0, ENDIANNESS_BIG> *m_cache; - address_space *m_iospace; + memory_access<16, 0, 0, ENDIANNESS_BIG>::cache m_program; + memory_access<6, 0, 0, ENDIANNESS_BIG>::cache m_r; + memory_access<8, 0, 0, ENDIANNESS_BIG>::specific m_ios; int m_icount; - u8 m_r[64]; /* scratchpad RAM */ int m_irq_request; u16 m_debug_pc; // only for the MAME debugger |