コンテンツにスキップ

この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-41CX

提供: Memorandum

1983年10月1日〜1990年11月1日に販売された上級プログラム関数電卓で、HP-41シリーズの最終形態。コードネームはHoneynut (南瓜の一種)。単体では222関数を実装したプログラム関数電卓だが、その中身は「個人が所有できる高精度な数値演算専用コンピュータ」の嚆矢である。

関数電卓とパーソナルコンピュータの狭間

HP-34Cでも記述したが、有り体に言えばHPは、本シリーズの購入者に富裕層と法人を想定しており、主たる用途も、単体での使用はもとより、周辺機器やオプションソフトウェアと組合せてユーザが求める演算システムを容易に構築できることに重きを置いた。〝パーソナルコンピュータ〟という概念がようやく形になり始めたものの、当然ながら非常に高価で、おいそれと手が出るものではなかったという時代背景を考えれば当然の開発方針である。

このような用途に応じさせるには、ハードウェアには十分な拡張性を、ソフトウェア(プログラミング機能)には汎用性を、それぞれ持たせる必要がある。その答えとして1979年7月1日に定価295ドル(約65,000円)で発売したのが、HP-41シリーズの初代であるHP-41Cだ。型名の末尾に付けられたCの意味はHP-25の脚注と同じで、単体では128関数を内蔵した上級プログラム関数電卓だが、同時に発売したHP-34Cとは大きく異なり、非常に挑戦的な製品として仕上がった。

  1. HP製電卓で初めて液晶ディスプレイを採用した[1]が、表示形式は、数字だけが表示できる7セグメント方式ではなく、アルファベットと記号も表示できる[2]ようHPが独自開発した14セグメント方式とした
    これにより消費電流が激減し、HP製可搬型電卓では初めて、バッテリとして市販の乾電池が使用できるようになった
    HP-41シリーズはアルカリ単5形×4本で駆動する[3]
  2. プログラミング方式を、これまでの制約が多い「内蔵関数キーを実行する順番に押下して覚えさせる」ものから、汎用性の高い「プログラミング言語により命令文で記述する」ものに変更すべく、本体型名の〝41〟を冠した専用プログラミング言語FOCAL(Forty-One CAlculator Language)を内蔵した
  3. FOCALのプログラムはアルファベットとアラビア数字と記号で構成される文字列で命令文を記述するため、単体でアルファベットを入力できるようにした
    これに伴い、物理キーの有無を問わず、すべての内蔵関数をコマンドでも入力できるようにしたため、シフトキーは  1段のみに削減した
    例えば開平(square root)は、置数後に、物理キー x を押下しても XEQ ALPHA S Q R T ALPHA とコマンドで入力しても、ソフトウェアはまったく同じ開平の演算処理を実行、同じ結果を出力する
  4. 本体上部に4口の拡張スロットを設け、RAMの増量/周辺機器/オプションソフトウェアの装着を可能とした

これらの特長はHPをして本機のマニュアル冒頭でpersonal computing systemsと宣言[4]させるほどエポックメイキングな製品志向ではあるが、これが市場で受け容れられるとは必ずしも考えておらず、まずは単体のRPN関数電卓で使用してもらうことでコマンドやプログラミング方法を覚えてもらい、気に入ってくれたならオプションソフトウェアや周辺機器を徐々に購入してもらう…このような慎重な販売戦略で売り出した。関数電卓でありながら拡張スロットを備え各種オプションを装着できるアーキテクチャを採用するに至ったのは、1976年11月に世界で初めてロムカセット形式の家庭用テレビゲーム機であるフェアチャイルド・チャンネルFが発売され、翌1977年には北米でAtari 2600が売れまくっていたことで一般市民にも受け容れられると判断したのかもしれないが、その確証は無い[5]

しかし、この販売戦略は大当たりする。

先述の通り、現在のように一般人が比較的安価にパーソナルコンピュータを購入するどころか触れることすらできなかった当時、HP-35から連綿と続くHPのRPN関数電卓が精確な演算結果を出力するのは既に知られていたため、単体の関数電卓としての実力はもちろん、別ページで説明する感熱紙プリンタ磁気カードリーダライタバーコードリーダなどの充実した周辺機器、数学・統計金融・財務回路網解析など専門分野に特化した数値演算をユーザがプログラムを組むことなく実行するためのオプションソフトウェアであるアプリケーションパックを同時に販売したことから、これらを組み合わせて〝精確な数値演算を入出力・実行するシステム〟が容易に構成できるため爆発的に売れたのだ。それまでのヒット機種であるHP-67/HP-97でユーザが作成したプログラムや別売のソフトウェアも磁気カードリーダライタで読み込め実行できる[6]ことも拡販に寄与した。その結果、HPが事前に想定した購入者層からは大幅に外れ、販売会社に月賦を申し込んでまで購入する個人が後を絶たない状況となった。

これら一連の動きは、半導体の集積度と性能が上がり価格が下がったことで、科学者やエンジニアが「高精度な数値演算専用コンピュータを個人で所有」するようになった始まりと捉えられる。それまで、大学や研究所が購入したホストコンピュータに利用料金を払ってタイムシェアリング(時間単位で借用)するしかなかったところ、半導体技術の進歩により「高精度な数値演算専用コンピュータを個人で所有」できる時代が到来、好きな時間に好きなだけ利用料金を払わず演算できるのだから、多少の月賦も我慢しようというものだ。この視点で現代から俯瞰すると、HP-41シリーズは「関数電卓とパーソナルコンピュータの狭間」に位置付けられよう。

改良とユーザの拡大

HP-41Cが一躍大ヒットモデルとなったことで、開発・製造元であるHPはもちろん、サードパーティやユーザコミュニティからも様々なアプリケーションパックが発売され始めたが、その使い込まれ方もHPの事前の想定を遥かに超えていく。HP-41Cのヘヴィユーザから「内蔵メモリが63レジスタ(441バイト)[7]と少な過ぎる。ちょっと込み入ったプログラムを書くには、4口の拡張スロット全てに内蔵メモリ拡張モジュール(HP 82106A)を装着せざるを得ず、周辺機器が使えなくなる」というクレームを多数受ける事態となったのだ。HP 82106Aは1個で64レジスタ(448バイト)拡張でき定価45ドル(約9,900円)だが、さすがのHPも、定価295ドルの関数電卓のメモリを最大容量の319レジスタ(2,233バイト)まで拡張すべく180ドル(約39,600円)も追加で投資するユーザが大量に現れるとは考えもしなかったようだ。ちなみに感熱紙プリンタは定価350ドル(約77,000円)、磁気カードリーダライタは定価195ドル(約42,900円)だが、いずれも販売数は堅調に推移していく。

嬉しい悲鳴と共に想定の斜め上なクレームを受けたHPは、HP-41C発売から僅か1年半後の1980年12月15日、内蔵メモリを予め最大容量の319レジスタまで拡張した二代目であるHP-41CVを定価325ドル(約73,500円)で発売することを決断する。型名に追加した末尾のVはローマ数字の5で、内蔵メモリが5倍になったことを示す。HP-41シリーズのチップセットとして採用しているNutアーキテクチャでは内蔵メモリの上限が319レジスタなので「追加で30ドルお支払いいただければ内蔵メモリを予め上限まで積みますから、4口ある拡張スロットをHP 82106Aで埋めずに済みますよ」というのがHP-41CVの製品コンセプトだが、これも相変らず売れることになる。特に有名なのは、「内蔵メモリを上限まで使い切るほど大規模なプログラムを書いても、すべての拡張スロットが空いている」ことがポイントとなり、アメリカ空軍で装備品として制式採用、空中給油機KC-135W&B(ウエイト・アンド・バランス)を演算[8]するための専用アプリケーションパック"KC-135 W&B1"および"KC-135 W&B2"を作成・運用していたり、アメリカ航空宇宙局(NASA)では宇宙往還輸送船スペースシャトルに装備品として載せ、宇宙空間を飛行中に必要な軌道決定や様々な演算、果ては乗組員の目覚まし時計として使われるまでに至った[9]ことだろう。スペースシャトルの11回目の飛行計画であるSTS-41-Cでミッションスペシャリストとして搭乗した宇宙飛行士のTerry Hartは、スペースシャトルの飛行計画で使用するHP-41CVのプログラミングを担当していた[10]。これら漏れ聞こえてくる様々な使用実績が、HP-41CVの販売台数を更に押し上げた。

なお、HPは、HP-41CV発売と同時に、先述のHP 82106Aを30ドル(約6,780円)まで値下げ、HP 82106Aの4倍である256レジスタ(1,792バイト)を1モジュールにしたQuad Memoryモジュール・HP 82170Aを95ドル(約21,500円)で発売し拡張スロットを3口空けられるようにするよう、それまでのHP-41Cユーザへ便宜を図ると共に、HP-41Cの定価は295ドルから250ドル(約56,500円)に、HP純正アプリケーションパックはそれまで定価75ドル(約17,000円)だったものは45ドル(約10,200円)に、45ドルだったものは30ドルに、それぞれ一斉に値下げを断行した。半導体技術の進歩と量産効果によるコスト低減もあろうが、ユーザの拡大(と囲い込み)の意味合いが強い施策である。

が、HP-41CVを発売したとて、内蔵メモリを使い切ってしまうユーザが減らないことに変わりは無かった。これほどまでに売れた理由は、HP-41Cの登場によりパーソナルユースであっても比較的大規模な数値演算を必要とする場面がそこここに出来上がったこと、HP-41シリーズが乾電池で駆動し[11]可搬である[12]こと、当時はまだパーソナルコンピュータが一般人が気軽に買えるような価格ではなかったことが大きい。〝世界初〟を謳うラップトップパーソナルコンピュータはToshiba T1100とされているが、これが発売されたのはHP-41CV発売から約5年半後の1985年4月で、価格も1,900ドル(約478,800円)と高価であり、費用対性能比では関数電卓が勝っていた。

さりとて、Nutアーキテクチャでは内蔵メモリをこれ以上増設できない…思案したHPは、HP-41CHP-41CVではHP 82181Aを別途購入・装着しないと使用できなかった拡張メモリ(補助記憶機構)を124レジスタ(868バイト)内蔵することにした。拡張メモリはファイルストレージとして機能し、ユーザが組んだプログラムをファイルとして保存できる。これにより拡張メモリを最大124 + 238 + 238 = 600レジスタ(4,200バイト)まで増設可能とした。更に、これだけでは芸がないと思ったのか、これまたHP-41CHP-41CVではアプリケーションパックとして別途購入・装着しないと使用できなかった拡張メモリを操作する機能(HP 82180A)や時計・タイマ機能(HP 82182A)など94関数も追加で内蔵することとし、単体で222関数を実装したRPN関数電卓へアップグレードすることにした。これがHP-41シリーズの三代目となる本機である。1983年10月1日、定価をHP-41CVと同じ325ドル(約75,700円)に据え置いて発売した。型名に追加した末尾のXはeXtensions(拡張)を示す。このアップグレードはHP-41CV発売以降の約3年間に進化した半導体技術が1チップあたりの集積度を向上させたために実現したもので、定価を据え置くことができたのも半導体技術の進化と同時に進行していた価格下落の賜物である。これもまた爆発的に売れ、7年1ヶ月もの長期間、HPのRPN関数電卓のトップモデルとしてラインナップされ続けることになる[13]

ユーザコミュニティと合成的プログラミング

HP-41シリーズについて触れる際に絶対外せないのが「ユーザコミュニティによる合成的プログラミングの創出」である。

HP-9100Aから始まったHPの関数電卓は、出自がホストコンピュータであること、出力される演算結果が精確であること、プログラミングが可能であることから、早くからそこここにファンクラブ然としたユーザコミュニティが形成された。その活動内容は、所属するメンバ同士によるRPN関数電卓の使用法に関する情報交換や電卓自体へのハッキングでほぼ統一されており、このような動きは他社の関数電卓ではあまり見られないものだ。開発・製造元であるHPも、市場に投入した製品に対する率直な意見を広範囲に拾い上げることができ、その後の製品戦略で参考になることから、この動きを拒否することはなく黙認していた。

HP-65で触れたPPC(Personal Programming Center)は、1974年6月にアメリカ・カリフォルニア州サンタアナを本拠として設立されたHP製RPN関数電卓ユーザコミュニティの大手で、その活動はHP-41シリーズが発売されていたこの頃にピークを迎えていた。このPPCが、HP-41シリーズが内蔵しているFOCALのプログラムソースコードを作成・編集するエディタ機能で「OSだけが使用するメモリ空間」を読み書きできるバグを発見したのは、HP-41C発売直後である。その後、これを故意に踏み抜き、メモリが保持している値(内蔵ソフトウェアROMからロードした演算命令のバイナリコード)を書き換えることで、HP-41シリーズのマニュアルで公開されている関数より遥かに高機能な演算やプログラミングが可能なことも明らかとなった。

あたかも試験管フラスコの中で複数の試薬を混ぜて自然界には存在しない化合物合成するかのように、電卓のメモリの中でメモリが保持している値を書き換えて内蔵ソフトウェアROMには存在しない演算命令を合成する様から合成的プログラミング (Synthetic Programming)と命名された[14]この一連の手順とプログラム技法は、HP-41シリーズのヘヴィユーザを中心に急速に広まっていく。しかも、製造・開発元であるHPはその実行を禁止せず、ユーザの自己責任とした。「AYOR (At Your Own Risk) であれば、どうぞご勝手に。その代わり、これを実行した結果どうなろうと、我々に文句を言わないでね」と見逃したのだ。

この様子と経緯を見たPPCは、HP-41シリーズユーザが誰でも気軽に合成的プログラミングを実行できるよう122個のFOCALルーチンを作成し取り纏めたPPC ROMの有償頒布を開始した。同人ソフトウェアなのでHPによるサポートなど一切無いが、頒布以降、HP-41シリーズのヘヴィユーザにとって必要不可欠なアプリケーションパックとして流布する。詳細はPPC ROMを参照されたい。

HP製RPN関数電卓史上2番目のロングセラー

こうして、HPのRPN関数電卓の歴史でも特筆すべき一大勢力を築くことになったHP-41シリーズは、初代であるHP-41Cの販売が終了する1985年1月1日までは三世代が同時に、初代の販売終了後は1990年1月1日まで二世代が同時にラインナップされ、最終的には本機が1990年11月1日で販売終了する11年5ヶ月に渡り販売され続けた。この記録は、1981年9月1日から現在まで販売され続けているHP-12Cに次ぐ第2位で、同時発売だったものの1983年4月1日で販売終了となったHP-34Cと較べるのも馬鹿らしくなるほどのロングセラーかつベストセラーである。そしてこのHP-41シリーズの成功は、その後に開発・販売されるHP製RPN関数電卓に多大な影響を与えることになる。

ここまでロングセラーとなるとユーザの裾野も広大となるからか、販売終了から30年以上経った現在でも人気が高く、どこかの国の軍組織で使われていたと思われる放出品[15]が大量に出品されることが間々あるなど、eBayをはじめとする中古市場やオークションサイトにも比較的大量に流通しており、入手性は良い。流通量としてはHP-41CVが最も多く、次に本機、最後にHP-41Cとなるが、その差は僅かだ。その中でも新品に近いものは高値で取引され[16]、非常に活発なユーザコミュニティも健在である。

まったくの余談だが、管理人はPPC ROMを装着した本機が「地球上で最強の関数電卓」だと考えており、管理人の手が届く範囲内には必ずこの組合せが置いてある。現在ではHP 82104AHP 82143Aを装着した10セットほどがあちこちに転がっている。

tan355226 [rad]=7507225.705 (εR=1.33×103)

(ln884736744π)2=42.99999997

スタック 3+1段
プロセッサクロック周波数 約400kHz (Halfnut 1LF5-0003)
使用電池 アルカリ単5形×4本 または HP 82120A
製造期間 1983年〜1990年
製造国 シンガポール
1983年発売時の定価 325ドル (約75,700円)

脚注

  1. 世界で初めて液晶ディスプレイを採用した電卓は、1973年6月発売のシャープ製ポケット電卓EL-805である。
  2. 例えば、演算結果が桁溢れ(算術オーバーフロー:本機ではOF[1]>9.999999999×1099)を起こした場合、7セグメント方式など数字しか表示できない機種ではE0oなどと表示するが、本機ではOUT OF RANGEと正確な理由を表示する。FOCALでプログラミングする際もプログラム名やメッセージをアルファベットの文字列が設定できる。
  3. Owner's Manual Vol.2には、本機の消費電流が「通常使用時で5〜20mA、電源ON後に何も入力しない時で0.5〜2.0mA、電源OFF時は0.01〜0.05mA」であると記載されている。
  4. HP-41CHP-41CVではThe HC-41C and HP-41CV calculators represent a totally new concept in the design of Hewlett-Packard calculators. In fact, because of their advanced capabilities, these calculators can even be called personal computing systems. とまで言い切っているが、本機ではThe HP-41CX is an advanced model of the HP-41 family of compact, handheld computers. と若干控え目な表現に書き換えられた。これは、本機の発売が1983年で、その頃には一部でパソコンが普及したからであろう。
  5. 机上設置型では1971年発売のHP-9810Aが、本機を含むHP-41シリーズと同様に3口のROMスロットを備えていた。またこれとは別に周辺機器と接続するためのI/Oスロットを4口備えていた。これらの特長から「HP-9810Aを可搬型にし、価格を抑え、パーソナルユースに堪えるようにしたのが、HP-41シリーズである」と、HP-9810AHP-41シリーズの類似性は頻繁に指摘される。この8年間で起きた半導体の技術の進歩と価格の低減がそうさせたとも言えよう。
  6. 後方互換性のみサポート。よって、前方互換性である「HP-41シリーズで作成・保存した磁気カードはHP-67/HP-97で読み込んで実行する」ことはできない
  7. 1レジスタ(7バイト)に「最長」7行のプログラムを格納できる。HP-41シリーズは演算命令が可変長なので、このような記載となる。
  8. 機体の大小にかかわらず、飛行機では燃料・貨客を含む総重量(ウェイト)とその重心の位置が非常に重要で、その機体にとっての平衡(バランス)状態を保てなければ安全な飛行も離着陸もできない。特にKC-135は空中給油機なので、離陸時は満載で88.452トンまで積載する「僚機への給油用のジェット燃料」が飛行中に急速に減るため、機体の重心も飛行中に大幅に移動する。よって、平衡状態を保つよう操縦し安全に着陸するには、「僚機への給油用のジェット燃料」の残量から、機体の重心がどこにあるかを常時演算し把握する必要がある。これは、民間航空機で乗客に対し「離着陸時は着席しシートベルトを着用せよ」と厳命している理由と同じで、離着陸時は機体がピッチ(前後)方向に傾くため危険というのもあるが、乗客に機内を歩かれると機体の重心が移動するため離着陸の操縦が著しく困難になるという理由も大きい。
  9. このときNASAはHPに、納品するHP-41CVに対して2点の改造を特注した。「クォーツ時計/タイマー/アラーム機能の実装」と「ACアダプタ差込口と拡張ポートの溶接による閉塞」である。HPはこれらに応え、前者は記録的な速さでタイマーモジュールを開発し内蔵、後者はHP-41CVへ静電気の出入りを防止する施策のため念入りに行われた。これら改造済のHP-41CVを受領したNASAは、更に独自に、取り外し可能な特注キーパッド・オーバーレイを追加、背面のゴム足は取り払い、使われていない表面という表面にベルクロ(所謂マジックテープ)を貼り付けた。搭乗した宇宙飛行士は各個人用に支給されたHP-41CVを宇宙服のどこかに貼り付けて活動し、それ以外の2台がスペースシャトルの計器盤に備え付けられた。
  10. スペースシャトルの初飛行6ヶ月前である1981年2月、Terry HartはNASAから「宇宙飛行士にとって最高の電卓を見つけよ」と依頼され、当時の最上位機種であるTI-59HP-41CVを比較検討、「英数字が表示できる」ことが決め手となってHP-41CVを採用した。その後HartはHP-41CVがNASAの要求以上のスペックであることに気づき、「軌道離脱プログラム」「タンクから燃料が消費されるにつれてオービターの重心を計算するプログラム(通称"CG")」「シャトルの地上軌跡を計算し観測対象の地表の点を特定するプログラム(通称"Landtrack")」などを組んだ。最も使用されたプログラムは「Acquisition of Signal(通称"AOS")」で、ミッション中は連続実行された。スペースシャトルと管制官の直接通信は13ヶ所ある地球局のいずれかの上空を通過する10分間しか行えず、シャトルが地球局の真上を通過しない場合はさらに短くなるが、AOSは地球局上空を通過し始める時にビープ音を鳴らし、信号喪失(Loss of Signal: LOS)までの残り時間を表示するものであった。
  11. なにより「市販の乾電池」で動くことが決定的である。それまでの機種のように専用充電池を購入せずに済むのでランニングコストの削減に繋がる。液晶ディスプレイを採用したからこそだ。なお、HP-41C附属マニュアルでは「9〜12ヶ月持つ」と記載しているが、これはHP製電卓で初の液晶ディスプレイを採用したことを強調するためのものと考えられる。1年半後に発売されたHP-41CVの附属マニュアルでは、早くもこのような記載は無くなった。本機附属マニュアルでも寿命については記載されてないが、長寿命であることに変わりはない。
  12. ほぼ同時期である1980年の日本では、HP-41シリーズと似たコンセプトで、主に工業高校生や高専・大学生向けに開発された独自の製品文化であるポケットコンピュータ(ポケコン)が発売されたため、HP-41シリーズの日本国内での実売台数は海外ほど伸びていないと想像される。そしてHPでも、事実上のポケコンとして、1982年にHP-75Cを、1984年にHP-75DHP-71Bを、日本の後追いで開発・販売したものの、これら2モデル3機種が「日本国内で売れた」という話は寡聞にして知らない。ちなみにHP-71BはHPが初めてPortable Computerを謳った製品で、その後、日本でも爆発的なブームとなり一部では悲劇も産んだ、MS-DOSで動くHP-200LX/HP-100LX/HP-95LXや、Windows CEで動くJornadaシリーズに続くこととなる。
  13. 言い換えると、「FOCALプログラム用に319 + 600 = 919レジスタ(6,433バイト)まで内蔵することで、ようやく、当時のヘヴィユーザの需要を満たせた」ことになる。それほど大規模なプログラムを組んでいたのだろう。
  14. これは計算機工学でいうプログラム合成 (Program synthesis)とは意味も動作もまったく異なる
  15. 出品者の国籍からするとアメリカかイスラエルの軍組織のようだ。これらの放出品は本体前面のHPのロゴが無く、頑丈そうな特殊なケースに納められているので一瞥して判る。
  16. いわゆるMIB(Mint In Box:元箱入り未使用品)であれば1,000ドルを下ることはなく、状態の良い中古の完動品であればHP-48SXHP-48GXより100ドル以上高値で取引される。拡張性や周辺機器の豊富さが取引価格を押し上げているようだ。もっとも、HP-41シリーズで本体の不動品が出品されることはあまり無い。感熱紙プリンタ磁気カードリーダライタといった周辺機器は不動品でも出品されるが、これらの大半はDIYで修理可能だからだ。