ふむ、興味深いな。

韓国から来てるんだが質問ある?

ついさっきまでVIPで本スレ見てたんだけど、もうまとまってたwwww
はええ。

なかなかに興味深い話がいろいろ聞けて楽しかったです。
こういう人とは一度話してみたいなぁ。沙耶です。


鳩山首相「国民を欺くような政治を決してやってはならない」 参院予算審議スタート

はははっwwww何のご冗談をwwwww

それとも欺こうと思ってなかったからセーフっていいたいのかなっwwww


【マスコミ】 TBS 「津波警報の地図で対馬がなかったのは、警報・注意報が出てない島だったから。利尻島・礼文島も同様」

いやあTBSさんの心遣いはにくいですねぇありがたいですねぇありがてぇありがてぇ。
内陸県とか日本海側の県とか全部消せよふざけんなボケが。


MFJ文庫が犯罪レーベルだった件について

誰かと思ったらアリスのはちまんか。MFうんこなんか読んでねぇからどうでもいいとしても。メディアファクトリーか。上はリクルート・パイオニアグループねぇ。
ああ、カルドセプトの発売元ですか。

流石に契約書偽造は不味いどころじゃネェけどな。
トカゲのしっぽ切りで担当者切っておしまいにする気だろうけど、他の作家さんはどうなってんだろうねぇ。

会社側の反応がないので今の段階では何とも言えないけど。
しっかしはちまんも動きが荒い気がする。こんなの電話でうだうだやってねぇで内容証明一発ブチ込んでさっさと弁護士動かせばいいのに。
偽造契約書が存在するならその時点で動かない証拠だろうし、勝てる勝負ならさっさと動いた方がいい。

販売差し止めは口頭じゃなくて裁判所に仮命令出させた方がいいだろうに。出版と作家の力関係は現時点では出版に圧倒的に傾いちゃってんだから、さっさと係争状態に持ち込んで勝手に権利使えなくした方がメディアファクトリーへのダメージはでかかろうにwww


警告:PS3にバグでデータ破損の恐れ。電源を入れないこと。

PlayStation®3をご利用のお客様へ

なーにやってんだか…。
さて、一応何がどうなってどうなっちゃったのか。

今回の件に限って言えば、組み込まれていたのはソニータイマーとは言い切れない。もちろん、件のパーツがソニー謹製だったら知らんがwwwwwwwww

要はこれ、PCでいえばハードウェアバグに相当している、ので、多分ファームウェアのアップデートでは解消しないんだよね。旧型判定して回避動作するルーチン乗せるなら別だけどさ。

マザーボード上には内部タイマチップとクォーツがのっかってて、通電状態でこれを維持する。所謂待機電力の正体だ。他にもいろいろあるけどさw
このタイマチップが、RTCってぇ奴だ。

OSは起動時にこのRTCを読み出し、その後自分で計時する。Linuxなんかだとハードウェアクロック、なんて言ったりするね。
通常OSはシステムクロックといって、起動時にこのハードウェアクロックから取得した数字を初期値にして、システムクロックを走らせる。OSがRTCを参照するのは、通常この起動時の一発目だけだ。

XMB起動時に、このRTCを読んだPS3は、有り得ない時間を初期値に渡された。GMT 2010/2/29ってわけだ。
正直、ここから先のPS3の動きはきちんとフェールセーフされた、というべきだと思う。

初期値が正常な数値ではない(つまりXMBはこの日付が存在しないと判定できた)ので、RTCの数値を破棄、おそらくはゼロクリアした数字をシステムクロックの初期値に投入。これが2000/01/01。

んで、RTCを正常に読めなかったのでハードウェア異常フラグを立てる。
アプリやゲーム起動しようとしても、OS側がハードウェア異常フラグを立ててるのでブロックされる。あたりまえだ。

問題は、このバカげたRTCを作ったのは誰なんだよって話じゃないかと思う。
RTCは基本的には一秒に1回インクリメントするだけのカウンタなのだけど、普通にこいつはyy/mm/dd hh:mm:ss形式などでの時刻出力能力を備えている、のが多いw
データシートはトラ技の別冊でも眺めとけw

で、まあその時間貰ってOS独自のシステムカウンタに直して、OSにセットするわけだけど、その時に有り得ない日付入れられたらエラーになるに決まってんだろJK。
なんでカウンタの秒数だけ渡さないのか、ってのはちょっと考えればすぐわかるだろばーか。わかんない人は頑張れ。

何言ってんのかわからない? えーっとだなw
めんどくさいからLinuxで説明すんぞ。

[root]# hwclock –show
2010年03月03日 17時54分47秒 -0.292214 秒

まずこうやって日付のデータをRTCから読む。
次にこれをシステムクロック数値に直す。

[root]# date +%s –date=”2010/03/03 17:54:47″
1267606487

で、この数字をシステムはカウンタとしてシステム変数にブチ込んで、あとは一秒ごとにインクリメントする。
まあ、ここではわざわざ+%s使ってるからアレだけどね。タイマーとしては一秒に+1でインクリメントするだけのほうがコストが安い。いちいち12進数と60進数と繰り上がりと365進数まで混ざってる日付表記で制御するよりも、ある規定時間を0として、そこからのカウンタにした方が圧倒的に楽なんだ。あたりまえの話だけど。

んで、このタイマ0の初期値はOSが勝手に決めたっていいだろ?w
Linuxなら1970/01/01がゼロだけどw RTCのチップがどこを基点にタイマカウントとしているか、ってのもまあRTCのメーカーが勝手に決めてたって問題ないようにするには、一回GMTのyy/mm/dd表記で相互プロトコルを合わせて、その後個々のOSのライブラリでカウンタ数値に戻すのが正解ってわけさ。


んでこのときに存在しない日付ぶち込まれたらだな。

[root]# date +%s –date=”2010/02/29 00:00:00″
date: invalid date `2010/02/29 00:00:00′

まっとうに実装してるOSならエラー吐いてしまうわけですよ。当然っちゃ当然だわな。


今回の件は、このRTCが2010/02/29を吐きだした、ってのが原因、ってことっぽい。いや、まあそれならすごくつじつまが合っちゃうんだけどね。
RTCなんて、それこそいっくらでも既存品があるのでわざわざソニーが謹製で作ってるとも思えないんだよね。

もちろん、バグ入りRTCを見抜けなかったのか!ってお叱りも御尤もだが、RTCのうるう年計算が間違ってるなんてまあそりゃ想像はしねぇわなぁ…。

ちょっとソニーを責めるのも酷って気はするんだが、うるう年関連は前にもウォークマンでやってますよね、ソニーさんwwwwwwwwwwwwwww

ま、こっちはうるう年が認識できないって代物ですが、こっちはファームの問題っぽいしね。

うーん、どーなんだろうなぁ…。修理で基盤交換した旧型なんかには障害が起きませんでしたとか聞いちゃうと、RTCの納入メーカーがバグに気づいて、ソニーに非通知で後期納入品は修正版を入れたとかって勘ぐりもしたくもなろうってもんなんですよね…。

その辺はソニーさんと取引先さんの問題なんでユーザーが立ち入る話ではないけど。


ま、PS3旧型ユーザーは起動して日付を一日進めて直しておきましょうねー。
RTCの判定ロジックによってはまた起きるかもしれませんので、ファームで回避するなら旧型判定とけっこうめんどくさい回避ロジック組まなきゃならんよなぁ…。
そう思うとむしろソニーの中の人に同情したくなってくるw

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です