Annotation of nono/debugger/debugger_m88xx0.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 "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: };

unix.superglobalmegacorp.com

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