RTCが不正な時刻をBIOSに吐いていたのが原因とおもわれ

SCE、旧PS3の不具合が解消。正常動作を確認
−原因は2010年を“うるう年”と認識していたため
http://av.watch.impress.co.jp/docs/news/20100302_352124.html


これ、多分ソニーのせいじゃないよ。

PS3内部の時計が2/29を返してきたのが原因だって言ってる。
内部の時計って言ったら、BIOSが時刻を取得してる源である
RTCのことだと思う。OSは起動時にBIOS経由でRTCの時刻を
読み取るから、こんなことになったんだろう。多分、2/28
から起動しっぱなしの人は、この問題に遭遇しなかったかも
しれない(OSの管理時刻とBIOSの管理時刻は別)。

そう思ってたら、やっぱり同じこと考える人がちらほらいた。
(大抵、「初歩の初歩wwアホすww」とか言ってる。BIOS
とOSの日付管理について調べてから出直して来い)

原因としては、RTCが二桁の日付をBCDで出力してところに
着目して、2010の下二桁、1と0をHEXとして解釈して2016年
と判断し、うるう年入れちゃったかも、ってのがあった。
http://maoku.at.webry.info/201003/article_1.html

なるほど。内部的にはHEXで処理してるのであればありうる
かも。
となると、次に問題が起きるのは2012年かな。2012年はうる
う年だけど、内部的には2018年だから2012/2/29が来ないか
もしれない。

上記推測があたっていたとしたら、こりゃあ、RTCモジュール
のメーカーはやっちまったなぁ…出入り禁止どころじゃすま
ないかも。おわた。

ところで、「ソニーはこんな簡単な問題に気づけなかったの
か?」という疑問が残ります。しかし、このRTCは外部メーカ
ー製、いったい誰がうるう年を判定できないと思うだろう?
ソニーからの要求仕様書、あるいはデータシートにはうるう
年のことが必ず書いてあるはず。検証を行うべきなのは明ら
かにメーカー側。

まぁでも世間的には「PS3の問題」だからねぇ。下手すりゃ
全機改修かなあ。まぁBIOSで修正ルーチン入れれば対処は
可能。

BCDの話を書いた人は、また、「全ての家電・電子機器メー
カーが戦慄する」とも書いてあった。たしかにそうだ。現在
時刻を使う家電や電子機器には必ずRTCがあるはずだから、
自分ところのチップが問題抱えてるかもしれないってなった
ら一大事だわな。PS3はネット経由でシステムのアップデート
かけられるから恵まれたほう。家電とかで問題起きたら、
下手すりゃ自主回収もの。

どっちにしろRTCメーカーには多額の損害賠償請求が行く。おわた。


そしてRTCが原因でなければ恥ずかしさのあまり俺の寿命がストレスでマッハなんだが・・