hp-20b をフラッシュしてみる その1、まずは消してみる

hp20bは、発売当初から技術資料で内部の回路およびファームウエアが開示されており、裏面にある接続パッドからのシリアル接続、本格的な開発には、本体裏のケースを少し削ってJTAGコネクタをはんだ付けできるような銅箔パターンなどが用意され、カスタマイズしたければATMELからデベロッパーツールをダウンロードしてどうぞご自由に、という紹介を行っていた。 そこでコアなファンの間ではrepurposing を検討しようという話などもちらほらでていた訳だが、最近まで、自分としてはフォローしていなかった。 2年ほど前の12c+の販売、また今回の15C LEでも、同じシリアルの6ピンパッドが電池室内部にある、ということで、一応リフラシュ可能、で、あらためて見直してみると、ここ数ヶ月で充分実用に耐えうるような WP34Sという科学技術電卓のファームウエアができあがっているようである。

さらにオーバーレイも作成されて、配布しており、hp20/30b を改造できるような環境が整っている。

30bのほうが、キーボードの出来がはるかによいのだが、中身のエレクトロニクスは同じようだし、自分としては30bがオフィスでのメイン機になっている。 20bはほこりをかぶっていた訳だから そのうちにでてくるであろう、15Cのファームウエアのアップデートの予行練習をかねて20bをフラッシングしてみよう、という気になった。

ここで問題になるのはケーブルセットだ。このPDFに詳しいが、自作しようとすると、どうもこの電卓側へのコネクターとピン( 2x3のスプリングピン)のアッシーが簡単に入手できそうにない。幸いなことにHPがケーブルセットを大量に作成させ、これを個人(Gene Wright さん)を通して配布していることがわかったので、送付をお願いした。 頼んでから3日ほどで到着した。

PCへの接続はRS232である。 中間に消去ボタン(Erase )とリセットボタンの付いたケースがある。  またPC側にはATMELのサイトからSam-BA というフラッシュ用のツールをダウンロードしてくる必要がある。 (書いている時点でのバージョンは2.1)

PCのOSだが、どうもXPが一番トラブルが無いようだ。Windows7に導入してみたが、普通にインストールするとSam-ba_CDCというバージョンしかインストールしてくれない。 (XPだとSam-ba.exe とsamb-ba_cdc.exe の二つの実行ファイルが導入される。 実際にこのケーブルと組み合わせて使うのはSam-ba.exe のほうだ。)

HPのフォーラムも眺めてみたがWindows7 でうまく行った、というコメントがヒットしてこない。

ネットブックにまだXPのインストールが残っているのを思いだし(デュアルブートで普通はUbuntu を走らせている) こちらを使うことにしたのだが、netbook では、さすがにRS232は付いていない。 そこで、USB-シリアルコンバーターをAmazon で注文し(18ドル)これを噛ませて使うことにした。

まずは予行練習の予行練習ということで、HP20bのファームウエアをアップデートしてみることにした。

手持ちのhp20b のファームウエアの日付は2008年6月24日のものだ。

hp.com/calculatorsに行き、”home and home business” ではなく、” business and schools” の売り場のほうからhp20bのページに行くと、”support and drivers” というリンクがある。 このリンクから”Download drivers and software” ->”Cross operating system” とたどっていくと最終的にDevelopment kit をダウンロードするページにたどり着く。 このキットの中に入っているロムイメージ(サイズが128キロバイト、拡張子がbin となっているのでそれとわかる)は2009年10月22日となっている。

最後にフラッシュの手引書をダウンロードし、これを前もって印刷しておく。

この手引書の手順の3、ステップ1から8まで写真で詳しく説明してあるが、ようするに

消去ボタンをおしっ放しにし、その状態でリセットをおしっ放しに、そこで電卓のON/CEをちょい押しし、その後リセットを放し、次に消去ボタンを放す。 最後にリセットをもう一度押し、その後on/CEをおす。 この状態で電卓がONしないことを確認。 この時点で電卓の機能は無くなっている。

これでめでたくファームウエアが消去され、フラッシュの準備が整った、ということになる。 ここでストップすると 20 b はうんともすんとも言わなくなる。 また電池が流れっぱなしになるようなので、ここで一休みするなら、電池をはずしておく必要がある。

ここまでの作業はPC側の準備とはまったく関係なくできるようだ。  フラッシュの作業の中で一番簡単な部分だが、同時にここからリカバリーできなくなる場合が多々あるようで、フォーラムに何件か記事が載っていた。 自分も実は迷路に入りそうになった口で、無事フラッシュが完了したのは次の日である。  ひとつ心強かったのは「死んでしまったようにみえても、フラッシュブートローダーの部分は絶対に動いている。いままでまったくダメにした経験が無い」というhpフォーラムの住民たちのコメントであった。

というわけで、実際のフラッシュの作業は次回に

HP15C LE 入荷即売り切れ

昨日、hp.com にて販売再開したのだが、今朝みたらもう売り切れている。 ただし、HPフォーラムの住民たちが、「3台目買った!」「おれこれで4台目」などと書き込んでいるのにはさすがに付いていけなくなってきた。

http://www.shopping.hp.com/product/calculator/Scientific/1/storefronts/NW250AA%2523ABA

 

ただ、上のリンクは”Home and home office” だが、 ”Business and School” のほうのサイトでは継続して扱っている。 同じHPでもチャンネルが2つあるようである。

http://h30094.www3.hp.com/product.asp?sku=10365478&jumpid=re_R2515_store%2FsmProdCat%2F%2FScientific+and+Graphing+Calculators

で、このように99ドルで売っているのがこの時点では妥当なのだが、 ebay では140~200ドルくらいの値段がついている。意味不明

hp15c あれこれ、その2

PSEの”bug”だが

この15cは28年前のROMイメージをそのまま使い、アームプロセッサ上で動くエミュレーターで動かしている。(と思う) したがい、PSEのコマンド自体に問題があるのではなく、その下にあるエミュレーターレイヤーがうまくLCDドライバーを動かせていないというのが本当のところ、だという気がする。 ドライバにラッチをかけて表示するタイミングがうまくいっていない、という感じ。PSEコマンドの実行中、表示は出てなくてもプログラム自体は動いており、終了すれば、表示も復帰するのだ。 でも12c+のエミュレーターとの違いはなんなんだろう。

このエミュレーターの問題点はセルフテストにも現れる。オリジナルの15Cのセルフテストルーチンはエミュレーター上で動かすとエラー表示を出す(ハードの様子がオカシイと苦情を言う)ついでにプログラムレジスタをも壊してしまう訳だ。 これはマニュアルにそう説明するよりないだろう。 30年前というと、設計者はおろか、開発ツールなども多分ないから、ソースを手直ししてコンパイルしなおすなんてことはできないはず。

エミュレータをロバストにしてこういう事が起こらないようにする、というのはありかもしれないが、セルフテストだけのためにそこまでやるとは思えない。

ロムをそのままで、エミュレーターでごまかすのはインチキだ、という気がしないでもないが、最近のハードの発展はすさまじく、速度がオリジナルの100倍近くでて値段も当時の半額、と言われればそれでいいのだ、という気にはなる。 自分のもっている48gにしても同じグラフをdroid48で描画して時間の差を比べてみれば、自転車とF1マシンくらいの速度差がある。

 

Windows で動くfree42のえらいところは、ロムをエミュレートするのではなく、最初から書き直してあるところ。

閑話休題

 

hpmuseumで、ここ数日来話題になっているGSB Iの問題(GTO と同じようにI に負数を使って戻り先のアドレスを指定しようとすると戻り先がずれる)というのはオリジナルの15cでも再現できる、というか、昔の日本語のマニュアルにもそう書いてある、と言う投稿があり、落着。

これまた、hp15C LEのイメージロムがオリジナルと同じものだというなによりの証拠か

キーボードに問題あり、という個体の割合がフォーラムの購入者のなかで、1割以上出ているようで、HPのメンバーが、情報を集めようとしている。 何が問題かというと、キーがクリックしているのに電気的接触がおこらない、というもの。機械的にクリックしたフィードバックがあっても、まだ接点が閉じていない。フワフワキーでそもそも機械的なクリック感のフィードバックなどない20bなどでは起こしたくても起こり得ない問題。  幸い我が家の実機では問題なし。

それにしてもこの15C、最近の電卓に比べて機能的に劣るとはいえ、絶妙の大きさ(コンパクトさ)である。 他の電卓がみな、どんくさく見えてしまう。

hp15c LE の皮をかぶったhp12c AE(アニバーサリーエディション)

というのがあるそうだ。 というか、これは製造工程で12Cのファームウエアに15Cの外装をくっつけて出荷してしまった、ということ。 HPMuseumで話題になっている。今のところ、報告は1台だが、それだけで済むという可能性のほうが、低い気がする。 では 何故12Cではなく、12C AEと断定しているかというとファームウエアが現行12Cより1世代古いものが使われており、これはこれで別スレで「なぜ、古いファームウエアを使っているんだ」と話題になっていた。両方とも 品質管理がおそまつだから、という結論が容易に導けるのだが、顧客サービスでちょっと工程におかしなものを投入したら、とたんにこれだ、と工場管理者のボヤキが聞こえてきそうな話。

 

でもこれって 12C AEのなかに15C LEのファームウエアが焼いてあるものも出荷されている、ということかしらん。

 

ところで、電池室内部の6ピン コネクターに接続するケーブルセットをHP museum フォーラムの一員である ジーンライトさんが配布している、ということが判ったので早速連絡を取り、一セット送ってもらうことになった。 HPが大量にジーンさんに預けたものを実費のみで配布しているということで、米国内だと3ドル、国外でも5ドルの手数料で扱ってくれている。 本来はHP20b, HP30bなどをプログラムするために用意したものだが、フォーラムの話を読んでいると、15Cにも使えるようだ。

実は20b/30bのプログラムを書き換えて技術計算電卓に使ってしまおうというWP34S プロジェクトなるものもあり、20b を使って試して見ようと思っている。

HP15C LE あれこれ

ぱっと見で、気が付いたことを少々

$199?: 3日前に、 Buy.comで89ドルで購入したのだが、同じサイトに行ってももう199ドルのリスティングしかのっていない。 これはサムソンケーブルからの輸入分のようだが、Buy.comへの引き当て分は売り切れてしまったということか。 HPの公式さいとの hp.com/calculators のほうはいまだにComing Soon状態。

それなりに売れているんだろうなあ。

CDにはマニュアル(実際に付属しているマニュアルのPDF版)の他にWindowsで作動するHP15Cのエミュレーターがついてくるのだが、 これはActivation が必要。 このActivationにはキーコード入力が必要で、 このキーコードはCDに印刷ラベルが貼ってある。 これが最初わからなくて箱の中を探してしまった。(笑)

このエミュレーター、ちゃんとPSEのバグまでエミュレート?してしまっている。

001 LBL E
002 1
003 0
004 STO 0
005 LBL 9
006 RCL 0
007 PSE
008 DSE 0
009 GTO 9
010 RTN

 

上記のプログラムはHpmuseum.org のフォーラムにポストされていた例だが、これを入力し、実行したとき、ロジック通りに動けば10から1までカウントダウンしていくべきところ、最初の10は表示してもあとは空白表示になってしまうというもの。

 

このPSEのバグ、 セットで出てくる答えをPSEコマンドで順繰りに表示するようなプログラムは動かせない、ということになる。変わりにR/Sコマンドで手動で表示を順送り、というようなロジックに書き直すことになりそう。

いつまでもそんなバグをほっとくわけにはいかないが、今回は限定生産でおそらくすでに生産は終了している。 救いはファームウエアはフラッシュ可能である、ということだが、流し込むにはケーブルとRS232のインターフェースが必要だ。自前で調達できるのは一部の人間に限られる(と思う) HPに救済策はあるのだろうか。

このエミュレーターのHelpメニューを見るとOwners Handbook とAdvanced function handbookへのリンクが出てくる。Owners handbook は最新のPDF版だが、Advanced function handbook のほうは1982年の版をスキャンしたものだ。 これはCDのManualsフォルダ には格納されていないので、エミュレータをインストールしないと見ることができない。

f,g key のがたつき: これは Youtubeで画像が見られる. 他のキーがしっかりしているのは同色のキーは内部で全部つながっているためだと思われる。 オリジナルのボエジャーを設計した80年当時の設計構造を復元できなかったということか。 機能の話ではなく、こういうところに突っ込みが入るのもHPの愛好者ならでは、という気がする。

上の画像のコメントにでていたが、マニュアルに載っているセルフテストの方法が間違っているようだ。旧型のセルフテストでは作動せず、新しいアームベースのHP12Cと同じセルフテスト方法が使えるとのこと。

 

 

HP 15C 復刻版 limited edition 到着

とりあえずそういうことで

玄関に届いたFEDEXのパッケージ

 

 

少しよれているが、中身は大丈夫か? すくなくとも封筒に入ってこなくて良かった!

中身は無事

 

化粧箱(Gift box)のフタをあけたところ

化粧箱(Gift box)のフタをあけたところ

 

Manualは288頁の厚さ。CDにはエミュレータープログラムがついてくる

Manualは288頁の厚さ。CDにはエミュレータープログラムがついてくる

 

裏面には使用方法のアルミパネル

電池蓋を外すと2枚のセルの中間下方に6ピンの接続パッド。HP20B、30Bと同一仕様

結構若いシリアル番号だった

結構若いシリアル番号だった

付属してきたポーチに入れるとこんな感じ。若干きつめ

 

FキーとGキー以外はキーボードもしっかりしている。 けれど、もっとキータッチは固かったような(他のメーカーの計算機に比べればこれでも十分固い)

それでは週末にでも時間を見つけてすこしいじってみましょう。

 

 

あきれたことに HP15C

HP 30bを使い始めてからだいぶ経った。 そろそろHPの計算機の新型が出てもいいころだと、昨晩急に思い立ち、インターネットでHP caluculatorとググってみたら、 HPのホームサイトでHP Classic calculatorというのがヒットした。 のぞいてみると当然のことながら12Cが載っている。 これだけではそんなに驚かない。 数年前あたりから、 外側は同じでも内部はATMELのプロセッサーを積み、ボタン電池2枚で駆動、計算速度が異様に早くなったモデルが出ている、というのはHPミュージアムのフォーラムで読んでしっていたのだが、パイプラインから旧型の在庫が全部捌けたら購入を考えようと思っていて、そのまま忘れ去っていたからだ。
ところが、その12Cの横に15Cという表示が出ている。 これはなんだ? とリンクをたどってみれば、呆れたことに15CのLimited Edition が発売になると出ている。
これは買うしかないでしょう、とHPのサイトをさらに見て言ったら、 99ドルで「間もなく発売」という表示に行き当たった。
もっと情報がないかと、HPMuseum.orgのフォーラムを久しぶりにのぞいたら、いろいろコメントがのっているのだが、どうもここ数日で入手した輩がいるらしい。 それも米国で、
でも米国のHPのホームサイトではまだ発売していないのに。
結局Buy.comのサイトで、Buy.comとサムソンケーブルからすでに入手可能であるらしいことがわかった。Buy.comは89ドルで売っている。(結局税金を払うので99ドル近くなる) 即購入ボタンを押してしまった。
そこで再びHPmuseumのフォーラムに戻り、ポストをじっくり読んで行ったら、”PSEにバグあり”という記述に行き当たった。 PSEコマンドでストップしたときに表示が出ない。とある。 計算は続けられるのだが途中表示が空白になる、というのである。
スレッドを読んでいくとやはり、ファームウエアのアップデートはフラッシュで可能なので、HPが修正版のファームウエアをリリースすれば、あとは書き換えるだけだというコメントがあった。 電池室の内部にコネクターがあり、このコネクターに接続するケーブルを作るかなにかして、パソコンにつなぎ、そのうち出てくるであろう(?)修正版のファームウエアを流し込めばよい、という理屈にはなるのだが、、、
はてさて、これは実用ということではなく、もう趣味の世界にどっぷりなので、手作りのケーブルでフラッシュしまくり、なんていうのもいいのかもしれない。 でもバグ付きで99ドルというのは微妙な設定。 limited Edition で一万台生産する(した?)ようだが、 次のロット(個人的には42Sを出してほしいが)を作るかどうかはどれくらい早く売り切れるかにかかってくるのだろう。 世界を見渡してノスタルジーで、100ドル出す人が何人いるか? すくなくともここに一人いたわけだが。
先ほどBuy.comのオーダー状況を調べたら、すでに出荷したとのこと。FedeXで送付してくれたようで、到着予定日が14日の水曜日と出た。 あと2日。

HP-30b Business Professional Financial Calculator

久方ぶりのHP電卓の購入である。 内容的にはHP20bに機能を追加した、のと、キークリック感が非常によくなった。

20bでもなんとかなっていたが、30bは外装の質感も良い。 自分のメイン機になりそうだ。

ブリスターパッケージ。カタログのような薄さのインストラクションがついてくる。 マニュアルはHPのサイトからのダウンロード

Comparison between HP20b and HP30b
HP20bの黒はつやがありすぎて、汚れが目立つ。 HP30bのほうが上品な感じ(値段の差から言っても当たり前だが)

ついでに、と言っちゃなんだが、起動時に自分の名前を表示する方法をメモしておく。 20bでやったはずなのに、30bを設定しようとしたら、情報がみつからなくて、ネットを探し回ったため。ここにメモ

You can customize the 20b/30b to start-up with your name: Press  [SHIFT] MODE [UP][UP][UP][UP] to get to language selection, then [SHIFT] [UP].  USE the [UP] and [DOWN] Keys to enter your 8 characters. [INPUT] to accept character, [=] to erase, and [ON] to return to the main menu.
 まず、[SHIFT] MODE [UP][UP][UP][UP]で言語選択メニューへ、
ここで[SHIFT] [UP]し、名前の入力モード。 昔のゲーセンでハイスコアの名前を入れるような要領で7文字8文字まで入力可能。  
[UP] と [DOWN]で文字選択
[INPUT] で文字確定  [=]で一文字消去。 [ON]でメインメニューに戻る。 

HP電卓のEquation solverの話

HP-35Sを弄ぶ日々が続くわけだが….

HPの電卓にはEquation Solver というのがついている。 実は電卓ではないが、あのHP-200LXにも実装されていた。

単純に言うと 多変数の数式を入れておいて、求めたい変数を指定してやれば、機械が他の変数の値を聞いてくる。 これに順次答えてあげると解がでてくる、というもの。

例えば V=IRという数式を記憶させておいて、Enterを押すとIとRの値を聞いてくる。ところが同じ数式を表示させておいて Solve I と入力すると今度はVとRの値を聞いてきてIの値を計算する、という按配。そんなもん、数式で覚えさせるより直接計算したほうが速い、 というなかれ。 たしかにオームの法則くらいなら、ごもっともだが、じゃあこんなのはどうだ。

D=ST+1/2gT^2

一回これを入力しておけば、求めたい変数が距離であろうが初速であろうが所要時間でであろうが、月の上の出来事であろうが、他の変数の値を入れるだけで求まるのだ。各レジスターはそれぞれの値を覚えているから繰り返し試算するにも便利。

HP-35Sは科学技術用の計算機だから財務的な関数は組み込まれていないが、Equation として覚えさせておけば、利息計算とかも簡単にできる仕組みになっている。 ここまではHP-33Sでも実装していたのだが、HP-35Sではさらに2元連立方程式と3元連立方程式のSolverが組み込みで追加されているのを発見した(オーバーな)

2元連立方程式

aX+bY=c

dX+eY=f

a,b,c,d,e,fと入力してやればXとYが求まる。

3元連立方程式

aX+bY+cZ=d

eX+fY+gZ=h

iX+jY+kZ=l

a…l まで入力するとX,Y,Zが求まる。

というわけでプログラミングの心得がなくても十分使える電卓である。 単位変換とかパーセント計算など、普通に必要な機能はすぐに使えるようにキートップに割り付けてあるところが昔の気取ったHP電卓とは違うところ。(これはHP-33Sも同様だった)

学生時代にこんな計算機があればよかったが 自分が大学生のころは計算機といえば卓上型のタイガーの手回しだ。そこで技術系の学生はたいてい、ヘンミの竹製計算尺(技術者用)を持ち歩いていたのであった。 と、ここまで書いて計算尺と筆算で積分計算させられたことを思い出した。 HP-35Sでは上記のように入力した数式をそのまま積算できる機能もついている。 んー、どこかに使えないかと考えてみたが、いまの仕事ではそんな需要は皆無なのであった。(手段と目的が逆転してる(笑))