--- nono/vm/ram_partial.cpp 2026/04/29 17:04:50 1.1 +++ nono/vm/ram_partial.cpp 2026/04/29 17:04:55 1.1.1.2 @@ -12,23 +12,24 @@ // // devtable[] は1エントリで 16MB の空間を担当するが LUNA-I のメインメモリは // 4MB、8MB、12MB と 16MB 未満の構成があり得る。また 16MB 以上にメモリを -// 増設する場合でも ROM の容量チェックが末尾に Null デバイスの番兵を必要と +// 増設する場合でも ROM の容量チェックが末尾に NopIODevice の番兵を必要と // するため、ここを 16MB 単位での増減にしていると、最大搭載量は 256MB では // なく 240MB になってしまう。中途半端な上に分かりづらいので 255MB まで // 使いたい。そうするとこのデバイスは単に任意のアドレスから 16MB に満たない // 1ブロックを担当する人であればよくて、それを devtable[] のどこに割り当てる // かは VM::Init() 側が決めればよい。 // -// なおこのデバイス自身は RAM を持たず、バックエンドの gRAM (と NullDevice) +// なおこのデバイス自身は RAM を持たず、バックエンドの gRAM (と NopIODevice) // への切り替えスイッチなだけ (XIOSpace のような立場)。 // また、X68030 の場合は XIOSpace がすでに同様の処理を (8KB 単位で) 行って -// いるのと、そもそも RAM がないところは Null ではなく BusError という違いも +// いるのと、そもそも RAM がないところは NopIO ではなく BusError という違いも // あるのでここでは担当しない。 std::unique_ptr gPartialRAM; // コンストラクタ PartialRAMDevice::PartialRAMDevice() + : inherited("PartialRAM") { } @@ -48,7 +49,7 @@ PartialRAMDevice::Init() // ショートカット ramdev = gRAM.get(); - nulldev = gNull.get(); + nopdev = gNopIO.get(); return true; } @@ -60,7 +61,7 @@ PartialRAMDevice::SearchDevice(uint32 ad return ramdev; } else { // メモリのないところをアクセスした時のウェイトは無視 - return nulldev; + return nopdev; } }