--- nono/vm/pluto.cpp 2026/04/29 17:04:28 1.1 +++ nono/vm/pluto.cpp 2026/04/29 17:04:32 1.1.1.2 @@ -4,6 +4,7 @@ // #include "pluto.h" +#include "mainapp.h" #include "mpu.h" PlutoDevice::PlutoDevice() @@ -47,7 +48,7 @@ PlutoDevice::benchmark_start(uint32 data putlog(0, "ベンチマーク開始"); // 命令開始アドレス。この時点で REG_PC は次をさしている - m_start_addr = gMPU->GetPPC(); + m_start_addr = gMPU680x0->GetPPC(); } // 測定開始 @@ -83,10 +84,10 @@ PlutoDevice::benchmark_end() // 規定秒数に達していれば、測定終了 t = m_total.tv_sec * 1000*1000 + m_total.tv_usec; putlog(0, "ベンチマーク#%d 終了 (%d 回, 計 %d.%03d msec)", - benchmark_mode, m_count, t / 1000, t % 1000); + gMainApp.benchmark_mode, m_count, t / 1000, t % 1000); // 1ループ中の命令セット数を算出。REG_PPC はこの命令の開始番地 - num_of_inst = (gMPU->GetPPC() - m_start_addr) / m_inst_len; + num_of_inst = (gMPU680x0->GetPPC() - m_start_addr) / m_inst_len; // 68030 のクロック数 [MHz] に換算 speed = (double)(m_count * num_of_inst) * m_inst_cycle / t; @@ -168,6 +169,3 @@ PlutoDevice::Peek8(uint32 addr) PANIC("not yet"); return 0; } - -// ベンチマークモード。コマンドライン引数で指定される。 -/*static*/int PlutoDevice::benchmark_mode;