あーさん日記

https://akkera102.sakura.ne.jp/gbadev/ の中の人

バグ取れた!

終わったヤッター。原因はタイマー2,3のカスケード処理でした。たとえば初期値を

timer2:0xfff0
timer3:0xfff0

で考えてカスケードした時、timer2がカウントアップしていきます。あふれる直後、

timer2:0xffff
timer3:0xfff0

とこうなって、次は

timer2:0xfff0
timer3:0xfff1

となってtimer2は初期値に戻ります。私の想定ではtimer2は0x0000になるでしょ、ってずっと考えていました。たったこれだけのことに6日間と計10時間以上は投入していたのですから恥ずかしい。もう頭かたすぎでしょ!