summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/g65816/g65816ds.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/g65816/g65816ds.cpp')
-rw-r--r--src/devices/cpu/g65816/g65816ds.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/devices/cpu/g65816/g65816ds.cpp b/src/devices/cpu/g65816/g65816ds.cpp
index 4d4f5695b5c..a3d350b9730 100644
--- a/src/devices/cpu/g65816/g65816ds.cpp
+++ b/src/devices/cpu/g65816/g65816ds.cpp
@@ -8,14 +8,39 @@
G65C816 CPU Emulator V0.90
Copyright Karl Stenerud
-All rights reserved.
*/
#include "emu.h"
#include "g65816ds.h"
-g65816_disassembler::g65816_disassembler(config *conf) : m_config(conf)
+enum class g65816_disassembler::op : unsigned
+{
+ ADC, AND, ASL, BCC, BCS, BEQ, BIT, BMI, BNE, BPL, BRA,
+ BRK, BRL, BVC, BVS, CLC, CLD, CLI, CLV, CMP, COP, CPX,
+ CPY, DEA, DEC, DEX, DEY, EOR, INA, INC, INX, INY, JML,
+ JMP, JSL, JSR, LDA, LDX, LDY, LSR, MVN, MVP, NOP, ORA,
+ PEA, PEI, PER, PHA, PHB, PHD, PHK, PHP, PHX, PHY, PLA,
+ PLB, PLD, PLP, PLX, PLY, REP, ROL, ROR, RTI, RTL, RTS,
+ SBC, SEC, SED, SEI, SEP, STA, STP, STX, STY, STZ, TAX,
+ TAY, TCS, TCD, TDC, TRB, TSB, TSC, TSX, TXA, TXS, TXY,
+ TYA, TYX, WAI, WDM, XBA, XCE
+};
+
+class g65816_disassembler::opcode_struct {
+ public:
+ op m_name;
+ u8 flag;
+ u8 ea;
+
+ opcode_struct(op n, u8 f, u8 e);
+ const char *name() const;
+ bool is_call() const;
+ bool is_return() const;
+ bool is_cond() const;
+ };
+
+g65816_disassembler::g65816_disassembler(const config *conf) : m_config(conf)
{
}