--- nono/vm/prom.cpp 2026/04/29 17:05:10 1.1.1.10 +++ nono/vm/prom.cpp 2026/04/29 17:05:14 1.1.1.11 @@ -34,10 +34,11 @@ #include "config.h" #include "ethernet.h" #include "mainapp.h" +#include "vm.h" // グローバル参照用 PROM0Device *gPROM0; -IODevice *gPROM; +PROMDevice *gPROM; // // PROM0 @@ -176,17 +177,17 @@ PROMDevice::~PROMDevice() bool PROMDevice::Init() { - vmtype_t vmtype = gMainApp.GetVMType(); + VMType vmtype = gMainApp.GetVMType(); switch (vmtype) { - case VMTYPE_LUNA1: + case VMType::LUNA1: return InitLuna1(); - case VMTYPE_LUNA88K: + case VMType::LUNA88K: return InitLuna88k(); default: - PANIC("unknown vmtype %d", vmtype); + PANIC("unknown vmtype %d", (int)vmtype); } } @@ -229,11 +230,11 @@ PROMDevice::InitLuna1() // MAC アドレスは12桁の16進数文字列として書き込まれている。例えば // 前半の 00:00:0A 部分は 30 30 30 30 30 41 "00000A" という感じ。 const macaddr_t macaddr = gEthernet->GetMacAddr(); - memcpy(&mem[0x1ffe0], macaddr.ToString().c_str(), 12); + memcpy(&imagebuf[0x1ffe0], macaddr.ToString().c_str(), 12); // SCSI デバッグビット bool scsi_debug_bit = gConfig->Find(".prom-scsi-debug").AsInt(); - mem[0x4100981d - 0x41000000] = (scsi_debug_bit) ? 0x01 : 0; + imagebuf[0x4100981d - 0x41000000] = (scsi_debug_bit) ? 0x01 : 0; } else { // 他の ROM は何も分からないので何もしない。 putmsg(0, "Unknown PROM Version");