Qsの日記: 続PS3 3
午前9時を過ぎたら正常に起動できたという書き込みがちらほら。ということで確かめてみた。ちなみに昨日からネットワーク機能は設定で無効にしているから、ネットワークの向こうからなんらかのパッチをダウンロードしたり設定されるようなことはできない。
んで、立ち上げた。日付を確認すると2020年4月29日になっている。十年先ってさ、オレは亜高速移動でもしていたのか? ゲームを起動したら確かに正常に動作する。
ある書き込みでは、日付が3月1日となっていたというものがあり、どうやらRTCが2/29を返したという説が有力っぽい。となると、RTCのバグ?
RTCチップについてちょっと調べてみた。いろんなメーカーが出しているけど、某社のチップのデータシートを見ると、IC内部で年月日・時間分秒にBCD変換しているようだ。もしそのチップが変換ミスをしていたとしたら、もうこれは組み立てたメーカーよりもRTCチップメーカーの責任が大きい。だって、RTCが年月日変換機能を提供するわけだから、ファームウェアプログラマはそれを信じるのが普通。当然RTCのデータシートにこんなバグがあります、なんて書かれているわけないだろうし。
うーむ、この問題、PS3だけではなく家電メーカーに戦慄が走っているんじゃないかと予想するが、どうだろうか。イマドキの家電ってほとんどRTCを内蔵しているだろうから、気になる人も多いと思う。同じチップを使っているんじゃないか、自分らが選んだRTCにこんなバグが入り込んでいるんじゃないか、なんてね。
#同じチップを使っていたらすでに問題が発生しているか。
!!!!! お断り !!!!!
面白がって憶測で書いているので、真に受けないように!! 真実はSCEしか知らない!
RTC チップには余計なことはして欲しくない (スコア:1)
ひたすら一定の速度でカウントアップしてくれる 128bit カウンターなのが一番だと思う。
(固定小数点で、小数点以上に 64bit、小数点以下に 64bit)
うるう年問題って簡単なんだけれど、失念したり誤解している人は結構多い。テストパターンも(2010年がうるう年じゃない事を調べる、なんていう negative bug をも含めると)意外と大変。なので「年月日時分秒」とかに直すのは全部ソフトでやるのが安全。カウンターにすれば、いつを0ベースにするのかも制御できるので、作り手にとって都合のよい時刻を選ぶこともできる。
今回のバグはまさに 生兵法は怪我の元 の好例といえるのではないかと…。
fjの教祖様
Re:RTC チップには余計なことはして欲しくない (スコア:2)
というか、そういう仕様じゃなかったことが驚きでした。
Re:RTC チップには余計なことはして欲しくない (スコア:2)
だからこそ、RTCに任せるんでしょうね。責任はあっちね、という感じで。
でも最終製品に関する責任はやはり残るわけですが。
あぁ真相が知りたい。