You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
595 B
28 lines
595 B
3 years ago
|
class SMPDebugger : public SMP, public ChipDebugger {
|
||
|
public:
|
||
|
bool property(unsigned id, string &name, string &value);
|
||
|
|
||
|
function<bool ()> step_event;
|
||
|
|
||
|
enum Usage {
|
||
|
UsageRead = 0x80,
|
||
|
UsageWrite = 0x40,
|
||
|
UsageExec = 0x20,
|
||
|
};
|
||
|
uint8 *usage;
|
||
|
uint16 opcode_pc;
|
||
|
bool opcode_edge;
|
||
|
|
||
|
void op_step();
|
||
|
uint8 op_read(uint16 addr);
|
||
|
void op_write(uint16 addr, uint8 data);
|
||
|
|
||
|
SMPDebugger();
|
||
|
~SMPDebugger();
|
||
|
|
||
|
//disassembler
|
||
|
void disassemble_opcode(char *output, uint16 addr);
|
||
|
inline uint8 disassemble_read(uint16 addr);
|
||
|
inline uint16 relb(int8 offset, int op_len);
|
||
|
};
|