|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2020 [email protected] ! 4: // ! 5: ! 6: #pragma once ! 7: ! 8: #include "debugger_private.h" ! 9: #include "m88100.h" ! 10: #include "m88100disasm.h" ! 11: ! 12: class DebuggerMD_m88xx0 : public DebuggerMD ! 13: { ! 14: typedef DebuggerMD inherited; ! 15: public: ! 16: DebuggerMD_m88xx0(Debugger *parg, m88kcpu *carg) ! 17: : inherited(parg) ! 18: { ! 19: cpu = carg; ! 20: } ! 21: virtual ~DebuggerMD_m88xx0() { } ! 22: ! 23: void ReqSet(uint32 flag) { cpu->atomic_reqflag |= flag; } ! 24: void ReqClr(uint32 flag) { cpu->atomic_reqflag &= ~flag; } ! 25: ! 26: bool IsSuper() const { return false; } ! 27: bool MMUEnabled() const { return false; } ! 28: uint64 TranslateAddr(saddr_t laddr) { return 0; } ! 29: ! 30: // XXX ? ! 31: uint32 GetPC() const { return cpu->Getxip(); } ! 32: ! 33: void SetStepOut() {} ! 34: bool IsStepOut() const { return false; } ! 35: uint64 GetRegAddr(const char *name) const; ! 36: void BackupRegs(); ! 37: void ShowRegMain(Console *cons); ! 38: void ShowRegCtrl(Console *cons); ! 39: void ShowRegFPU(Console *cons); ! 40: void ShowRegMMU(Console *cons); ! 41: void ShowRegATC(Console *cons) {} ! 42: void ShowRegOther(Console *cons); ! 43: ! 44: bool CheckLEA(uint32 laddr) { ! 45: bool rv = cpu->lastaddr == laddr; ! 46: cpu->lastaddr = 0; // XXX: ていうかここでクリアはおかしい ! 47: return rv; ! 48: } ! 49: ! 50: bool Disassemble(saddr_t laddr, ! 51: std::string& mnemonic, std::vector<uint8>& bin); ! 52: std::string FormatDisasm(const std::string& mnemonic, ! 53: const std::vector<uint8>& bin); ! 54: std::string FormatDisasmLive(const std::string& mnemonic, ! 55: const std::vector<uint8>& bin); ! 56: ! 57: private: ! 58: m88kcpu *cpu = NULL; // CPU コア ! 59: m88100reg prev {}; ! 60: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.