HP 48 シリーズ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Camera-photo Upload.svg 画像提供依頼
  1. HP 48S
  2. HP 48G
  3. HP 48G+
画像提供をお願いします。2016年12月

HP 48 シリーズヒューレット・パッカード社(HP社)が開発したプログラミング可能なグラフ関数電卓である。HP-28 シリーズの後継機種である。

1990年~2003年の間に製造されていた。2003年に製造終了するとHP 49/50 シリーズに置き換えられた。

HP 48SX
 HP 48SXのカードポート
HP 48SXのカードポート(拡張スロット)。機種名にXの付いた機種だけがこのようなカードポートを持つ。
 HP 48GX
HP 48GX
 HP 48GX
HP 48GXを側面から見たところ

概要[編集]

HP 48 シリーズは逆ポーランド記法入力方式とRPL(Reverse Polish Lisp)プログラミング言語を搭載しており、1990年~2003年まで製造された。

HP-28 シリーズと比べて液晶画面の大型化(137×32画素 → 131×64画素)が行われている。さらにHP-28 シリーズの欠点であった外部インターフェースの欠如も改善され、シリアル通信と赤外線通信が可能である。速度も向上し、機能も増えている。

シリーズ全機種として HP 48S, HP 48SX, HP 48G, HP 48GX, HP 48G+がある。 GモデルはSモデルの改良版を意味している。 Xの付いたモデルはスペシャルRAM(拡張メモリ)とROMカード(ソフトウェアアプリケーション)によって拡張できる。 SXとSモデルの内蔵メモリの容量は同一であるが、拡張性が異なる。 GXモデルはGモデルよりも内蔵メモリがさらに拡張されている。 G+モデルは内蔵メモリのみを搭載しており、スペシャルRAMやROMカードの拡張はできない。

注意するべき点は、HP 48gII(2004年)はHP 48 シリーズではなく、HP 49g+に近い機種であるということである。

HP 48 シリーズのために開発されたハードウェアアーキテクチャはHP 38Gの元になった(ただし、HP 38GはHP 48 シリーズと大幅に異なるユーザーインターフェースを採用している)。HP 48 シリーズのハードウェアとソフトウェアの設計はHP社の他の電卓の影響を強く受けている。特にHP-18C英語版HP-28 シリーズから強い影響を受けている。

HP 48 シリーズはHP-28 シリーズのようなクラムシェル型のケース(折りたたみ式のケース)を採用しなかったので、片手で持ちやすくなった。しかし、その副作用でキー数が大幅に減ることになった。HP 48 シリーズのキー数は49個であり、HP-28 シリーズの72個(そのうち文字入力専用キーが35個)から大幅に減っている。HP 48 シリーズの方が機能が多いにも関わらずキー数が減ったのである。その結果、少ないキーに多くの機能を割りあてる必要が生じたため、シフトキーが1種類から3種類(アルファベットキー、左シフトキー、右シフトキー)に増加している。このことによって操作性がかなり煩雑になったのは否めない。

モデル一覧/販売開始〜製造終了期間[編集]

最初のモデルHP 48SXは1990年3月6日に発売された。

  • HP 48SX : 1990年〜1993年
  • HP 48S : 1991年〜1993年
  • HP 48GX (F1895A) : 1993年〜2003年[1]
  • HP 48GX ASEE : 1993年 ("1893 ASEE 1993 Shaping our world - Century II"[2]と名付けられた記念モデル)
  • HP 48G : 1993年〜2003年[1]
  • HP 48G+ (F1630A, F1894A) : 1998年〜2003年[1]

技術仕様[編集]

全モデル共通仕様(一部Xモデルのみの仕様を含む)[編集]

  • CPU : HP Saturn
  • 画面解像度 : 131×64 画素
  • 通信ポート : 4ピン RS-232 (シリアルポート)あるいは赤外線ポート(IrDAではない)
  • データバス幅 : 8bit(外部アクセス時)
  • 最大アドレス幅(4bit単位) : 20bit
  • 論理アドレス空間 : 512KB
  • 最大レジスタサイズ : 64bit (ワーキングレジスタとスクラッチレジスタ共通)
  • 利用可能なカードポート数 : 2(Xモデルのみ)
  • 拡張カードピン数 : 40(Xモデルのみ)

HP 48S/HP 48SX 仕様[編集]

  • CPUクロック周波数 : 2 MHz
  • メモリクロック周波数 : 2 MHz
  • CPUコード名 : Clarke (Saturn 1LT8 core)
  • 通信プロトコル : シリアル通信はKermitプロトコル、赤外線通信は独自方式
  • 内蔵ROM : 256 KB
  • 内蔵RAM : 32 KB
  • 拡張カード1枚当たりの最大追加メモリ : 128KB (48SXのみ)
  • ROMバージョン : A, B, C, D, E, F, [3][4] J

HP 48G/HP 48GX/HP 48G+ 仕様[編集]

  • CPUクロック周波数 : 3.68 ~ 4 MHz (一般的には4 MHzとされている)
  • メモリクロック周波数 : 2 MHz
  • CPUコード名 : Yorke (Saturn 1LT8 core)
  • 通信プロトコル : シリアル通信はKermitあるいはXmodemプロトコル、赤外線通信は独自方式
  • 内蔵ROM : 512 KB
  • 内蔵RAM : 32 KB (48G) または 128 KB (48G+/48GX)
  • 拡張カードポート1の最大追加メモリ : 128KB(48GXのみ)
  • 拡張カードポート2の最大追加メモリ : 4 MB (48GXのみ。一度にアクセスできるのは128 KBだけでバンク切替が必要)
  • ROMバージョン : K, L, M, P, R

英語版記事によると、温度に従ってCPUクロック周波数が変化するという主張がある。

HP 48G シリーズ設計チームの技術者の一人であるデイヴ・アーネット氏によると、4MHz CPUのクロック周波数は2種類あるという。一つは仕様に近くだいたい3.93~3.94 MHz付近であり、拡張可能モデル(48GX)のために用意された。もう一つは仕様よりもわずかに低く、拡張不能モデル(48G)に使われた。最終的には、拡張不能モデル(48G)も改良されて4 MHzに近いクロックのCPUを装備するようになった。温度の影響はほとんど無視できるとのことである。

以上のCPUクロック周波数のことは英語版記事によるが、出典が不明確である。

プログラミング[編集]

RPLについてはRPL (プログラミング言語)を参照

HP 48 シリーズはスタックベースプログラミング言語RPLをサポートしている。RPL (Reverse Polish Lisp) は逆ポーランド記法 (Reverse Polish Notation) とLisp言語を組合せた言葉と考えられる。ただし、実際の文法はForthに似ている。

RPLはスタックベースプログラミング言語にリストと関数の概念を追加しており、評価していないコードを引数として関数に渡すことができる。あるいは、関数が終わる時にスタック上に評価していないコードを置いてそのコードを呼び出し元に返すこともできる。

RPLは2つに分類できる。User RPLSystem RPLである。

User RPLはユーザーが電卓上で直接プログラミングできる。

System RPLは外部のコンパイラが必要である。このコンパイラはサードパーティのユーティリティを使えば、電卓上で実行できるかもしれないが、通常はPC上で実行する。[5]

2つの言語は低レベルな操作ができるかどうかで異なる。

User RPLは引数チェックをしないコマンドを隠蔽している。その結果として電卓をクラッシュさせることはない(それゆえにSytem RPLよりも低速度である)。

一方でSystem RPLのプログラムが不正な引数でコマンドを実行すると、たいていの場合、電卓がクラッシュし、メモリの完全リセットが必要になる。

HP 48 は機械語で直接プログラムすることも可能である。

エミュレーター[編集]

関連項目[編集]

HP Saturn(HP 48 シリーズのCPU)

RPL言語

外部リンク[編集]

出典[編集]

  1. ^ a b c "HP 48G Series – User's Guide" http://www.hpcalc.org/details/3937
  2. ^ 「1893年に創設され1993年の今日まで続くASEE(アメリカ工学教育協会)は2世紀目も世界を作る。」のような意味であろうか。ASEEが1993年に創立100周年なので、次の100年(2世紀目)も活動するということだろう。
  3. ^ "HP 48G Series – Advanced User's Reference Manual" http://www.hpcalc.org/details/6036
  4. ^ "HP48 Machine Language" http://www.courbis.fr/Data/Books/Pdfs_72/hp48ml/hp48ml_72x72_001_062.pdf
  5. ^ "Programming in System RPL" http://www.hpcalc.org/details/5142