--- nono/vm/areaset.cpp 2026/04/29 17:04:35 1.1.1.2 +++ nono/vm/areaset.cpp 2026/04/29 17:05:14 1.1.1.7 @@ -4,18 +4,35 @@ // Licensed under nono-license.txt // +// +// エリアセット +// + #include "areaset.h" +#include "mpu.h" + +// グローバル参照用 +AreaSetDevice *gAreaSet; +// コンストラクタ AreaSetDevice::AreaSetDevice() + : inherited("AreaSet") { - logname = "area"; - devname = "AreaSet"; devaddr = baseaddr; devlen = 0x2000; } +// デストラクタ AreaSetDevice::~AreaSetDevice() { + gAreaSet = NULL; +} + +// リセット +void +AreaSetDevice::ResetHard(bool poweron) +{ + limit = 0; } uint64 @@ -37,9 +54,11 @@ AreaSetDevice::Read16(uint32 addr) uint64 AreaSetDevice::Write8(uint32 addr, uint32 data) { + gMPU->AddCycle(7); // InsideOut p.135 + switch (addr) { case 0xe86001: - putlog(0, "未実装エリアセット書き込み $%02x", data); + putlog(0, "Write $%02x (NOT IMPLEMENTED)", data); limit = data; return 0; default: