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

1.1       root        1: //
                      2: // nono
1.1.1.2   root        3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
1.1       root        5: //
                      6: 
1.1.1.6   root        7: //
                      8: // デバッガ (M680x0 依存部分)
                      9: //
                     10: 
1.1       root       11: #pragma once
                     12: 
                     13: #include "debugger_private.h"
1.1.1.2   root       14: #include "mpu680x0.h"
1.1       root       15: #include "m68030disasm.h"
                     16: 
                     17: class DebuggerMD_m680x0 : public DebuggerMD
                     18: {
1.1.1.2   root       19:        using inherited = DebuggerMD;
1.1       root       20:  public:
1.1.1.9 ! root       21:        explicit DebuggerMD_m680x0(Debugger *parent);
1.1.1.2   root       22:        ~DebuggerMD_m680x0() override;
                     23: 
1.1.1.7   root       24:        CPUState GetCPUState() const override { return (CPUState)cpu->GetState(); }
                     25:        bool IsSuper() const override { return cpu->IsSuper(); }
1.1.1.2   root       26:        bool MMUEnabled() const override { return cpu->mmu_enable; }
1.1.1.8   root       27:        busaddr TranslateAddr(busaddr laddr) const override;
1.1.1.2   root       28: 
1.1.1.7   root       29:        uint32 GetPC() const override { return cpu->reg.pc; }
1.1.1.2   root       30: 
                     31:        void SetStepOut() override;
                     32:        bool IsStepOut() const override;
1.1.1.5   root       33:        bool IsOpStepIn(DebuggerMemoryStream& mem) override;
1.1.1.2   root       34:        uint64 GetRegAddr(const char *name) const override;
                     35:        void BackupRegs() override { prev = cpu->reg; }
1.1.1.6   root       36:        bool ShowRegister(FILE *, const std::vector<std::string>& args) override;
1.1.1.5   root       37:        const HelpMessages& GetHelpListReg() const override;
                     38:        const HelpMessages& GetHelpReg() const override;
1.1       root       39: 
1.1.1.2   root       40:        bool CheckLEA(uint32 laddr) override { return false; }
1.1       root       41: 
1.1.1.7   root       42:        std::string Disassemble(DebuggerMemoryStream& mem) override;
1.1       root       43: 
                     44:  private:
1.1.1.7   root       45:        MPU680x0Device *cpu {}; // MPU デバイス
1.1.1.4   root       46:        m68kreg prev {};                // 前回のレジスタセットのコピー
1.1       root       47: 
                     48:        const char *CondStr(const std::vector<uint16>& ir);
                     49:        bool IsOPcc(uint16 op);
                     50:        bool IsDBcc(uint16 op);
                     51:        bool IsCond(uint16 op);
                     52: 
1.1.1.5   root       53:        static const HelpMessages HelpListReg;
                     54:        static const HelpMessages HelpReg;
1.1.1.6   root       55:        void ShowRegMain(FILE *);
                     56:        void ShowRegFPU(FILE *);
                     57:        void ShowRegMMU(FILE *);
                     58:        void ShowRegATC();
                     59:        void ShowRegOther();
1.1.1.2   root       60: 
1.1.1.4   root       61:        uint32 so_a7 {};                        // ステップアウト判定用
                     62:        uint16 so_sr {};
1.1       root       63: };

unix.superglobalmegacorp.com

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