--- nono/hd64180/hd64180core.cpp 2026/04/29 17:05:51 1.1.1.6 +++ nono/hd64180/hd64180core.cpp 2026/04/29 17:06:01 1.1.1.7 @@ -60,7 +60,7 @@ MPU64180Device::ExecNormal(Event *ev) } int cycle = used_cycle - cycle_start; - ev->time = cycle * clock_nsec; + ev->time = cycle * clock_tsec; scheduler->StartEvent(ev); } @@ -253,12 +253,11 @@ void MPU64180Device::ExceptionDirect(int source, uint32 new_addr) { // 例外発生とジャンプを記録。 + last_vector = source; brhist.AddEntry(GetPPC(), new_addr, 0x80000000 | source); exhist.AddEntry(GetPPC(), new_addr, 0x80000000 | source); reg.pc = new_addr; - - debugger->NotifyExceptionXP(source); } // 例外ごとに固有のベクタにジャンプする。 @@ -297,6 +296,7 @@ MPU64180Device::ExceptionVector(int sour uint32 vec_addr = (reg_i << 8) | intvec_low | vector_offset[source]; // 例外発生を記録。 + last_vector = source; brhist.AddEntry(GetPPC(), -1, 0x80000000 | source); exhist.AddEntry(GetPPC(), -1, 0x80000000 | source); @@ -307,8 +307,6 @@ MPU64180Device::ExceptionVector(int sour brhist.AddEntry(vec_addr, new_addr, -1); reg.pc = new_addr; - - debugger->NotifyExceptionXP(source); }