--- nono/m680x0/m68030core.cpp 2026/04/29 17:04:28 1.1.1.1 +++ nono/m680x0/m68030core.cpp 2026/04/29 17:04:34 1.1.1.2 @@ -1,9 +1,9 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // -#include "header.h" #include "m68030core.h" #include "debugger.h" #include "cvprompt.h" @@ -13,11 +13,6 @@ #define OP_DEF(name) static inline void __CONCAT(op_,name)(m68kcpu *cpu) #define OP_FUNC(name) __CONCAT(op_,name)(cpu) -// (エミュレータ的)未実装命令 -// 今はまだマクロ -#define op_unimpl(cpu) \ - PANIC("unimplemented instruction! %s()", __FUNCTION__) - #include "m68030bus.h" #include "m68030bus.cpp" #include "m68030excep.h" @@ -82,8 +77,10 @@ m68030_run(m68kcpu *cpu, uint64 request) } if ((cpu->atomic_reqflag & CPU_REQ_HALT)) { + // HALT 状態も、残りサイクルを消費したことにして戻る cpu->reg.state = CPU_REQ_HALT; - PANIC("未実装 HALT 状態"); + cpu->total_cycle = goal_cycle; + return cpu->atomic_reqflag; } if ((cpu->atomic_reqflag & CPU_REQ_TRACE)) {