--- nono/vm/mk48t02.h 2026/04/29 17:04:50 1.1.1.7 +++ nono/vm/mk48t02.h 2026/04/29 17:04:55 1.1.1.9 @@ -8,6 +8,7 @@ #include "device.h" #include "mappedfile.h" +#include "monitor.h" #include "rtc.h" // MK48T02 の時計部分のレジスタと内部状態 @@ -57,9 +58,6 @@ class MK48T02Device : public RTCDevice virtual ~MK48T02Device() override; bool Init() override; - bool InitRTC() override; - - void MonitorUpdate(TextScreen&) override; void ClockIn() override; @@ -67,6 +65,8 @@ class MK48T02Device : public RTCDevice std::string PeekString(uint32 addr) const; // 指定したアドレスに文字列を書き込む (内蔵 ROM からのアクセス用) bool WriteString(uint32 addr, const std::string& data); + // 全域をゼロクリアする (内蔵 ROM からのアクセス用) + void ClearAll(); // BusIO インタフェース // (内蔵 ROM からのアクセス用に特別に public にしてある) @@ -86,6 +86,8 @@ class MK48T02Device : public RTCDevice // コントロールレジスタへの書き込み void WriteCtrl(uint32 data); + DECLARE_MONITOR_CALLBACK(MonitorUpdate); + // ファイル std::string filename {}; MappedFile file {}; @@ -98,4 +100,6 @@ class MK48T02Device : public RTCDevice // 常に同じ状態にするためのパフォーマンス測定用フラグ。 // なお NVRAM 部分は影響されない。 bool force_fixed {}; + + Monitor monitor { this }; };