diff options
author | Vas Crabb <vas@vastheman.com> | 2017-11-29 08:50:34 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2017-11-29 08:50:34 +1100 |
commit | d556b01583d6b4f559263edb67f7383b9a24c7a3 (patch) | |
tree | 679f71cfbc1e50acb768c7b3bcd9315f581a59a9 /src/devices/cpu/cubeqcpu/cubedasm.h | |
parent | d771f542271c363f2b5eee0e92b625a0d568058d (diff) | |
parent | 45cbbc5f0a097a6861e441b9b2db7123602c47bd (diff) |
Merge branch 'master' into release0192
Diffstat (limited to 'src/devices/cpu/cubeqcpu/cubedasm.h')
-rw-r--r-- | src/devices/cpu/cubeqcpu/cubedasm.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/devices/cpu/cubeqcpu/cubedasm.h b/src/devices/cpu/cubeqcpu/cubedasm.h new file mode 100644 index 00000000000..e43018a1998 --- /dev/null +++ b/src/devices/cpu/cubeqcpu/cubedasm.h @@ -0,0 +1,54 @@ +// license:BSD-3-Clause +// copyright-holders:Philip Bennett +/*************************************************************************** + + cubedasm.c + + Implementation of the Cube Quest AM2901-based CPUs + +***************************************************************************/ + +#ifndef MAME_CPU_CUBEQCPU_CUBEDASM_H +#define MAME_CPU_CUBEQCPU_CUBEDASM_H + +#pragma once + +class cubeq_disassembler : public util::disasm_interface +{ +public: + cubeq_disassembler() = default; + virtual ~cubeq_disassembler() = default; + + virtual u32 opcode_alignment() const override; + +protected: + static const char *const ins[]; + static const char *const src[]; + static const char *const dst[]; +}; + +class cquestsnd_disassembler : public cubeq_disassembler +{ +public: + cquestsnd_disassembler() = default; + virtual ~cquestsnd_disassembler() = default; + virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; +}; + +class cquestrot_disassembler : public cubeq_disassembler +{ +public: + cquestrot_disassembler() = default; + virtual ~cquestrot_disassembler() = default; + virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; +}; + +class cquestlin_disassembler : public cubeq_disassembler +{ +public: + cquestlin_disassembler() = default; + virtual ~cquestlin_disassembler() = default; + virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; +}; + +#endif |