ポケコンGo!
- 2016/07/25 15:18
- カテゴリー:マニアックなおはなし, make:
前回までのあらすじ~
満身創痍でやってきたPC-1500の命を「神の手」を持つ天才外科医G-SHOESが救う。とても30年を経過したとは思えない美しい肢体に心を奪われたG-SHOESは,その中身をみて戦慄する。
むしばまれた内臓はすぐに手術が必要だった。
長時間にわたる手術は驚くほど順調に進んだ。終盤を迎え,いよいよ縫合と言うとき,「神の手」がほんの少しぶれてしまった。G-SHOESに悪い予感が走るが,立ち止まらないのが天才外科医だ。
やがて何事もなく手術室を出るPC-1500。誰もが手術の成功を疑わなかった。
しかし,麻酔から目覚めたPC-1500は,もはや元のPC-1500ではなかった。それまで動いていた,キーが動かなくなっていたのだ。
緊急再検査。結果はCPUと同じくらい大事なPIO,LH-5811の破損とわかった。そう,手元が狂った時に,LH-5811を傷つけてしまったのだ。
痛恨の失敗に悔やむG-SHOES。そして無邪気に微笑むPC-1500。一体どうすれば・・・彼女の命を救うには,もはや臓器移植しかない。
しかし,非常に特殊なLH-5811はほぼ入手不可能。かといってすでに存在自身が貴重となったPC-1500を,別のPC-1500を生かすために壊すなど,許されることではない。
知り合いのエージェントからもたらされた情報によると,LH-5811はなぜかオーストラリアに存在することが分かった。だが,費用や支払い条件など,その高い壁に断念せざるを得なかった。
どうする,G-SHOES?
そんなある日,LH-5811の機能の一部を肩代わりする,人工臓器の開発のアイデアを持ち込んだ男がいた。彼との共同開発に一条の光を見いだしたG-SHOESは,家族を顧みず,寝食を忘れて開発に没頭した。
G-SHOESの体力が限界を迎えるその直前,ようやくプロトタイプが完成,PC-1500は組み込み手術を待つ。
翌日の手術を控え「死にたくない」とつぶやくPC-1500。
しかし,神の手は彼女の命に届かなかった。目覚めたPC-1500を待っていたのは,相変わらずキーが効かないという,残酷で正直な現実である。
G-SHOESは病院を追われ,地位も名誉も家族も捨てた。
あきらめられない・・・隣で寝息を立てる美しいPC-1500を見ては,いつか復活させると心に誓うのであった。
そんなとき,突然ドナーが現れた。専用のプリンタCE-150である。CE-150はLH-5811を搭載するプリンタであるが,内蔵の充電池の液漏れにより,最後は壮絶な死を遂げることで知られている。
幸か不幸か,こうして電解液まみれで,すでに復活不可能なCE-150が目の前にいる。
手術開始・・・
直ちに緊急手術が行われた。CE-150から基板が取り出された。すでに腐食が進み,どうしても復活させる手段はない。LH-5811を慎重に取り外す。手が震える。
次にPC-1500のLH-5811を外す。すでに壊れたチップには未練はない。基板だけとにかく壊さないように,細心の注意を払って作業する。
そして,いよいよLH-5811の移植。寸分の狂いもなく,もとの場所に収まったLH5811を見て,G-SHOESは安堵した。電源の投入,よし,キーボードは正常だ。
そして,このCE-150に抱きかかえられた,もはや動かないPC-1500からLCDも移植され,長きにわたる手術は終了した。
病室で目覚めたPC-1500は,それまでの故障がウソのように,元の姿を取り戻したのだった。
----
なんかあらすじが長くなってしまったわけですが,PC-1500の分解掃除とLCDの修理を行った終盤に,不注意でLH-5811を壊してしまい,外部に同じ働きをする回路を考えて取り付けてみるも見事に失敗,結局壊れたCE-150からLH-5811を取り出して交換し,どうにか元の状態まで戻しました,というのが,前回までのお話です。
さて,PC-1500はPC-1501と違い,搭載メモリが非常に少ない機種です。内蔵されているRAMは,16kビットのSRAMが1つと,4kビットのSRAMが2つ,これに加えてLCDドライバ内蔵のVRAMが512バイトのみで,合計は3584バイトに過ぎません。
ここからVRAMやワークエリアとして1734バイトを差し引いた1850バイトがフリーエリアです。「MEM」と打ち込んで出てくる数字がこれです。
わずか1.8kバイトというのは,もうどうにもならないくらい少ないように思うわけですが,そうはいってもPC-1245など1486バイトですし,割り切ればなんとかなる容量ではあります。
ただ,PC-1245と違い,PC-1500は高機能,多機能な上位機種ですから,メモリがネックになってその性能が生かせないという事になってしまうと,残念な商品になります。
しかし,当時16kビットのSRAMというのは非常に高価で,私の記憶でもZ80の2倍ほどの値段で売られていたと思います。SRAMの4倍の容量が同じ世代のDRAMなので,当時超LSIと畏敬の念を持って奉られた64kビットのDRAMと同じ最先端だったことを考えると,さもありなんというところでしょう。
ですから,16kビットのSRAMを複数搭載することはどうしても出来ず,旧世代の4kビットを搭載することでなんとかしたのがPC-1500でしょう。メモリ拡張用のスロットも用意したので,あとはこっちでよろしくね,と言うことなんでしょう。
しかし後年16kビットのSRAMを4つ搭載したPC-1501が登場していることを考えると,いくらなんでもこの性能のコンピュータで1850バイトは少なすぎたという事です。
PC-1500のメモリスロットは1つだけです。ここに増設出来るRAMは16kバイトまでですので,合計19.5kバイトというのが公式の最大メモリです。
しかし,そこはもうちょっとシンプルに考えてみましょう。PC-1500のCPUであるLH-5801は8ビットCPUで,16ビットのアドレスバスを持ちます。ゆえに直接扱えるメモリは64kバイトです。Z80なんかと同じで,I/O空間には別の16ビットが割り当てられますので,最大128kバイトまで直接扱う事が出来ます。
メモリマップを見ていると,7600hから77FFhまでの512バイトがLCDドライバに割り当てられている以外は,特に他に割り当てられているデバイスもなく,RAMのエリアとして扱われているようです。
なら,0000hから7FFFhまでの32kバイトをとりあえず256kビットのSRAMで埋め尽くし,LCDドライバだけアクセスを分けるようにすれば,面倒な事を考えないでメモリを最大に出来るんじゃないか,そう考えたのです。
こうすれば,アドレスのデコードも簡単にできそうです。
考えた回路は,HC139を使い,2つ目のデコーダでスタンバイモードを示すBFOをGに,AとBにはA15とME0を入れて,0000hから7FFFhのデコード信号を作ります。
そして,これをもう1つのデコーダのGに入れ,AとBにはLCDドライバのCSをいれて,25kビットSRAMのCEを作ります。これならデコーダもワンチップで済みます。
あとは,4kビットと16kビットのSRAMを基板から外してしまい,16kビットの代わりに256kビットのSRAMを取り付けて,配線を少々変更するだけです。
作業はそんなに大変でもなかったのですが,4kビットのSRAMがDIPの大きなパッケージを強引に緬実装にしたものなので,作業はなかなか難しいものでした。
ドキドキしながら電源を入れますが,電流は動作時最大の電流で流れています。画面には何も出ませんし,動いている様子もありません。失敗です。
回路図と配線を再度確認すると,ミスが1つ見つかったのでこれを修正。しかしやっぱり状況は変わりません。ただ,アドレスバスの波形を見ると,明らかに変化があります。なんだか動きそうな波形です。
とはいえ,回路にも配線にもミスはなく,案外簡単に万策尽きてしまいました。
ということは,元々の考え方にミスがあったのかも知れません。あるいは,すでにどこか別の場所を壊してしまったのかも・・・嫌な想像がグルグルまわります。
しんどいなあと思いながら,,もう一度配線ミスを確認しようとテスターを当てていくと,なにやらA5がVCCとくっついています。もしやと思いよく見ると,やはりA5がショートしています。
ショートしているように思えた部分を綺麗にしてやると,ありがたいことにA5のショートがなくなりました。電源を入れると無事に起動します。やったー!
早速NEW0,MEMと入力すると,28474と返ってきます。
おお,27.8kバイトです。どうやらうまくいったようです。
簡単なメモリテストを走らせて,多分大丈夫という所まで来て,この数字が妥当かどうかを考えてみました。
まず,PC-1500が使うワークエリアとLCDのVRAMは,前述のように3584-1850で1734バイトです。これが必ず差し引かれます。なお,7C01hの1バイトもBASICのワークエリアになっているので,この1734バイトのうちに含まれています)
さらに,7C00hから7FFFhまではBASICでは使用できないエリアです。ここが1024バイト。そして7000hから75FFhの1536バイトも使用できないエリアとなっています。
ということで,32768-1024-1536-1734=28474バイトです。
逆算してみましょう。0000hから6FFFhまでは4096*7で28762バイト。これにVRAMの512バイトを加え,さらに7800hから7C00hまでの1024バイトを足して,ここから1734バイトを引けば,28474バイトです。当たり前ですが,一致しています。
実質的に,これ以上のフリーエリアを確保することは無理なはずで,BASICがそのまま扱えるエリアとして最大拡張したと言ってよいと思いますので,これで増設は成功したと考えてよいです。
さて,このCE-150にはPC-1500本体も一緒に付いてきたのですが,電源を入れても動きませんでした。正確に言うと,画面にゴミが出たり,おかしなビープがなり続けたりと,正常に動作しなかったのです。
見れば,CE-150から漏れ出た電解液がPC-1500の基板にも派手に染み込んでおり,パターンの腐食も出ている有様です。これはなかなか大変です。
幸いLCDは無傷でしたので,この個体からLCDを取り出し,メモリ増設を行った綺麗な個体に移植しました。
これでまず1台,綺麗なPC-1500が完成しました。
で,LCDが取り出された,壊れているPC-1500に目をやると,これを放置しておくのも可愛そうです。とりあえずLCDを取り付けて,電源を入れてみますが,やっぱり動きません。
基板の汚れを拭き取り,パターン切れを確かめようとテスターであたっているうちに,導通が復活したようで,電源を入れると動いてくれました。
なんか気持ち悪い復活ですが,主立ったICの足をハンダでなめてスルーホールにもハンダを流し込みます。
これで動くはずと電源を再度入れると,動かなくなっていました。悲しくなってきましたが,冷静になって顔を上げると,4kビットのSRAMの足にハンダのクズが付着していました。これを拭うと,ちゃんと動作するようになりました。
基板の腐食が原因ですから,たぶんそのうち動かなくなってくると思います。断線した部分が見つかれば,ここをジャンパで補修するので確実に治るんですが,こうして動き出してしまった以上,どこが切れていたのかもうわかりませんから,仕方がありません。
これで,PC-1500をめぐる顛末はおしまいです。
なかなか大変で,うまく動かず凹んでしまったこともありますが,うまく行き始めるとトントンと進むのも,またこの手の修理だったりします。どっちにしても,簡単にあきらめないで,その時々の自分のスキルで出来る事をコツコツやれば,最終的にはどうにかなるものだと思います。
それにしてもPC-1500,なかなかいいマシンです。大きいとか重たいとかありますが,この時代のマシンとしては高速で,メモリも多く搭載出来るし,キーも大きく使いやすいです。電源を入れればすぐに復帰しますし,当時このマシンを持っていれば,それなりに楽しかったろうなあと思います。
さて,もうポケコンはおしまいです。まだ持っていないマシンもありますけど,これ以上はもう切りがないし,言ってみれば派生機種みたいなもんですから,PC-1260やPC-1350なんかを手に入れる必要は,あまり感じていません。
ああ,でも,パソピアminiやJR-800があると,面白いかなあ。