diff options
Diffstat (limited to 'src/devices/cpu/scudsp/scudspdasm.h')
-rw-r--r-- | src/devices/cpu/scudsp/scudspdasm.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/devices/cpu/scudsp/scudspdasm.h b/src/devices/cpu/scudsp/scudspdasm.h new file mode 100644 index 00000000000..7f86d0366aa --- /dev/null +++ b/src/devices/cpu/scudsp/scudspdasm.h @@ -0,0 +1,33 @@ +// license:BSD-3-Clause +// copyright-holders:Angelo Salese, Mariusz Wojcieszek + +#ifndef MAME_CPU_SCUDSP_SCUDSPDASM_H +#define MAME_CPU_SCUDSP_SCUDSPDASM_H + +#pragma once + +class scudsp_disassembler : public util::disasm_interface +{ +public: + scudsp_disassembler() = default; + virtual ~scudsp_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: + static const char *const ALU_Commands[]; + static const char *const X_Commands[]; + static const char *const Y_Commands[]; + static const char *const D1_Commands[]; + static const char *const SourceMemory[]; + static const char *const SourceMemory2[]; + static const char *const DestMemory[]; + static const char *const DestDMAMemory[]; + static const char *const MVI_Command[]; + static const char *const JMP_Command[]; + static const char *const DMA_Command[]; + std::string scudsp_dasm_prefix( const char* format, uint32_t *data ); +}; + +#endif |