--- nono/vm/sram.h 2026/04/29 17:04:45 1.1.1.5 +++ nono/vm/sram.h 2026/04/29 17:05:10 1.1.1.8 @@ -4,16 +4,19 @@ // Licensed under nono-license.txt // +// +// SRAM +// + #pragma once #include "device.h" #include "mappedfile.h" -class SRAMDevice - : public IODevice +class SRAMDevice : public IODevice { using inherited = IODevice; - private: + static const uint32 baseaddr = 0xed0000; // Pluto-X によるホストファイル起動アドレス @@ -24,6 +27,7 @@ class SRAMDevice virtual ~SRAMDevice() override; bool Init() override; + void ResetHard(bool poweron) override; uint64 Read8(uint32 addr) override; uint64 Read16(uint32 addr) override; @@ -37,15 +41,15 @@ class SRAMDevice // アドレスデコーダ uint64 Decoder(uint32 addr) const; + // ホストファイル起動用の読み出し値を返す + uint32 PeekHostBoot(uint32 offset) const; + // ファイル std::string filename {}; MappedFile file {}; uint8 *mem {}; bool writeable {}; - - // ホストファイル起動用の読み出し値を返す - uint32 PeekHostBoot(uint32 offset) const; }; -extern std::unique_ptr gSRAM; +extern SRAMDevice *gSRAM;