[2002/09/21-2002/09/29]
32MB拡張メモリ、遅延回路付きが、できました *ちょっと追記
先回、なんとか128MbでPC110用32MB拡張メモリの目途が立ちましたが、あのままでは実用になりません。
今回は、三段跳びの最後のジャンプとして、きちんと標準的な"起動時の拡張メモリ部チェック回避用遅延回路(つまり、"RASマスク回路" 図2<クリック>)"を付ける事にしました。
更に、自動レジスタ変更用プログラムも必要ですので、それをPC110上で作ってみました。
お蔭様で(*注)、(まだまだ、不満足なのですが)一応、(全量32MB)実質24MBで正常動作するものができました。 w(^o^)w
(1枚では、"マグレ"と言う事もあるでしょうから、2枚作りました。両方共OK!図1)
−−−−−−−−−−−−−−−−−−−−−−−−−
遅延回路用C・Rのこと
最適な遅延時間を得るために、遅延用のC(容量:コンデンサとも言う)とR(抵抗)の値は、慎重かつ適切に決めるべきなのでしょうが、大体C・R積(≒時定数)が0.3〜0.4秒位あればいいらしいので、ジャンク箱から必要なC、R探し。
でも、なかなか小粒なのが見つかりません。1/4Wの抵抗は、大きいですね。(もっと小さいのは、無いのかねぇ?...)
以前に廃ノートPCの基板から取っておいた表面実装用の形状の小さい容量(1μFしか無かった)と、一番小振りだった抵抗(2.2MΩ 1/6W)とを使ってみる事にしました。
(しかし、時定数が2.2秒もありますよ。こんな適当な値でいいんでしょうか?...現状では上手く働いてますので、いい事にしましょう)
拡張メモリ接続図
プログラムの作成
TP230CsやPC110では、EChがレジスタ番号指定用、EDhがデータ出し入れ用、その内の02番と03番が各バンクのメモリ・サイズ指定らしいので、兎に角、アセンブラで"レジスタ設定プログラム"を組んでみる事にしました。(しかし、昔やったアセンブラ、もう忘れている事が多過ぎます)
最初、ソフト・リセット(もしくは、ホット・ブート)の方法が分からず、少し困りました。が、昔の(カビが生えてるような)参考書の内、P.Norton氏の「The IBM PC&PS/2」に、「19H=BIOSブート・ストラップ・スタートアップ・ルーチン」とありましたので、これを試用&使用。
("うん、よしよし!上手くリセットが掛かるぞ。" この後、ぽんたさんから、大変参考になるサイト(リンク切れ)を紹介して頂きました。それで、古いカビ生本は再びお蔵入り)
プログラムの中身
プログラムの粗筋ですが、1パス目でレジスタ設定をしてソフト・リセット、2パス目はそのまま通過させないといけないので、レジスタに先に設定した値が入っていればノーマル・リターンするようにしました。
(でも、エラー・リターンが思わしくありません。止む無く、動作がおかしかったら、"電源スイッチ、ブチ切りだ!"ってな仕様(?)となりましたが。つまり、何も対策せずってこと)
少しだけ汎用的にする(/見せる)ため、メモリ値を指定できるようにしてます。
プログラム名は、over20mで、実行書式は、
>over20m[.com] xx ;(xxは、20から39までの数、または/?。ただし、20,22,24,28,32MBにしかなりません)
これは、PC-DOS上で(多分、MS-DOSも)、手押しで(?)でも走りますが、autoexec.batに入れておけば、レジスタ設定が自動化できます。ただ、不幸にしてレジスタ内容が指定通り書き換わらない場合には、リセットの繰り返しになります。(その時はもう、電源を切るしかない!)また、2度目の立ち上がり時に、出て欲しいメモリ・カウントが上手く出ません。(あぁ、出させ方を知らないだけです)
動作状態は?
拡張メモリを装着した状態で、DOSでover20m 28を実行。再起動後に、DOSモードでemm386で確認した内容が、左図。(画面のBMP化には、金子さんのGSAVE.COMを使わせて頂きました。感謝!)
Win95の立ち上がり時間は、大体1分25秒〜30秒位です。
「トランジスタ技術 2002年7月号 P284〜」(参考:ぽんたさん処)によれば、このような再リセット方式だと「28Mバイト・メモリで、1分27秒」との事ですので、今の値なら御の字です。
(試しに抵抗Rを10MΩにしてみたら、約10秒位間延びします。それでも、我慢できなくはないですね)
立ち上がった後での、Win95の動作は、安定で良好。(比較評価などは、いずれまた)
尚、今回の拡張メモリ板は、32MB設定で、Win95が動きませんでした。(16色になるだけかと思ってましたが、例外エラーの連続で、最後はドツボ(奈落の底)へ!)だから、28MB設定にしてます。
*追記:実は、32MBでも、16色でWin95が動きました!先に28MB位で16色に直しておいてから、32MB設定にし直して立ち上げないといけないのに、そうしていなかったためです p)x_x(q (でも、16色は味気ないので、使う気がしません)
*注 謝辞.
ぽんたさんには、32MB作成に関して、あれやこれや(アドバイスや情報の紹介など)で、随分お世話になりました!
目盛屋さん(HeroHeroさん)処(リンク切れ)では、32MB化記事など、幾度となく参考にさせて頂きました。感謝!
プログラムのサービス.
当レジスタ設定プログラムを試してみられるなら、どうぞ!ただし、損害不担保 ・・・
暴走した場合、(マシンが壊れる事は無いと思いますが、)どのような事が起こるかは、まったく不明。
(尚、もしソース・ファイルに興味がおありなら、メールでお問い合わせ下さい)