スリルドライブ基板のNVRAMについて
スリルドライブもNVRAM(TimeKeeper RAM, M48T58Y)が使われていて、これの電池が切れてRAMに書かれている内容が消えると起動しなくなってしまいます。
スリルドライブのNVRAMもバトルトライストと同じようにFRAMに交換して、一部のみ書き込んで起動してみたところ、最初に内容をチェックして初期化をするかどうか聞かれて、その後問題無く起動するようになりました。
書き込んだ内容は前と変わらないような内容で
0xE,Fに0xA7,0xABが無いと駄目です。バージョンが違うと立ち上がらない可能性があります。
上記内容を書き込んだNVRAMで起動すると
このような画面が表示されますので、ここでテストボタンを押すとNVRAMの内容を初期化して立ち上がり、それ以降は何もしなくても立ち上がるようになります。
立ち上がらなくなったスリルドライブを見つけたらNVRAMをFRAMに置き換えて立ち上げてみてください。
FRAMにすることによりRTCが無いため、bookkeepingの内容などが意図した動作をしないようになります。それ以外に問題が起こる可能性がありますが、確認出来ていません。
0xE,0xFバイト目の0xA7,0xABですが、以下のruby scriptにて計算すると得ることが出来ます。0x00~0x0dまでのchecksumを求めています。
# checksum.rb data = [0x47, 0x43, 0x36, 0x37, 0x36, 0x00, 0x00, 0x00, 0x19, 0x99, 0x4a, 0x41, 0x41, 0x00] sum = 0 0.step(data.length-1, 2) {|i| sum += data[i]<<8 | data[i+1] } sum ^= 0xffff sum &= 0xffff printf("%x\n",sum)
実行すると
% ruby checksum.rb a7ab
0xa7abが求まりますので、そちらを0xE, 0xFに記載してください。