--- nono/vm/ram_partial.cpp 2026/04/29 17:04:55 1.1.1.2 +++ nono/vm/ram_partial.cpp 2026/04/29 17:05:10 1.1.1.3 @@ -4,12 +4,10 @@ // Licensed under nono-license.txt // -#include "ram_partial.h" -#include "ram.h" - // -// LUNA* の RAM のうち 16MB に満たないブロックを担当する人。 +// LUNA* の RAM のうち 16MB に満たないメモリブロックを担当する人 // + // devtable[] は1エントリで 16MB の空間を担当するが LUNA-I のメインメモリは // 4MB、8MB、12MB と 16MB 未満の構成があり得る。また 16MB 以上にメモリを // 増設する場合でも ROM の容量チェックが末尾に NopIODevice の番兵を必要と @@ -25,17 +23,24 @@ // いるのと、そもそも RAM がないところは NopIO ではなく BusError という違いも // あるのでここでは担当しない。 -std::unique_ptr gPartialRAM; +#include "ram_partial.h" +#include "ram.h" + +// グローバル参照用 +PartialRAMDevice *gPartialRAM; // コンストラクタ PartialRAMDevice::PartialRAMDevice() : inherited("PartialRAM") { + // こいつはプロキシだし今の所ログも出力しないので、指定できる必要ない。 + ClearAlias(); } // デストラクタ PartialRAMDevice::~PartialRAMDevice() { + gPartialRAM = NULL; } bool @@ -48,8 +53,8 @@ PartialRAMDevice::Init() ram_size = gRAM->GetSize(); // ショートカット - ramdev = gRAM.get(); - nopdev = gNopIO.get(); + ramdev = gRAM; + nopdev = gNopIO; return true; }