[0201013]
32MB拡張メモリを、改善しました
PC110で、手製16MB,32MB拡張メモリを使った際に起きるFDの読み書き不具合が、AND(アンド)ゲートを追加する事で、解消できました。(ノーベル賞レベルからは、遥かに遠い・・・)些細な改善ですが、追加ゲートの実装の仕方も含めて、結果は一応満足できるものになりました。
これで、隠れているかもしれない不具合も、一緒に抑え込めるだろうと思っています。
不具合遭遇事情
本来PC110はポータブル機ですから、PCカードやCFあるいはLANなどを活用していれば、普通FDDなどを使うケースは稀で、こんな不具合にはまず出会わなかったでしょうし、出会ったとしても使用頻度が低いので、多分無視された事でしょう。
ところが、当苑は、そうした世間の常識から少々逸脱していて、ポトリにFDDをくっ付けるなどして固定運用を主にしているもので、即刻出会ってしまい困惑状態でした。(まあ、FDを使わなければ、何の問題も無いのですが)
−−−−−−−−−−−−−−−−−−−−−−−−−
着手に至るまで
不具合原因を推測するに、通常は拡張メモリはワード単位でのアクセスなのに、FDCの制御用データを(拡張メモリ部に/から)収納/取出しする際にバイト単位でやっているのではないか、それだと*UCASだけでは不十分だから不具合が発生するのだろう、と考えていました。
CAS信号を使う方法を考えられたHeroHeroさん(Link切れ)も、【超人PCの 32MB 化】(LINK切れ)で、本来は*UCASと*LCASの両方を合わせて*OE入力にするのが望ましいと指摘されています。
それなら、さっさと*UCASだけでなく*LCASも合わせて*OEに繋ぎ込む実験をしてみれば分かるのですが...
でも、部品入手や配線の面倒さもあったので、実際に確認実験を始めるまでに、かなり月日が経ってしまいました。
今回の着手は、32MB拡張メモリを作るのに必要な74VHC86を思い切って購入したのが切っ掛けになりました。ついでにその他のゲートICも買えたので、やってみる事にしたわけです。(実験に取り掛かるにも、"切っ掛け"や"勢い"が必要?)
接続図.
改良した回路の接続図は下図の通りで、注目箇所は、図の左側中央の74HC08の箇所です。
ゲートICの選択
*UCASと*LCASの両方を合わせた出力を得るのに、ANDゲート(74HC08および74VHC08)を使いました。
(ANDを使えば、両方どちらの信号がLowになっても、出力として必要なLow信号が得られますし、両入力がHighなら、出力は出ずHighのまま、というわけ)
これには、あまり高速応答するゲートは必要無いのですが、一応HC、VHC両方のタイプを使ってみました。(どちらも、特に変りなし。と言う事は、どちらでもいいってコトでしょうね。因みに、VHCの伝達遅延時間は、HCの半分以下、つまり2倍以上速いんだそうです)
尚、拡張メモリ部の電源電圧3.3Vに対応させるため、許容電圧値が低い方まで伸びているHC、VHCタイプ(2〜5.5V)を選んでいます。(実は、当主自身、電源電圧の確認はしていませんでしたが、先程測ったら、3.45Vでした)
74VHC86については、*RAS2と*RAS3を通す側は高速性が必要だろうと思ったので、HCでなくてVHCにしてあります。(興味はありますが、74HC86では、テストしていません。・・・・・後日、偶々間違ってHC86を使ったら、動きませんでした。やはり、遅速タイプでは駄目なようです)
取付けと配線
このANDゲートの取り付けは、2個のメモリ・チップの間(ここが、ミソ!)。
下でチップ・コンデンサが邪魔しているので、完全には落とし込めませんが、それでも本体に装着した際の浮き上がりを少なくするのには、かなり有効です。
それに、この位置だとVccやGNDが取り易く、また比較的楽に配線できるのも、いい点です。(不格好なのは、仕方ありませんけど)
配線束は、要所々々を糊などで固定するのが望ましいのかも知れませんが、半田のフラックスなどが完全に取り除けていないので、糊が剥がれる可能性もあります。それが外れて線に負担を与えるのも嫌だったので、敢えて固定はしていません。
結果の確認作業
対策メモリ板が、1枚仕上がったところで、確認してみました。その方法は、Win95で書き込んだ内容を、PC-DOSで目視でチェック。またその逆もやってみました。
いずれの場合にも、FDの内容が壊れている様子はありませんでしたので、成功でしょう。
(で、残り2枚も処置しました。3枚目辺りになると、手捌きも軽やかに♪♪...やっぱり、"勢い"が必要!)
一件落着?
これで、PC110の拡張メモリ・シリーズ(?)は、ほぼ完了...のはずなんですが、今BIOSを"逆汗"中。
実は、BIOSが、メモリ・サイズを調べる手順・手法を知りたいと思っているからです。
ぽんたさん処の24MBメモリなどでは間違った容量で認識されるらしいので、その原因などを調べてみたいし、また32MB拡張メモリで再リセットせずに28MB設定ができないものか等々、未だ興味が尽きないものですから。
(しかし、BIOSのそれらしい箇所、分析力不足もあって、やっている事がよく分かりません。この場所(F000:3835〜)とは違うのかなぁ?)