エントリー

2011年01月11日の記事は以下のとおりです。

1993年10月1日に改造したPC-8201

 HC-20がめでたく修理が終わって,まるで定年退職した団塊の世代が,手持ちぶさたでボーっとしているような,なんだか穴の空いたような時間を過ごしていた年始(いや,決して暇というわけではなく,実家から持ち込んだ本のスキャンにしても映画を見るにしても,いろいろすることがありすぎて大変なのはこれまで通りです),ふと類似機種のPC-8201の状態が気になりました。

 PC-8201はHC-20と並び称されるハンドヘルドマシンで,大型のLCDにフルサイズのキーボード,単三電池4本で駆動され,ワインレッドやホワイト,シルバーといったカラーを纏い,それまでのパソコンとは一味違ったデザインに,雑誌の広告などを見て「かっちょいいなあ」と思った人も少なくないでしょう。

 なにせ当時,電池駆動の出来るハンドヘルドマシンを作ろうと思ったら,電流をバカ食いするN-MOSやTTLのICを使わず,いかにCMOSのICで作るかが最初のハードルになります。今でこそほとんど全てのロジックICがCMOSになりましたが,1980年代初頭,CMOSといえばTTLの数分の1の速度しか出ない,低消費電力だけども超低速なICだったのです。

 しかし1980年代の中頃になると,TTLなみの速度を実現したハイスピードCMOSが登場し,一気にICの勢力図を塗り替えていきます。時を同じくして,メジャーなCPUやLSIが次々とCMOSで作り直され,消費電力が劇的に下がりました。

 ただ,HC-20やPC-8201,あるいはポケコンの時代というのはまだまだCMOSになっているLSIが少なかった時代ですから,Z80や6809でハンドヘルドマシンを作ろうと思っても無理な話でした。

 当時,CMOSになっていたCPUとしては,HC-20の6301,PC-8201の80C85くらいのものです。そうそう,X-07は意地でもZ80にしたかったのでしょうね,レアなZ80互換のNSC800を使っていました。

 PC-8201では,CPUに沖電気の80C85を使い,RAMにはHM6117が4つ搭載されたCMOSのSRAMモジュールを2つのせて,合計16kByteをバッテリバックアップしていました。ROMもCMOSのマスクROMで,これは1つで32kByteです。

 周辺は,80C85のファミリICである81C55でタイマとパラレルインターフェースを用意し,当時貴重なCMOSのUARTであったIM6402でRS-232Cを標準装備していました。そうそう,RTCにはuPD1990を採用しています。

 カスタムLSIなどは全く存在せず,これらLSIを繋ぐグルーロジックは,これもまた当時の定番だったTC40Hシリーズを使っています。RCAの4000シリーズよりは少し速く,TTLとピンコンパチな40Hシリーズは,後に74HCシリーズが出てくるまでのほんの数年間,低消費電力のロジックICの舞台に立っていました。

 こんなPC-8201ですが,いろいろなエピソードが知られています。まず有名なのは,京セラの設計によるマシンであることで,オリジナルはKYOTRONIC85という名称でした。これがNECにいくとPC-8201になり,タンディのTRS-80model100やオリベッティのM10という超カッコイイマシンとは兄弟機にあたるわけです。

 このマシンをけしかけたのは,かの西和彦さんで,偶然飛行機で隣り合わせた京セラの稲森さんに理想のコンピュータを懇々と説いて,登場したマシンとも言われています。

 もう1つ,この兄弟に共通するBASICは,ビル・ゲイツが最後にコードを書いたという伝説もあります。これを最後に直接コードを書くことをせず,以後はマネジメントに専念するようになったという話ですが,その点ではビル・ゲイツにとって感慨深いマシンだったのではないでしょうか。

 PC-8201はそうでもなかったのですが,TRS-80model100は新聞記者が使うマシンとして大ヒットしたらしく,英文タイプライタ機能で文章を書き,音響カプラを通して電話で原稿を送るという,30年も前にしてはなかなか先進的な道具として活躍したそうです。

 私個人の話になると,このマシンを見たのは確か小学生の時で,図書館で借りた初歩のラジオの表紙で見たのが最初だったように思います。実物は当時見たことはなく,その後何度か雑誌の広告で見たくらいですが,キーボードや色の具合がPC-6001mk2にどことなく似ていたので,親近感はありました。

 ポケコンがPoorman's Computerだったのに対し,HC-20にしてもPC-8201にしても,10万円中頃の,立派な高級機種の1つだったわけで,貧乏中学生にとっては両機種が憧れのマシンであったことは否めず,ずっと心に残り続けることになります。

 そして1993年,二十歳そこそこで偶然手に入れたPC-8201は,完動品ではありましたが付属品も何もない状態で,私のコレクションに入りました。まだ新品で説明書が買えた時代だったので手に入れましたが,特に何かをしようということはなく,今も私の手元にあります。

 当時も今もそうですが,手に入れたマシンは分解掃除を行い,必要に応じて修理をします。可能ならメモリを最大限に増設して,単三で動作するマシンならエネループで動くようにもします。こうした改造は邪道という気もしますが,一方で最新の技術で動かし続けることを私は重視しています。これはHC-20の修理の時にも書きましたね。

 PC-8201を手に入れた当時も,RAMを64kByte増設しました。もともと付いている16kByteのSRAMを外し,代わりに256kbitのSRAMを2つ搭載し,標準のSRAMのフル実装と,オプションのBANK2をフル実装しました。

 PC-8201は当時としてはなかなか意欲的なマシンで,標準搭載の16kByteにもう16kByteを増設するだけではなく,バンク切り替えでもう32kbyteを内蔵可能,さらに拡張スロットに32kByteのカートリッジを差し込んで,トータル96kByteのRAMを持つ事が出来ました。ROMも標準の32kByteにバンク切り替えでもう32kByteを内蔵でき,しかも拡張スロット経由で64kByteのROMを搭載できたので,メモリは上位機種に匹敵するほど搭載できました。

 カートリッジスロットを潰すのはおしいので,当時の私は内蔵SRAMをフル実装することを目指して,手持ちのuPD43256を2つ使って改造をしたのですが,なにせ当時のことですから大きな28ピンのDIPですし,PC-8201の回路図も技術情報も持ち合わせておらず,悪いことに私の技術力も幼稚園並み。

 単純にRAMモジュールのピン配置を調べ,43256の端子を線材でハンダ付けして繋ぐだけで済ませたところ,動作は正しくするのに,やたらと電池が早く切れます。あわてて調べると,電源OFF時にアドレスデコーダの出力がLowのままになっており,これをそのままSRAMのCSに繋いでいたためSRAMがスタンバイにならず,数十mAの電流を消費していたことがわかりました。

 そこで電源OFF時にはCSがHighになるような対策をして,現在に至っているという記憶があります。

 うーん,回路図もなく,知識も経験もなく,適当に切った貼ったで偶然動いて「これでよし」とした記憶しかなく,なんだか心配になってきました。

 そこで,とりあえず当時どんな回路にしてあったのかだけまず調べて,必要に応じて現代の技術で改造し直すことにしましょう。

 本体を開けてみると,シリコンハウス共立のビニルの小袋から,フラットケーブルがどばっと出ています。小袋には「64K SRAM 1993.10.1」と汚い字で書かれています。今から17年以上前の,自分の改造した基板を見て,今と大して変わってないなあとため息をつきます。

 とはいえ,前述の通り28ピンのDIPが2つ,メンテナンス性を考慮してのことでしょうが,ご丁寧に16芯のフラットケーブルの先にICソケットに差し込めるコネクタを圧着したものを2本使って,SRAM基板とメイン基板を繋いでいます。

 SRAMの基板はマッチ箱よりも大きいですが,PC-8201はスカスカですので,ビニルの小袋を2枚重ねて,セロテープでメイン基板に貼り付けてありました。いい加減ですね。

 ちなみに小袋には,シリコンハウス共立,テクノベース,そしてシリコンハウス横浜の3つが印刷されています。いやー,懐かしい。

 さて,当時の回路を追いかけていきます。

 まず,アドレスバスとデータバスはそのまま繋がっています。ただしA14だけは,なにを勘違いしたのかA14から取らず,A14とIO/MをANDした信号を使っています。別に意図があったわけではなさそうです。

 OEはSRAMモジュールのOEにそのまま繋いでいますが,これはPOWERという,電源OFFでHighになる信号が電源ブロックから繋がっています。SRAMモジュールに搭載されたSRAMは6117ですので,これはOEではなくCEです。故に電源OFF時にはスタンバイになるわけです。

 CSは,どうやって調べたのか,アドレスデコーダの出力を繋いでいます。SRAMモジュールからはCEが4本出ており,アドレスデコーダから出ているバンク単位のアクセス信号を,それぞれのSRAMのCEへと40H138でデコードしています。なので40H138の入力からたどっていったのでしょうね。

 このバンク単位のアクセス信号は,電源OFFでLowになる信号だったわけですが,オリジナルの回路ならもう1つのCEが電源OFFでHighになる信号と繋がっていて,問題なくスタンバイになってくれます。

 しかし,uPD43256のOEは,これをHighにしたところでCSが優先ですから,スタンバイにはなりません。今なら何でもない話ですが,当時の私は大弱りだったことでしょう。

 電源OFFでHighになる信号が見つからなかったとみえて,S-8054ALBという電圧監視用ICを使っています。この出力を反転し,アドレスデコーダの出力とANDしてありました。確かにこうすればSRAMのCSを電源OFF時にHighにすることが出来ます。

 場当たり的とはいえ,一応動く回路に仕上げてありますし,これが回路図無し,解析だけでやったことだという話ですから,まあ若いときの勢いというのは恐ろしいものです。特にバンク切り替えのあたりは,ろくな資料もないのに,我ながらよーやるわ,って感じです。

 実は,これでもしもカートリッジに増設するSRAMまで内蔵するようなことを考えていたら,はまっていたことは間違いありません。というのも,内蔵のメモリのバスはバスバッファで区切られていて,カートリッジへのアクセス時にはこれがOFFにされてしまうからです。

 アドレスデコードの信号を見つけても,このバスバッファを動かす必要があり,この改造はなかなか難しかったはずです。当時の力量でこなせるだけの改造でとどめてあったことも,成功の一因でしょう。

 そんなこんなで,なにせ基板が大きく分厚い上,もっと綺麗な方法で改造できるはずだと考えた私は,ある意味貴重なその回路を外し,新しく組み立て直すことにしました。HC-20でも使ったMB84256を2つもしくは3つ使い,余力があればカートリッジの増設分まで内蔵した,フル実装96kByteのRAMというスーパーマシンを作ってみようかと思います。

 ちなみに消費電流ですが,電池端の電圧が5.85Vの時,動作時は93mA,スタンバイ時は185.5uAほど消費していました。スタンバイ電流についてはせめてこの1/3にはしたいものです。

 ということで,具体的な回路の設計を進めていますが,回路図を手に入れて見ていると,PC-8201はどうも無駄な回路がたくさんあるのです。SRAMの周辺だけでも,IO/Mなど何度も何度も複数のゲートに入れられています。最終的にそれらが1つにまとまってしまう場合など,どこかで一度だけいれてやれば済むような回路でも,複数段にわたって入っていたりするので,無駄だなあと思ったりします。牧歌的な臭いさえ感じます。
 
 最初,アドレスデコーダを作り直すつもりで,これらの信号を素直に入力していましたが,もっとシンプルに作れそうな感じです。カートリッジのRAMを入れなければ,ORゲートが2つで増設出来そうなところまでは,見えてきました。

 あとは時間を取って実際の改造をするところですが,もう少し回路を練りたいなあと,考えているところです。

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2011年01月

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed