Panasonic HHC ~ 16KBプログラムカプセルの再現

2023/06/19

 eBayで見つけたレトロなコンピュータPanasonic Hand Held Computer(HHC) RL-H1400の修復を行いました。RL-H1400は、1982年に松下電器が米国および、欧州向けに充電電池駆動で、手のひらに乗るコンピュータとして発売しました。当初は、民生用・業務用の両面展開を目指したようでしたが、最も利用された用途は、米国保険業界の営業ツールのようです。様々な顧客条件に合った保険提案を即時、RL-P1004Aプリンタにプリントアウトし、販売増が期待できる営業ツールだったようです。これがeBayに出品されています。


RL-H1400の仕様:
・CPU: MOS Technology 6502(1.024MHz)
・ROM: 16KB
・RAM: 4KB
・Program ROM: 16KB, 8KB or 4KB x 3 Capsules(MaskROM or EPROM)
・Display: 26 Character LCD


RL-H1400は、電池駆動でも当時のパーソナルコンピュータ並みの性能(Apple IIも6502を採用)を発揮できました。これは、①コンパクトかつ、処理性能が高い、ROMベースFORTH言語によるOSの採用、②NMOSデバイスの消費電力を抑えるため、アクセスされたデバイスのみ電源を入れる電源スイッチングにより、低コスト・省電力・高演算性能を実現していました。当時NMOS全盛時代で、CMOSのMPUは、まだ価格・性能上の制約があったようです。


業務用として、Apple II上でSnapForthで業務用のプログラムを開発できるSDKが発売され、保険用営業ツールが幅広く開発されて、プログラムスロットには、最新保険商品のEPROMに書き込まれたプログラムが入れられていたようです。

民生用としては、各種プログラムカプセルも発売されました。プログラム言語として、SnapForth、SnapBasic、MS-BASIC、アプリケーションでは、Scientific Calculator、Portacalc、Teleconputingなどがあったようです。ROMカプセルですので、数は少ないものの、現存しているようです。これらのカプセルは、当時サンフランシスコのFriends Amis社で開発されたようですが、現時点では、Friends Amis社は存続していないようです。

そのため、保険用営業ツールで使用された、モトローラ社のMCM68764というEPROMを書き換えて流用しているようです。ただ、MCM68764は、8KB以下のカプセルにしか使えないません。16KBカプセルの場合は、27128系のEPROMを使い、24ピンに変換した例もあるものの、成功していないようです。


そこで、Panasonic HHCを蘇らせるため、劣化している内蔵NiCd充電電池をNi-MH電池に交換するとともに、16KBカプセルにもチャレンジしてみることにしました。

モトローラ社のMCM68764は、24ピン8K x 8(64Kbits)のEPROMですが、ピン数の制約により16KBカプセルに使える24ピンのEPROMは、現存しません。16KBに拡張するためには27128系のEPROMを使用するしかありませんが、MCM68764と同じように使用できるEPROMを探すことが必要になります。


では、なぜMCM68764が使われてたのでしょうか?その理由を調べるため、プログラムカプセル周辺の回路を下記のように確認してみました。


①CMOSの27128系のEPROMの場合、EPROMの電源スイッチがOFF時に、入力・出力端子に寄生ダイオードがあるため、アドレス・データバスから電流を吸い込んでしまいますので、システムとして動作できません。

②NMOSの27128系のEPROMの場合、MCM68764のように、電源スイッチングしても動作可能な製品と電源スイッチングを行った場合、アドレス・データバスの電圧によって、言わゆるラッチアップ現象(異常電流)が発生するものがあるようです。MCM68764の場合でも電源に0.01uFのコンデンサを取付け、電源の立ち上が遅くしてラッチアップを回避しようとしているようです。

従って、下記の条件を満たすNMOSのEPROMを探すことにしました。

条件1:28ピンDIPパッケージでは、スロットに入らないので、市場で入手可能なPLCCまたは、フラットパッケージのNMOS EPROMを探す

条件2:ラッチアップ現象が起こらないいか、28ピンDIPパッケージ品を入手し、24ピン変換基板を作成して動作確認を行う

NMOSの27128系EPROMを何種類か試してみました。
EXCEL製、XICOR製のNMOS EEPROMは、動作しませんでした。電源が安定するまで動作しない仕様のようです。次に、AMD製のNMOS EPROMを確認しましたが、動作しませんでした。その後、諦めかけていましたがTOSHIBA製のNMOS EPROM、TOSHIBA製TMM24128APを入手し、動作確認したところ、電源スイッチングに耐えることがわかりました。ラッチアップ現象が発生しやすい製品とそうでない製品との差は、各社の製造プロセス差やサブストレートバイアス回路の違いで発生しているのではないかと推察します。

TOSHIBA製TMM24128APにはOTPタイプのフラットパッケージ TMM24256AFがあり、市場に在庫があるようですので、カプセルスロットにちょうど入る専用基板を作成することにしました。TMM24256AFは、容量が32KBですので、16KBカプセル2個分を入れることができるため、'CHS-01B'というSO-typeのスライドスイッチで切替できるようにしました。最初の試作では、EPROMのA14を+5Vと0Vに切替できるようにしましたが、+5Vの時、プログラム実行中にハングアップしてしまいました。この現象は、何が起こっているのかはっきりわかりませんでしたが、対策として、+5Vを分圧して+3Vに落としたところ、問題なく動作しました。結果的には、ラッチアップ現象が発生する条件が発生したと思われます。

下記は、専用基板の使用部品です。
・TMM24256AFにEPROMライターで
 書き込みする。このとき、SOP-28用の
 書き込みアダプター(*)が必要になります。
・カプセルスロットに入るように、
 基板のバリをヤスリで削る
・SMD部品(抵抗・コンデンサは、
 1608mm 0603inchサイズ)を
 はんだ付けする
・TMM24256AFをはんだ付けする
・半田付け状態をルーペで確認する


・0.5mm角ヘッダーの黒いプラスティック
 部分を端に移動する
・0.5mm角のヘッダーはんだ付けする
・カプセル取り出し用の紐を取り付ける


(*)TMM24256AFは、幅11.8mmと広いタイプのフラットパッケージですので、「FP-28-127-07」または「OTS-28-1.27-23」という変換ソケットが必要になります。
今回は、入手難のため、「OTS-28-1.27-04」を分解・削り出して、無理やり幅広くして使用しましたが、非常に大変でした。(お勧めしません)







次の写真は、完成したカプセルです。設計上、TMM2464AF x 2、TMM24128AF、TMM24256AFを使用して、16KBカプセルを実現できます。詳しくは、回路図(後段の公開ZIPファイル中にあります)の注釈部に実装オプションの記載があります。























次は、そのカプセルをプログラムスロットに取付た状態です。



EPROMの書き込み・基板の組立・カプセルの接触状態に問題無ければ、プログラム名がメニュー表示されるはずです。

同じようにのこの基板を製作したい方(個人利用のみ、商用利用は禁止)は、
回路図・外形・ガーバーファイルを自己責任にて使用してください。
基板の発注先は、JLCPCBがお勧めです。下記は、切り外し前の基板外観です。