summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/f8/f8.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/f8/f8.h')
-rw-r--r--src/devices/cpu/f8/f8.h46
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