コンテンツにスキップ

このWebサイトは、管理人が個人的に書き留めている備忘録です。それ以上でもそれ以下でもありません。
誤記・誤解・誤謬を含め、記述内容の確度を一切保証しません。責任を負いません。問い合わせ等を受け付けません。
This Mediawiki is a personal memorandum written by Administrator, nothing more, nothing less.
Administrator do NOT guarantee accuracy of content, including any errors, misunderstandings, fallacies, take NO responsibility, do NOT accept inquiries anything of the sort.

HP-65

提供: Memorandum
2025年3月2日 (日) 12:59時点におけるWebmaster (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

1974年1月19日〜1977年1月3日に販売された、世界初可搬型プログラマブルなRPN関数電卓。Classicシリーズでは最上位機種に当たり、当時のHPの期待を一身に背負った機種だからか、コードネームはSuperstar (巨星)とされた。

可搬型でもプログラミングを!

実装された関数と演算精度はHP-45/HP-46と同等だが、本機の最大の特長は、それらを駆使したプログラムが作成・実行可能なことである。尤も、その実装は極めてプリミティブなラベルアドレッシング形式で、​レジスタはR1〜R9の9個、各命令ワードは6ビット長、三角関数や比較命令を実行する際はR9レジスタがワーキングレジスタとして使用されるため内容が上書きされるという貧弱極まりない仕様だ。ユーザが入力したソースコードが、キーインした順に「物理キーの座標(位置)」が羅列される形式[1]なのは百歩譲って良しとしても、行番号が振られないうえ、1行前のソースコードに移動する BST キーが実装されていない[2]ことから、ソースコードの保守性は皆無と言ってよい。

しかし、これら数多くの制約を乗り越えたユーザは、本機に内蔵している64種の演算を組み合わせたプログラムを作成・実行できる。プログラミングできるコンピュータや関数電卓=複数人で共有する机上設置型が常識だった当時、個人が所有することが前提の、電池で駆動する可搬型の関数電卓で、プログラミングできる本機の登場は、エンジニアや科学者に一大旋風を巻き起こした。

本機を開発した当時は半導体不揮発メモリがまだ高価だったため採用は見送られており、そのまま電源を切れば、ユーザが作成し本機に保存したプログラムは消失してしまう。その代わりとしてHPは、可搬型電卓に内蔵できる超小型の磁気カードリーダライタを開発、それ経由で磁気カードにプログラムを保存することにした[3]。本機および磁気カード1枚に保存できるプログラムは100行[4]である。本機の筐体はHP-35HP-45でも使用した35個の物理キーを実装したもので、各キーに最大4つの機能を割り当てるべくシフトキーは 𝐟 𝐟𝟏 𝐠 の3段構えだが、𝐟𝟏 は 𝐟 の逆関数であることが直感的に解る[5]のと同時に、機体表面に印刷する関数キーの説明から逆関数の分を省けたことで、表面のキーの説明をスッキリさせることに成功している。磁気カードリーダライタを内蔵するため、長さを4mm、厚みを2mm大きくし、質量は70g増えている。本機には標準ソフトウェアである19本のプログラム入り磁気カード、20本のブランク磁気カード、1本のヘッドクリーニングカードを1セットにした〝Standard Pac〟(0065-67008)[6]が附属したが、それ以外にもHPから本機専用の各種プログラムが磁気カードに記録したソフトウェアとして別売された。ここまで高機能だと「もはや関数電卓という範疇を超えている」と判断したのか、HPは自社で発行していた技術評論誌であるThe HP Journal1974年5月号で本機をThe "Personal Computer": A Fully Programmable Pocket Calculatorと紹介している。本機は非常に高価だったことでも有名で、定価は795ドル(約236,900円)とされた。1974年のアメリカでは上位50%の平均年収が約50,000ドルだったとはいえ、誰も彼もホイホイ購入できる代物ではなく、購入者に依っては販売店に月賦を申し込んだようだ。

ちなみに、その後もHPは磁気カードリーダライタを内蔵もしくはオプションパーツとして別売したRPN関数電卓としてHP-67/HP-97HP-41CXを含むHP-41シリーズを販売したが、本機でプログラムを書き込んだ磁気カードはこれら他機種で読み込めない。先述した通り、本機を含む第一世代=Classicシリーズでは各命令ワードが6ビット長なのに対し、第二世代以降では8ビット長に拡張されたことで、互換性を失ったからだ[7]

宇宙で大国の命運を握った電卓

この画期的な可搬型プログラミング関数電卓をエンジニアや学者が放っておくはずもなく、Appleの共同設立者であるSteve Wozniakは本機の熱心なユーザだったがApple I開発費用捻出のため500ドルで泣く泣く手放していたり、当時ロスアラモス国立研究所に所属していた数理物理学者であるMitchell Feigenbaumは研究所から支給された本機を使用して、周期倍分岐が連続して起こる値の差の比が δ2=limnanan1an+1an=4.669201609102990671853203820466 に収束するのを発見したりしている。この収束比はFeigenbaum定数として知られている。

特に、HPの関数電卓と本機の名声を著しく上げた出来事として、NASAに〝本格的に〟採用されたことが挙げられる。世界で初めて宇宙空間に飛び出した関数電卓はHP-35だが、それはあくまで動作試験等が目的で、ミッションの中核を担うようなものではなかった。これまでのNASAによる宇宙飛行では、軌道決定の基となる軌道要素や宇宙機の回転量等を、表とフローチャートを使って宇宙飛行士が筆算[8]しており、例えばその様子は映画Apollo 13Jim Lovell役のTom Hanksにより活写されているが、本機はこれらを単体で実行するという大役を仰せ付かったのだ。

アメリカと旧ソ連による熾烈な宇宙開発競争も凡その決着を見た1972年5月、両国が初めて有人宇宙機を共同飛行する宇宙計画に調印、約3年後の1975年7月5日に実施されたASTP (アポロ・ソユーズ テスト計画)においてアメリカが打上げたApollo[9]には、本機が2台、NASAが作成した1,000行に及ぶプログラムを保存した磁気カード10枚組が4セット、予備バッテリが6個、それぞれ持ち込まれていた。その目的は、Apolloが内蔵する誘導コンピュータが故障した際のバックアップである。

アメリカでは、アポロ11号が「国家目標を達成」したことで国民が宇宙開発競争に対して急速に興味を失ったことと、アポロ13号で起きた「成功した失敗」を理由に、宇宙開発に依る国家予算の圧迫に批判が集まるようになった結果、1970年8月末、NASAは「アポロ計画は17号も以て終了。18号・19号・20号の計画は廃棄する」ことを正式決定せざるを得ない事態に追い込まれた。一方の旧ソ連では、ソ連共産党中央委員会第一書記であるНикитаニキータ ХрущёвフルシチョフЛеонидレオニード Брежневブレジネフが実行した農業政策が大失敗したところに凶作と旱魃が重なった結果、社会主義経済では貴重な虎の子である、石油を輸出して稼いだ外貨が、敵国たるアメリカ・フランス・カナダ・オーストラリア等から自国民の食糧用に穀物を輸入する費用として流出していた。特に1973年の旧ソ連による国際穀物市場での買付量は大穀物強盗と呼ばれるほど大規模化すると同時に国庫が空に近付き、宇宙開発を進めたくとも進められない事態に陥った。

即ち、米ソ両国とも、自国の経済を理由に宇宙開発競争を止めたがっており、それには外交面からどこかで両国揃って全世界に向けて公式に「これまでのような宇宙開発競争は止めます」と宣言する好機を窺っていたのだが、それをASTPという形にしたのだ。よって、ASTPのミッションは、公式には「アメリカ・旧ソ連 両国の宇宙機のドッキングシステムの研究」とされているものの、実態は「『宇宙開発競争の終焉』を全世界にアピールすること」であった。いわゆるデタントである。

この思惑により、ASTPの飛行計画は、両国の有人宇宙機を同日に打上げ、地球周回軌道上でランデブー、44時間にわたってドッキングし続けた後、再度分離して別々に地球へ帰還するという、異国の宇宙機同士としては世界初の挑戦となったうえ、44時間のドッキング中には両国の宇宙飛行士が両宇宙機を相互に表敬訪問・旗の交換・食事会・宣言書への署名などなど、「ドッキングシステムの研究」はどこへやら、両国の緊張緩和を世界に印象付けるためのセレモニーが目白押しとなる内容に仕上がってしまった。つまり、「ドッキングシステムの研究」という御題目は両国の政権政党にデタントのための外交アピールを宇宙空間で行うことを認めさせる大義名分[10]に過ぎず、それどころか、ASTP全体が「両国の宇宙機のドッキング成功ありき」ですべての予定が組まれたことから、ドッキングで使用するApolloの誘導コンピュータの故障によるドッキング失敗がASTPの失敗どころかデタントの失敗を意味することに“変質”してしまったのだ。ASTPの失敗は両国間で政治問題に発展しかねない緊張感をも帯びることになり、そのような事態の発生をなんとしても避けるべく、NASAは本機を採用したのだ。

Электроника МК-52で触れたように、Союзソユーズを含む旧ソ連の歴代の有人宇宙機は、打上げ機から切り離された後の航行と制御が「宇宙機に内蔵された航法支援装置による完全自動」が基本で、搭乗している宇宙飛行士に手動操縦の余地が殆ど無い。したがって、両宇宙機がドッキングするには、能動的飛行体として手動操縦の余地が十分あるApolloから、受動的飛行体であるСоюзに近づく必要がある。本機に与えられた役割は、ApolloがСоюзとドッキングする直前にApolloが2回実施する軌道修正機動のための演算である。具体的には、「ターミナルフェーズ」と呼ばれる、ランデブー前の飛行を開始して12分後に両宇宙機が約100マイル以内に近づいた後、両宇宙機を同一軌道に乗せる共楕円軌道[11]の演算と、その10分後(即ちランデブー2分前)、両宇宙機が約22マイルのまで近づいたときに実行する軌道修正機動のための演算である。

これらいずれも、これまで17回実行されたApollo計画の搭乗員には存在しない肩書でASTP専用に誂えた、ドッキングに関するすべてを担当するDocking module pilotドッキング装置操縦士として乗り込んだ、当時史上最年長の宇宙飛行士であるDeke Slaytonが、Apolloに持ち込まれた本機に磁気カードを読み込ませてNASAが作成したプログラムをロードして演算、それで得られた結果と、Apolloが内蔵する誘導コンピュータの演算結果を比較、合致していることを確認することでドッキングが必ず成功するよう万全を期したが、もしこのときApolloの誘導コンピュータが故障したら、Deke Slaytonは本機の演算結果だけで軌道修正マヌーバを実行する手順になっていたのだ。

「汎用の民生品が有人宇宙機の軌道決定に使用される快挙を成し遂げた」とも取れるが、「一般市民でも購入できる関数電卓がアメリカと旧ソ連のその後の命運の一端を握った」とも取れる、世界的にも衝撃的な出来事であった。特に旧ソ連をはじめとする共産圏諸国には「非共産圏諸国では、市販されている関数電卓ですら、宇宙開発で要求される演算精度を持っているのか!」と脅威に映ったことだろう。この出来事から13年後の1988年11月26日、旧ソ連はСоюзに自国の可搬型プログラマブルRPN関数電卓であるЭлектроника МК-52をほぼ同じ理由[12]で持ち込んでいるが、裏を返せば、1975年時点で既に、旧ソ連とアメリカで民生品の技術格差が13年分以上存在したことを示している。

尤も、ASTPではApolloの誘導コンピュータは故障せず、本機の演算結果だけで軌道修正マヌーバを実行する場面は無かった。なお、本機は、軌道修正マヌーバ以外にも、Apolloの高利得アンテナを軌道上の中継衛星へ正確に対向させる演算も担当していた。

また、本機の登場により、HP製RPN関数電卓のファンクラブ兼ハッキングクラブが結成されていることも重要である。HP-65 Users Clubと命名されたこのクラブはRichard J. Nelsonが設立し、新しい電卓に関する情報交換の場としてスタートしたものの、PPC (Personal Programming Center)と改名後は活動も活発化、最終的にはHP-41シリーズ向けに同人モジュールのPPC ROMを発売するに至るなど、HP製RPN関数電卓に触れる際は外せないほど影響力を持った組織であった。

現代において完動品のHP-65を入手するのはかなり難しい。eBayをはじめとするオークションサイトへの出品は比較的多いほうだが、動作する美品は極めて少ない。発売から45年以上経過しているため仕方無いのだが、状態が良好で完動品となると1,000ドルを超えることも珍しくなく、手を出したくとも出せないことが多い。また、磁気カードリーダライタは〝故障してるのが当たり前〟[13]で、RPN電卓マニアが売っているDIYキットを購入して自分で修理するか、有償で請け負うRPN電卓マニアに修理を依頼するかの二択となる。管理人は比較的美麗で磁気カードリーダライタも完動品な4台を所有している。

tan355226 [rad]=7518796.992 (εR=2.87×103)

(ln884736744π)2=42.99999997

スタック 3+1段
プロセッサクロック周波数 200kHz (Classic)
使用電池 HP 82001A/B (3.6V 450mAh/900mAh 充電池:中身は単3形Ni-Cd充電池×3個直列)
製造期間 1974年〜1977年
製造国 アメリカ → シンガポール
1974年発売当時の定価 795ドル (約236,900円)

脚注

  1. 例えば、上から2行目・左から3個目の LBL キーを押下しソースコードに記述すると、ディスプレイには23が表示される。ディスプレイが7セグメントLEDである以上、表示できる字種が数字のみなので已むを得まい。この制約は本機の後継機種であるHP-67/HP-97でも同じだ。
    尤も、HPはこの状況を打開すべく研究を続けており、それはやがて、HP-41CXをはじめとするHP-41シリーズ向けに、アルファベットと若干の記号を表示できる14セグメント方式を自社で独自開発させるに至った。
  2. 1行後ろに移動する SST キーしか実装されていない。当然「操作を誤り、編集すべき行を行き過ぎた場合はどうする?」となるが、本機はソースコードをループして表示する(ソースコードの最終行に到達した後に SST キーを押下すれば1行目に戻る)仕様なので、そこから再度、編集したい行まで SST キーを1行ずつ押下して移動することになる。数十行に渡るソースコードを編集する際は非常に面倒くさくクレームも多かったのだろう、後継機種であるHP-67/HP-97では BST キーが実装され、行番号も振られるようになった。
  3. HPでは、世界初の関数電卓であるHP 9100A/Bやその後継機となるHP 9810Aに名刺サイズの磁気カードにプログラムを記録する磁気カードリーダライタを標準装備しており、それを可搬型にも適用したことになる。本機を含む可搬型向けに開発した超小型磁気カードリーダライタで採用した、磁気カードにデータを記録する磁気ヘッドは、1965年にフィリップスが互換性厳守を条件に基本特許を無償公開したため世界中の電機メーカに採用されたことでデファクトスタンダートとなり急速に普及し部品価格が下落したコンパクトカセット用のそれと外見が酷似している。幅11.5mmの磁気カードで天地に2行ずつ計4行記録でき、可搬型電卓に内蔵するには持って来いの大きさである。
  4. 磁気カードリーダライタの仕様上は、磁気カードの天地を返すことで、1枚に100行+100行の計200行を保存できる。しかしマニュアルではThe motor roller is over the second track. Over a period of time, it may not read properly.を理由に、1枚に片方のみ100行だけ保存する運用を強く推奨している。尤も、この推奨は本機のみで、HP-67/HP-97では「1枚に113行+113行の計226行が記録できる」、HP-41CXを含むHP-41シリーズ向けオプションであるHP 82104Aでは「1枚に1トラックで16レジスタずつ、計32レジスタが記録できる」ことが謳われており、天地双方に保存しても支障は無い。なお、磁気カードリーダライタは消費電力が大きいため、バッテリの残量電力が少ないと、電力不足で磁気カードリーダライタが起動できずエラーとなる。
  5. 日本であれば高校数学(管理人が学んだ旧課程では数学Ⅰ/代数・幾何/基礎解析/微分・積分、現行課程では理系大学受験を前提に履修する数学Ⅲ)で、ある関数 y=f(x) の逆関数(逆写像)を x=f1(y) と表記することを学ぶため、例えば度数法による正弦 sin30=0.5 を演算するには 3 0 𝐟 sin とキーインすることを知れば、逆関数である余割(逆正弦) cosec0.5=sin10.5=30を演算するには  5 𝐟𝟏 sin とキーインすれば良いことが、ある数の平方根(2の羃根: x=x12)を演算するには 𝐟 x とキーインすることを知れば、逆関数である平方(2の羃乗: x2)を演算するには 𝐟𝟏 x とキーインすれば良いことが、それぞれマニュアルを読まずとも推測でき、その操作で合っている。これにより本体上面から逆三角関数と平方のキー説明を省略している。調べた範囲では、逆関数の数式表記方法は世界共通なので、このキーアサインは現代でも通じる秀逸さがある。尤も、ユーザからの需要とライバルメーカとのスペック競争を理由に内蔵する関数が肥大化するにつれ、表面積が狭いポケット関数電卓で逆関数を指定するためだけに独立したキーを配置する場所を確保できなくなり、HPはHP-67HP-34Cで採用した「独立した3段構え」のシフトキーへ移ることになる。
  6. 磁気カードリーダライタで読み込ませることで、以下の機能や関数を拡張する。​
    • 個人投資
    • 平均・標準偏差・標準誤差
    • 大圏航路計算
    • 整数の基数変換
    • 体表面積
    • π型回路網のインピーダンス整合
    • 既知のΔ標高に基く光波測距 (EDM)
    • 温度単位相互変換 (摂氏・華氏・蘭氏・ケルビン)
    • 重量単位相互変換 (キログラム・ポンド・オンス・スラグ)
    • 体積単位相互変換 (USガロン・UKガロン・リットル・平方インチ)
    • 複利計算
    • 借入金返済計画
    • 照合勘定調整
    • 反復法によるf(x)=0の演算と求根
    • 二次方程式
    • 円・楕円・四角形・三角形の面積
    • ゲーム「ニム」
    • HP-65故障診断 (その1・その2)
  7. マイクロプロセッサのアーキテクチャで採用している各命令ワード長に従い、本機で磁気カードに書き込むデータは6ビットで、HP-67/HP-97HP-41CXを含むHP-41シリーズ向けオプションであるHP 82104Aで磁気カードに書き込むデータは8ビットで、それぞれエンコードされているため、互いに読み取りようがない。
    本機と、本機の直接の後継機種であるHP-67/HP-97の間には、開発開始時期に2年の差があるが、その間に半導体技術は長足の進歩を遂げ集積度が急速に上昇、それを貪欲に取り込むことで、今後は同等サイズのシリコンチップに詰め込める機能や関数を大幅に増やせる目処が立ったことと、このマイクロプロセッサを電卓だけではなく、現代でいう組込機器にも応用することとしたため、内蔵する関数や機能を増やす(即ち「未来のために拡張性を持たせる」)ことを前提に、内部処理で使用する命令ワード長を2ビット拡張したのだ。この命令ワード長の拡張が正しかったことは、1979年7月1日に発売開始となったHP-41シリーズ向けに膨大なソフトウェアモジュールや周辺機器が登場する形で、端的に証明された。この第二世代アーキテクチャは、その後もなんだかんだと凡そ15年間も生き続け、1990年3月16日に発売された第四世代=SaturnシリーズであるHP-48SXで漸く世代交代することになる。
  8. このとき宇宙飛行士が使用するのはスペースペンである。通常のボールペンを重力がある地球上で使用するとインクは重力で勝手にペン先へ送り出されるが、無重力である宇宙機内で使用するとペン先にインクを送り出す力が無くなるため、(重力圏に対して)水平より上向きにすると徐々にインクが出なくなり、完全に上向きにするとインクが出ず筆記できない。またこのときインクタンク内に入った空気が気泡として残ってしまい悪循環となる。スペースペンは、インクタンクの上部から高圧の窒素ガスを加え、その圧力でペン先にインクを送り出す構造であるため、無重力でどのような姿勢をとってもインクが出続けるので筆記可能となり、インクタンク内には気泡が生成されない。
    よくあるジョークに「アメリカはわざわざ手間暇と大金をかけてスペースペンを開発した。一方、ロシア(旧ソ連)は鉛筆で済ませた」があるが、これは完全なる都市伝説である。NASAでも当初は有人宇宙機内で鉛筆を使っていたものの、鉛筆の芯に使われるグラファイト(黒鉛)の導電性と潤滑性、軸に使われる木材の可燃性が、いずれも宇宙機内では危険因子となり得ることを認識しており、代替品を模索していた。その最中である1965年にPaul Fisherという実業家がスペースペンを独自に発明、自らNASAに売り込み、NASAによる様々な試験の結果、アポロ計画での採用が決定した。このとき1本6ドルで400本をNASAに納品している。したがって、スペースペンはNASAから開発を依頼されて製造されたものではなく、ましてやその開発に対してアメリカ政府から融資を受けていたということもない。なお、旧ソ連でも、鉛筆に対してはアメリカと同様の問題を認識しており、1969年には有人宇宙機に持ち込む筆記用具を鉛筆からスペースペンに置き換えている。
  9. 稀にASTPで飛行したApolloを「18号」と呼ぶ人が居るが、これは誤りである。アポロ計画にASTPが含まれないことと、NASAの大幅な予算削減および打上げ機であるサターンVシリーズの生産が打ち切られたことで、20号まで存在したアポロ計画そのものが17号で強制終了、18〜20号の計画は正式に廃棄されたからである。なお、ASTPで使用されたApolloが、アポロ計画とスカイラブ計画で運用された一連のApollo宇宙機で最後に宇宙空間に出た完成機であり、19号・20号向けに製造されたApolloは未完成のまま放棄された。
  10. 事実、この御題目に関しては、ドッキング機構技術に一日の長があった旧ソ連のВладимирウラジーミル Сыромятниковシロミャトニコフが主導し、両国で共同開発された、ASTP専用のアンドロジナスドッキング機構 APAS-75の、宇宙での動作を確認しただけである。当然、APAS-75の開発では両国のエンジニアが直接面会したり手紙でやりとりしたり綿密に擦り合せて設計しており、1972年6月には⅖サイズで、1973年10月には実物大で、それぞれ現物を製作し、地上での動作確認も成功裏に終えていたため、わざわざ宇宙空間で動作確認する意義は殆ど無い。ドッキング機構からの空気漏れの有無も、通常の有人宇宙機開発の常套手段である「水を張ったプールに浮かべる」ことで判断可能なので尚更である(空気が漏れ出るような間隙が有れば、そこから水が浸入し、宇宙機は水没する)。
  11. 同一平面上にあり、焦点が一致する2つの軌道を指し、Coelliptic orbitという。同一平面上にある2機の宇宙機の相対的な基準となる。軌道内のどこに宇宙機が位置していても、整列した半径ベクトルの大きさの差がほぼ同じになる特性から、宇宙機をランデブーする際は頻繁に使われる。
  12. あるいは、アメリカがASTPでHP-65による軌道決定の場面を見た旧ソ連が真似したのかもしれないが、いくら地球周回軌道という比較的近傍であるが故に演算桁数もそこまで求められない状況とはいえ、HP-65とЭлектроника МК-52の演算精度と造作を比較すれば、後者が段違いでレベルが低く、「もし本当にСоюзソユーズの航法支援装置が故障したとき、バックアップとして使い物になるか?」というと甚だ疑問である。有人宇宙機の打上げ中止後に使用できることになっていた緊急脱出装置が実用に堪えない代物(正常に起動はするが、起動させれば宇宙飛行士の生命が危ういものばかり)だったことと同様、旧ソ連の宇宙飛行士に対して士気向上や安心感を提供するためのポーズだったのかもしれない。
  13. 「磁気カードを取り込まない」症状を指す。原因は、磁気カードを挟んで取り込むためにモータの回転軸へ装着している樹脂プラスティック製の「押さえ」が、経年により加水分解して元の形状を失い、粘着質を帯びた樹脂塊と化すことで、モータの回転を阻害するため。磁気カードリーダライタを分解して樹脂塊を剥ぎ取り洗浄後、護謨製のオーリング2個もしくはチューブに交換すれば復旧する。なお、まったく同じ故障が、磁気カードリーダライタ内蔵機種ではHP-67/HP-97、周辺機器ではHP-41シリーズ用磁気カードリーダライタのHP 82104Aでも発生する。