--- nono/vm/sram.cpp 2026/04/29 17:04:56 1.1.1.7 +++ nono/vm/sram.cpp 2026/04/29 17:05:10 1.1.1.9 @@ -4,18 +4,20 @@ // Licensed under nono-license.txt // -#include "sram.h" -#include "mainapp.h" - // // SRAM // + // SRAM はビッグエンディアンのままメモリに置かれるので、 // 必要ならアクセス時に都度変換すること。 -// -std::unique_ptr gSRAM; +#include "sram.h" +#include "mainapp.h" + +// グローバル参照用 +SRAMDevice *gSRAM; +// コンストラクタ SRAMDevice::SRAMDevice() : inherited("SRAM") { @@ -23,8 +25,10 @@ SRAMDevice::SRAMDevice() devlen = 0x4000; } +// デストラクタ SRAMDevice::~SRAMDevice() { + gSRAM = NULL; } bool @@ -41,8 +45,9 @@ SRAMDevice::Init() return true; } +// リセット void -SRAMDevice::ResetHard() +SRAMDevice::ResetHard(bool poweron) { // XXX 未調査 writeable = false; @@ -65,7 +70,7 @@ SRAMDevice::Read8(uint32 addr) uint32 data; // ホストファイル起動モードなら起動アドレスとして Pluto-X を見せる。 - if (gMainApp.host_file) { + if (gMainApp.exec_file) { data = PeekHostBoot(offset); if ((int32)data >= 0) { if ((offset & 1) == 0) { @@ -88,7 +93,7 @@ SRAMDevice::Read16(uint32 addr) uint32 data; // ホストファイル起動モードなら起動アドレスとして Pluto-X を見せる。 - if (gMainApp.host_file) { + if (gMainApp.exec_file) { data = PeekHostBoot(offset); if ((int32)data >= 0) { return data; @@ -137,7 +142,7 @@ SRAMDevice::Peek8(uint32 addr) uint32 offset = Decoder(addr); // ホストファイル起動モードなら起動アドレスとして Pluto-X を見せる。 - if (gMainApp.host_file) { + if (gMainApp.exec_file) { uint32 data = PeekHostBoot(offset); if ((int32)data >= 0) { if ((offset & 1) == 0) {