--- nono/vm/vm_luna.cpp 2026/04/29 17:05:29 1.1.1.14 +++ nono/vm/vm_luna.cpp 2026/04/29 17:05:43 1.1.1.16 @@ -31,6 +31,9 @@ VM_LUNA::VM_LUNA(const char *name_) : inherited(name_) { + // 実時間に同期したほうが便利。 + gConfig->SetDefault("clock-sync", "real"); + // RTC epoch は NetBSD/luna68k, OpenBSD/luna88k をデフォルトにしておく。 gConfig->SetDefault("rtc-epoch-year", 1970); @@ -60,6 +63,8 @@ VM_LUNA1::VM_LUNA1() : inherited("LUNA-I") { // 機種固有パラメータ + // MPU 種別。 + gConfig->SetDefault("mpu-type", "68030"); // MPU クロックの初期値は機種ごとに異なる。単位は MHz gConfig->SetDefault("mpu-clock", 20); // RAM 初期値は MAX にしておく @@ -70,12 +75,15 @@ VM_LUNA1::VM_LUNA1() gConfig->Add("!sysclk-freq", 60); // デバイス - NEWDV(MPU, new MPU680x0Device()); + NEWDV(MPU, NewMPU680x0Device()); NEWDV(Mainbus, new Luna1Mainbus()); NEWDV(SSG, new SSGDevice()); // バーストアクセスたぶんあり - dynamic_cast(pMPU.get())->EnableBurstAccess(true); + auto mpu680x0 = GetMPU680x0Device(pMPU.get()); + if (mpu680x0) { + mpu680x0->EnableBurstAccess(true); + } } // デストラクタ