Annotation of nono/debugger/debugger_hd64180.h, revision 1.1.1.3

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2022 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: //
                      8: // デバッガ (HD64180 依存部分)
                      9: //
                     10: 
                     11: #pragma once
                     12: 
                     13: #include "debugger_private.h"
                     14: #include "mpu64180.h"
                     15: #include "hd64180disasm.h"
                     16: 
                     17: class DebuggerMD_hd64180 : public DebuggerMD
                     18: {
                     19:        using inherited = DebuggerMD;
                     20:  public:
1.1.1.3 ! root       21:        explicit DebuggerMD_hd64180(Debugger *parent_);
1.1       root       22:        ~DebuggerMD_hd64180() override;
                     23: 
                     24:        CPUState GetCPUState() const override;
                     25:        bool IsSuper() const override           { return true; }        // ?
                     26:        bool MMUEnabled() const override        { return true; }
1.1.1.2   root       27:        busaddr TranslateAddr(busaddr laddr) const override;
1.1       root       28:        uint32 GetPC() const override { return cpu->reg.pc; }
                     29: 
                     30:        void SetStepOut() override;
                     31:        bool IsStepOut() const override;
                     32:        bool IsOpStepIn(DebuggerMemoryStream& mem) override;
                     33: 
                     34:        uint64 GetRegAddr(const char *name) const override;
                     35:        void BackupRegs() override;
                     36:        bool ShowRegister(FILE *, const std::vector<std::string>& args) override;
                     37:        const HelpMessages& GetHelpListReg() const override;
                     38:        const HelpMessages& GetHelpReg() const override;
                     39: 
                     40:        bool CheckLEA(uint32 laddr) override { return false; }
                     41: 
                     42:        std::string Disassemble(DebuggerMemoryStream& mem) override;
                     43: 
                     44:  private:
                     45:        std::string FlagStr(const hd64180flag& f);
                     46:        bool ShowRegMain(FILE *);
                     47:        bool ShowRegOther(FILE *);
                     48:        const char *CondStr(const std::vector<uint8>&) const;
                     49: 
                     50:        MPU64180Device *cpu {};
                     51:        hd64180reg prev {};                     // 前回のレジスタセットのコピー
                     52:        uint8 prev_i {};
                     53: 
                     54:        uint16 so_sp {};                // ステップアウト判定用
                     55: 
                     56:        static const HelpMessages HelpListReg;
                     57:        static const HelpMessages HelpReg;
                     58: };

unix.superglobalmegacorp.com

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