Annotation of nono/debugger/debugger_m680x0.h, revision 1.1

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 "m68030.h"
        !            10: #include "m68030disasm.h"
        !            11: 
        !            12: class DebuggerMD_m680x0 : public DebuggerMD
        !            13: {
        !            14:        typedef DebuggerMD inherited;
        !            15:  public:
        !            16:        DebuggerMD_m680x0(Debugger *parg, m68kcpu *carg)
        !            17:                : inherited(parg)
        !            18:        {
        !            19:                cpu = carg;
        !            20:        }
        !            21:        virtual ~DebuggerMD_m680x0() { }
        !            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 cpu->reg.s; }
        !            27:        bool MMUEnabled() const { return cpu->mmu_enable; }
        !            28:        uint64 TranslateAddr(saddr_t laddr);
        !            29: 
        !            30:        uint32 GetPC() const { return RegPC; }
        !            31: 
        !            32:        void SetStepOut();
        !            33:        bool IsStepOut() const;
        !            34:        uint64 GetRegAddr(const char *name) const;
        !            35:        void BackupRegs() { prev = cpu->reg; }
        !            36:        void ShowRegMain(Console *cons);
        !            37:        void ShowRegCtrl(Console *cons) {}
        !            38:        void ShowRegFPU(Console *cons);
        !            39:        void ShowRegMMU(Console *cons);
        !            40:        void ShowRegATC(Console *cons);
        !            41:        void ShowRegOther(Console *cons);
        !            42: 
        !            43:        bool CheckLEA(uint32 laddr) { return false; }
        !            44: 
        !            45:        bool Disassemble(saddr_t laddr,
        !            46:                std::string& mnemonic, std::vector<uint8>& bin);
        !            47:        std::string FormatDisasm(const std::string& mnemonic,
        !            48:                const std::vector<uint8>& bin);
        !            49:        std::string FormatDisasmLive(const std::string& mnemonic,
        !            50:                const std::vector<uint8>& bin);
        !            51: 
        !            52:  private:
        !            53:        m68kcpu *cpu = NULL;            // CPU コア
        !            54:        m68kreg prev {};                        // 前回のレジスタセットのコピー
        !            55: 
        !            56:        const char *CondStr(const std::vector<uint16>& ir);
        !            57:        bool IsOPcc(uint16 op);
        !            58:        bool IsDBcc(uint16 op);
        !            59:        bool IsCond(uint16 op);
        !            60: 
        !            61:        uint32 so_a7 = 0;                       // ステップアウト判定用
        !            62:        uint16 so_sr = 0;
        !            63: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.