--- nono/vm/mk48t02.h 2026/04/29 17:05:29 1.1.1.15 +++ nono/vm/mk48t02.h 2026/04/29 17:05:33 1.1.1.16 @@ -12,7 +12,6 @@ #include "rtc.h" #include "mappedfile.h" -#include "monitor.h" // MK48T02 の時計部分のレジスタと内部状態 struct MK48T02Clock @@ -79,7 +78,7 @@ struct MK48T02Clock static const uint8 WRITE = 0x80; // WRITE BIT static const uint8 READ = 0x40; // READ BIT - // 内部のカウンタと毎秒ラッチされるレジスタの2ステージ構成になっている + // 内部のカウンタと毎秒ラッチされるレジスタの2ステージ構成になっている。 // ここには制御ビット部分は含まない。 struct calendar { uint8 sec; // BCD 秒(00-59) @@ -92,20 +91,19 @@ struct MK48T02Clock }; calendar in {}; // 内部カウンタ - // 秒カウンタの bit7 が STOP ビット + // 秒カウンタの bit7 が STOP ビット。 static const uint8 STOP = 0x80; - // STOP 状態を保持 + // STOP 状態を保持。 uint8 stop {}; - // 時カウンタの bit7 が KICKSTART ビット + // 時カウンタの bit7 が KICKSTART ビット。 // KICKSTART は内部発振器のスタートに使用するが、改良版である - // M48T02 (K なし)では廃止された。動作は実装しない。 + // M48T02 (K なし)では廃止された。動作は実装しない。 static const uint8 KICKSTART = 0x80; // KICKSTART 状態を保持 uint8 kickstart {}; - // 曜日カウンタの bit6 が Frequency Test ビット - // 動作は実装しない。 + // 曜日カウンタの bit6 が Frequency Test ビット。動作は実装しない。 static const uint8 FREQTEST = 0x40; // FreqTest 状態を保持 uint8 freqtest {}; @@ -195,7 +193,7 @@ class MK48T02Device : public RTCDevice // 外部レジスタをホールド(更新停止)しているときは true bool hold {}; - Monitor monitor { this }; + Monitor *monitor {}; }; static inline MK48T02Device *GetMK48T02Device() {