hp-20b をフラッシュしてみる その3, 遂にwp34sを導入

一度コツを覚えてしまうと、うまくできなかったのは何故なんだろうと思えるくらいに確実にSam-baと接続できるようになってきた。ケーブルセットひとつだけで、非常に重宝する  。 HP15C LEのファームウエアのアップデートも(リリースされるかどうかは判らないが)これで準備は整ったわけだ。

そこで当初の目的であるところのwp34sの導入(hp20b のre-purposing)に踏み切った。

このプロジェクトはsourceforgeで公開されており、誰でもファイルをダウンロードしてくることができる。Zip fileを解凍し、Real というフォルダーの中にあるCalc.binというのがhp20b/30b用のファームウエアでこれをhp20b/30bにフラッシングしてあげると、金融電卓として売られていたハードウエアが科学技術電卓として使えるようになる。

実はフラッシュが終わってからマニュアルを読んでいるのだが

  1. ベースはHP42s
  2. HP16cの整数及びビット処理機能
  3. HP 32SII の分数表示
  4. HP21Sの分布関数
  5. スタックは4レベルと8レベルに設定可能
  6. 単位変換80種類以上、定数50種類以上のカタログ機能
  7. 500ステップのプログラム (+フラッシュバンクに3x500ステップのストレージ)
  8. 速度的にも42Sの50~100倍位でている

 

さらにパソコン上で動くエミュレーターも同梱されており、このエミュレーターと本体との間でデータのやりとりが可能、というマニアが泣いて喜ぶような仕様になっている。 hp20bのハードのポテンシャルで充分ものになったということか。

しかし弱みがあって、それは見栄え。キー設定がほとんど変更になってしまうため、オーバーレイを使ってキー表示するのだが、 Real のフォルダーにある二つのイメージのうち、キートップに表示しないタイプのものをとりあえず紙に印刷し、 キーボードの部分を切り抜いて両面テープで留めてみると下の写真のようになってしまう。

WP34S fisrt shot

30bはTVMを、34sは単位変換カタログ中の温度変換を表示中

hpcalc.orgのエリックさんが裏に接着剤のついたマイラーフィルムに印刷したものを販売しているのでこれを入手しようとしているところである。 キートップに一枚一枚貼り付けて行くというのは想像しただけで気が遠くなるのだが 、 さてどうなることやら

ふとおもったのだが、この電卓の組み立てキットを大人の科学のような体裁で売り出せば売れるかもしれない。

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

我がhp-20b は消去・リセットのステップを通して見事にブリキと化したわけで、なんらかのファームウエアを入れてあげないと電卓として機能しない状態になっていた。

用意したもの

  1. Windows XP が実装されたネットブック
  2. ATMEL のホームページからdownload してきたSam-ba 2.10 とパッチファイルSAM7 Patch for SAM-BA 2.10 . 本体をインストールしたら、パッチ部分を解凍して該当するフォルダーに上書きコピーしておく
  3. USB serial converter – RS232 コネクタをUSBコネクタに接続するケーブル、FTDI チップを実装したインターフェースがコネクタ内部に組み込んである。
  4. Gene Wright さんから郵送してもらった HP 電卓専用のケーブルセット
  5. 昨日ダウンロードしておいたHP20_DEVELOPMENT_KIT 内のHP 20 ORIGINAL ROM.BIN

 

ケーブルセット、USBシリアルコンバーターを介して電卓をつなぎ、電池を再セット

そこから sam-ba を起動し、手引書の4頁にあるとおり、comポートを選び、Select your board のdropdown にはat91sam7l128-ekを選ぶ。 Connect buttonをクリックする直前まで準備しておき

 

この状態でケーブルのリセットボタンを一度押し、続いて hp20bのON/CEボタンを半秒から1秒押した後、画面上の”connect”ボタンをクリック。

これでSam-ba  の画面が現れればほぼ成功である。

これでSam-baの画面もエラーメッセージも現れなければTask manager からSam-baのプロセスを殺してもう一度最初からやり直さなければならない。フォーラムのコメントには最初から(フラッシュを消去する手順から)やり直すという方法が推奨されている。

Sam-baの画面が現れた場合はSend file name の入力部分に通常のファイルダイアログボックスから焼きたいファイル名(今回は”hp20b original Rom.bin”) を指定してやる。  そしてSend file ボタンをクリックするとコードの転送が始まる。 手引きには45秒くらいと書いてあるが自分のセットアップでは1分以上かかっているようだ。この間画面上のデータが逐次アップデーとされるので迷うことはない。

終了するとlock region to Lock というダイアログが現れるので”NO”を選択。

次にスクリプトエリアで”boot from Flash(GPNVM1) となっているはずなのでExecute ボタンをクリック。

ケーブルセットのリセットボタンを押す。

内部処理が済むのを5秒ほど待ってあげてから ON/CE ボタンをおす。

 

これで計算機が復活する。ちなみに手引書に書いてあるチェックサムは 9.16.2009バージョンのものなので、比べてみることはできないが、ファームウエアの日付が10/19/2009にアップデートされていたのでフラッシュ成功とわかる。

ポイント

1. Sam-ba.exe を使用する。 Sam-ba_cdcでは接続できない。

2.Sam-baをConnect する前にケーブルセットのリセット、本体のON/CE を順番に押す。

3. うまく行かなくても計算機内部のブートアップルーチンは必ず生きているので焦らないこと。

4. 電池のスペアを用意しておく。作業を中断する場合には電卓から電池を抜いておく。

5.OSはあるなら Windows XP が無難。Windows 7にインストールする際、Windows XP compatible mode に設定してインストールというコメントがフォーラムにあったがどうか?(未確認)

6. シリアルコンバーターを使う場合はFTDIチップを使用したものが推奨されている。

 

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日。