diff options
Diffstat (limited to 'src/devices/machine/netlist.h')
-rw-r--r-- | src/devices/machine/netlist.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h index bf6fd084056..18a13d31f41 100644 --- a/src/devices/machine/netlist.h +++ b/src/devices/machine/netlist.h @@ -151,6 +151,21 @@ private: // netlist_mame_cpu_device // ---------------------------------------------------------------------------------------- +class netlist_mame_cpu_device; + +class netlist_disassembler : public util::disasm_interface +{ +public: + netlist_disassembler(netlist_mame_cpu_device *dev); + virtual ~netlist_disassembler() = default; + + virtual u32 opcode_alignment() const override; + virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; + +private: + netlist_mame_cpu_device *m_dev; +}; + class netlist_mame_cpu_device : public netlist_mame_device, public device_execute_interface, public device_state_interface, @@ -161,6 +176,8 @@ public: // construction/destruction netlist_mame_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + offs_t genPC() const { return m_genPC; } + protected: // netlist_mame_device virtual void nl_register_devices() override; @@ -175,9 +192,7 @@ protected: ATTR_HOT virtual void execute_run() override; // device_disasm_interface overrides - ATTR_COLD virtual uint32_t disasm_min_opcode_bytes() const override { return 1; } - ATTR_COLD virtual uint32_t disasm_max_opcode_bytes() const override { return 1; } - ATTR_COLD virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) override; + virtual util::disasm_interface *create_disassembler() override; // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; @@ -188,7 +203,7 @@ protected: address_space_config m_program_config; private: - int m_genPC; + offs_t m_genPC; }; // ---------------------------------------------------------------------------------------- |