--- nono/m680x0/m68030.h 2026/04/29 17:04:49 1.1.1.7 +++ nono/m680x0/m68030.h 2026/04/29 17:04:54 1.1.1.9 @@ -233,18 +233,13 @@ class m68kcpu final { uint64 inst_count {}; // 命令実行数 // ブランチ履歴 (例外履歴を含む) - BranchHistory_m680x0 brhist {}; + BranchHistory_m680x0 brhist { BranchHistory::BrHist }; // 例外履歴のみ - BranchHistory_m680x0 exhist {}; + BranchHistory_m680x0 exhist { BranchHistory::ExHistOnly }; // バス m68kbus bus {}; - // 手抜きのためリセットベクタ取得アドレスを知っている。 - // リセット時のためだけにデバイス側に細工を入れるのは実行時の - // オーバーヘッドが大きそうなので。 - uint32 reset_vector {}; - // A-Line, F-Line 命令エミュレーションのコールバックとユーザ引数。 // ユーザ引数には関与しないので呼び出し側が自由に指定してよい。 // コールバック側で処理完了したら true を返す。 @@ -289,10 +284,11 @@ class m68kcpu final { #define RegAY RegA(RegIRY) // 外部公開ルーチン -extern m68kcpu *m68030_init(uint32 reset_vector); +extern m68kcpu *m68030_init(); extern uint32 m68030_run(m68kcpu *cpu, uint32 delta); extern void m68030_set_clockspeed(m68kcpu *cpu, uint32 clock_khz); extern uint64 m68030_get_vtime(m68kcpu *cpu); +extern void m68030_power_on(m68kcpu *cpu); extern void m68030_request_reset_exception(m68kcpu *cpu); extern void m68030_interrupt(m68kcpu *cpu, int level); extern const char *m68030_get_exception_name(int vector);