Project Fx 2.0

怪文書と備忘録を書きます

暴走状態のHP50gのFlash ROMを再インストールした話

グラフ関数電卓HP50g』のお話です。
この電卓はトラブルが発生した場合、本来なら[ON] + [F3] で再起動をかければ直るはずなのですが、このキー操作を受け付けないタイプの暴走状態に陥ったのでここにメモっておきます。

まずは暴走した経緯から。
SDカードに保存してあったバックアップから電卓のファイル構成を数日前の状態に戻そうとしたところ、なぜかファイルマネージャがSDカードを認識してくれないというトラブルが発生。
端子が汚れてるのかな?と考えてSDカードの接続端子を軽く拭うと、今度こそ上手く認識されました。
やっぱり端子の汚れのせいか、と考えながら、SDカードからバックアップオブジェクトを戻そうとARCHIVEコマンドを実行します。すると、いきなり画面が消灯し、続いてブラウン管テレビの砂嵐のような感じで画面全体が点灯と消灯を繰り返し出してしまいました。
な、何が起こった?と激しく困惑しながら[ON] + [F3]を押してみましたが、一切反応がありません。
電池を抜き挿しすると、"Try to recover memory?"という表示と"YES/NO"という選択肢が出てきました。が、どちらを選んでみても元の砂嵐状態に逆戻り。[ON] + [F6]でセルフテストも試みましたが、やはり砂嵐画面のままで変化なし。この時は外出先だったので、これ以上の作業は諦めました。

帰宅後、「HP50g won't turn on」などのフレーズでGoogle先生にお伺いを立て、「電池を全部抜いて15分待て」「USBケーブルからの給電だけで起動するか試せ」という検索結果を得ました。が、どちらの方法でも結局解決には至らず。
さらに数十分ほど検索を重ねた結果、私もよく拝見しているサイト『高機能電卓の情報』内の、以下の記事を発見しました。

akatuki-724.blogspot.com

今回は、リセットが効かない暴走を経験しました。リセットを掛けようとON+[F3], ON+[F1]+[F6] を押しても、反応がないのです。画面の下、4/5が真っ黒くろすけになって、動きがないのですね。これはコマッタ。

あれ、この症状、俺のHP50gと似てるぞ?

Educalc.netに「電池抜きリセット」(電池を全て取り外し、15分以上放置新聞)というTipsが出ていたので、藁をもすがる思いで試したのですが、電源を入れても同様の状態です。ウーム !?

完全に俺のと同じ症状やんけ... akatukiさんはどうやって回復させたんだろう?

検索していたら、「FlashROM更新とセルフテストメニューの呼び出し」という話題が見つかって、「そうだ、コレだ」と試してみる事にしました。ON+[F3]が効かないので、電池を入れる前に「+」、「-」キーの両方を押しておき、押しながら電池を装填するという奇っ怪な技でメニューの呼び出しに成功し、セルフテストも一通り問題ない事が確認できました。ハードウェアはイカれていない様子。そこで判ったのは「SysRPLの暴走で、FlashROMが書き換わってしまった」という可能性です。

症状も似てるし、この方法なら修復できるかもしれない!
ということで、この方法を実践してみることにしました。

実際の修復手順

[+]キーと[-]キーを押した状態で、PCと繫げてあるmini-USBケーブルを挿し込み、給電を開始します(電池は全て抜いた状態でやりました。USB給電方式なら電池4本を入れる手間が掛からずに済みます)。
すると、”1. UPDATE CODE”と"2. SELFTEST"という表示のある選択画面が出現.。まずは[2]キーを押してセルフテストをし、ハードウェア面での異常はないことを確認しました。セルフテストモードに入ると先ほどの選択画面には戻れないので、再び[+]キーと[-]キーを押しながら給電を開始して戻り、Flash ROMのデータが入ったSDカードを挿入します。

Flash ROM(ver2.15)のデータは以下のサイトからダウンロードできます。

ROM 2.15 - detailed information

ダウンロードしたzipファイルの中から、"4950_215.bin"と"update.scp"という二つのファイルをSDカードにあらかじめ移しておきましょう。

選択画面で[1]キーを押し、続いて[2]キーを押すとFlash ROMのインストールが開始されます。インストール自体は5分ほどで終了します。正常に終了したら、"RESET OR ENTER"の表示に従い、[ENTER]キーを押しましょう。すると、"Try to recover memory?"という表示と"YES/NO"という選択肢が現れます。どちらかを押せば、(本体メモリの内容は全削除されますが)正常に起動するはずです。
ざっとこのような手順で、僕のHP50gは正常な状態に戻りました。

SysRPLのコードを実行していたわけでもないのに、なぜ僕のHP50gはクラッシュしたのかがどうにも解せません。不思議です。
ともあれ、同じ症状に遭遇した方はぜひ試してみて下さい。

生産終了したマイナーな電卓の情報なんざ誰も欲しがらねぇよ、という声は気にしたら負け