--- nono/debugger/debugger_m680x0.h 2026/04/29 17:04:33 1.1.1.2 +++ nono/debugger/debugger_m680x0.h 2026/04/29 17:04:40 1.1.1.4 @@ -29,13 +29,15 @@ class DebuggerMD_m680x0 : public Debugge void SetStepOut() override; bool IsStepOut() const override; + bool IsOpStepIn(uint32 op) override; uint64 GetRegAddr(const char *name) const override; void BackupRegs() override { prev = cpu->reg; } bool ShowRegister(Console *cons, const std::vector& args) override; const HelpMessages& GetRegisterHelp() const override; - Object& GetBrHist() const override { return cpu->brhist; } + BranchHistory& GetBrHist() const override { return cpu->brhist; } + BranchHistory& GetExHist() const override { return cpu->exhist; } bool CheckLEA(uint32 laddr) override { return false; } @@ -46,13 +48,15 @@ class DebuggerMD_m680x0 : public Debugge std::string FormatDisasmLive(const std::string& mnemonic, const std::vector& bin) override; + const char *GetExceptionName(int vector) const override; + private: - m68kcpu *cpu = NULL; // CPU コア - m68kreg prev {}; // 前回のレジスタセットのコピー + m68kcpu *cpu {}; // CPU コア + m68kreg prev {}; // 前回のレジスタセットのコピー // 前回アクセス時の論理ページ。.addr == 0xffffffff なら無効。 - saddr_t last_lpage; - uint32 last_ppage; + saddr_t last_lpage {}; + uint32 last_ppage {}; const char *CondStr(const std::vector& ir); bool IsOPcc(uint16 op); @@ -66,6 +70,6 @@ class DebuggerMD_m680x0 : public Debugge void ShowRegATC(Console *cons); void ShowRegOther(Console *cons); - uint32 so_a7 = 0; // ステップアウト判定用 - uint16 so_sr = 0; + uint32 so_a7 {}; // ステップアウト判定用 + uint16 so_sr {}; };