PC110 ct65535f,w 目印 識別 [to English Note]
CF(のドライブ#0)に「TMBM」を組込んで、「マルチ・ブート・メニュー」を"TFT-LCD画面"に出せるようにしたが、このCFを、"STN-LCD"や"FSTN-LCD"の方で使うわけには行かない。(図1)
でも、私の場合、多種のCFが混在しがちなので、実験中に、間違えて使ってしまうことが多いので、起動時に仕分けするようにした。
そして、そこでフラグを立てて、後で使う「ct65535x.exe」の有効・無効を決める目印にした。(図2[クリック])
そのフラグを検知を出来るようにしたものが「ct65535f.exe」なのだが、これは「ct65535e.exe」に、"目印検知"と"脱出機能"を入れただけ。
(私は、"バージョン管理"が下手糞なので、このように名称を変えることで、間違いの難を逃れたいと思っている)
−−−−−−−−−−−−−−−−−−−−−−−−−
+++ 小パッチ・ルーチン +++
Moonlightさん作成の「VPATCH」のような堅固な"レンガ"ではなくて、本当の小パッチだが、"フラグを見て脱出の可否を決めるだけ"だから、プログラムは至極、簡単!d(^^;(図3)
実は、その"フラグ"は、ビデオ・チップ「C&T65535」の中のレジスタの一つなんだが、"何にでも使っていいよ!"と置かれているようなので、(厚かましく、)利用させて貰っているわけだ。
(本音は、自由に使える"入力ポート"が1本、LCDのFPCに接続されていれば、ハードウェア的にTFT-LCDかSTN-LCD化を識別出来るのだが、確か、全部が"出力端子"だったと思う)
まぁ、今回の目論見は、上手く行ったようで、「マルチ・ブート・メニュー」が出る前に'l'か'L'キーを打てば、"TFT-LCD"を選んだことになり、以降は、「autoexec.bat」に置いた「ct65535f」が有効になる。
図4[クリック]は、(DOSモードで)"右寄せ効果"が働いている状態の「Win98」起動時の様子。
(ただ、この様子も、やがて"Winモード"になると、右端が欠けた状態になる...実は、未だ「ct65535w」の方には、検知・脱出機能は入れていないので、"STN-LCD"マシンの方で使わないようにしているが、早急に手直しをしたい)
[令和三年四月二十二日(2021/04/22)]
PC110 ct65535f,w 目印 識別 [to English Note]
「Win95」, 「Win98」で"WVGA-TFT-LCD"の"画面の右寄せ"をする為には、「ct65535w.exe」を使わないといけない。
これの動作には、「DriverLINX」の援助が必要なのだが、良く理解出来ていなくて、始めは少しトラブった。(更に、「MSVBVM60.DLL」と「OLEAUT32.DLL」も必要だが)
それの「DlPortWrite(/Read)PortUshort」を、私は"バイト単位"だと勘違いして使っていたのだが、フラグ(の値)が正しく読めずに、ゼロばかりを得ていた。
実は、"バイト単位"には、「DiPortWrite(/Read)PortUchar」を使わねばならないことに、後で気が付いた。
それは、"サンプル・モデル"を組み込んで、実際のI/Oでポートの値を調べてみたことから分かった。(図4[クリック])
Boot時にセットしたフラグは、「Win95」や「Win98」を起動した後でも、ちゃんと「80h」や「00h」が残っていた。
ということは、私のプログラムの組み方が悪いという結論が出て、調べ直したら、上記のような違いに行き着いた。
それを修正したら、上手く働くようになった。フラグを見て、それが00hだったら、即刻終了する。(図5)
もし、フラグが「80h」であれば、次にFormをロードして、TFT用初期値をセットした後、待機状態になる。
今回、仕上がったものは、「ct65535w++.zip」。
+++ Win95、Win98用 +++
今、「PC110」で再挑戦しているのは、無線LAN系を整備して、"インターネット閲覧"をすることなのだが、どうやら少しは見られるものが有るらしい。愉しみだ!
それで、「Win95」、「Win98」を早く整備したかった。
今回の「ct65535w」がフラグを識別出来るようになれば、CF群を、"WVGA-TFT-LCD"用と"VGA-STN-LCD"用とに分ける必要が無くなるし、「マルチ・ブート方式」も、問題無く使えるだろう。
因みに、左図は、「Win95」の起動中の画面(図7)と、最終的な状態の画面(図8[クリック])である。
(此の「No.5:無銘」は、外見はもうボロボロなのに、良く働いてくれていた。しかし、最近"表示機能"に異常が出始めた。発色が次第に少なくなって来ている。FPCなどを替えてみたが、あまり改善は出来なかった)
****************************************************************
PC110 ct65535f,w Mark identification
I installed " TMBM " in CF (for drive #0) so that the "multi-boot menu" can be displayed on the "TFT-LCD screen", but this CF cannot be used for "STN-LCD" or "FSTN-LCD". ( Fig.1 )
However, in my case, many types of CF tend to be mixed, so I often mistakenly use them during the experiment.
Then, I set a flag there and used it as a mark to decide whether to enable or disable " ct65535x .exe " to be used later. ( Fig.2 [click] )
The one that made it possible to detect the flag is " ct65535f.exe ", and in fact, " ct65535e.exe Just had put "mark detection" and "escape function" in.
(I'm not good at "version control", so by changing the name like this, I would like to escape from making mistakes)
−−−−−−−−−−−−−−−−−−−−−−−−
+++ Small patch routine +++
Mr. Moonlight created " VPATCH " like a solid "Brick", but my routine may be real small "patch", only "Escape or Attack by looking at the flag, so the program is extremely small and easy ! d(^^; ( Fig.3 )
Actually, that "flag" is one of the registers in the video chip "C&T65535", but it seems that "One can use it for any purpose !", so I used it.
(The real intention is that if there is one "input port" that can be used freely and it may be connected to the FPC of the LCD, it will be possible to distinguish between TFT-LCD and STN-LCD in terms of hardware, but it's a dream, and surely all seem to be "output terminals")
Well, this time's plan seems to have gone well, and if I hit the 'l' or 'L' key after 3 Beeps (before the "multi-boot menu" appears), I've selected "TFT-LCD", and since then is enabled by "ct65535f" placed in "autoexec.bat".
Fig.4 [click] shows in the state where "right justification effect" is working (in DOS mode) Win98 " at startup.
(However, even in this situation, when the "Win mode" become reached, the right end is missing ... Actually, the " ct65535w " still not has the detection/escape function, so I try not to use it on the "STN-LCD" machine, but I want to fix it immediately.)
[2021/04/22]
PC110 ct65535f, w Mark identification
To "right-justify the screen" of "WVGA-TFT-LCD" with " Win95 " and " Win98 " I have to use " ct65535w.exe ".
This works with the help of " DriverLINX " (although "MSVBVM60.DLL" and "OLEAUT32.DLL" are also required), but I didn't understand it well, so I had a little trouble at first.
I misunderstood that "DlPortWrite(/Read)PortUshort" as "byte unit", but I couldn't read the flag (value) correctly, and I got only zero.
In fact, I later realized that I had to use "DiPortWrite(/Read)PortUchar" for a "byte".
It turned out by incorporating a "sample model" and examining the port values with actual I/O. ( Fig.4 [click] )
The flag set at Boot is "80h" or "00h" remained even after starting " Win95 " or " Win98 ".
So, I came to the conclusion that my program was badly organized, and when I re-examined it, I came up with the above difference.
After fixing it, it worked fine. Look at the flag and if it is 00h, it will end immediately. ( Fig.5 )
If the flag is "80h", then the Form is loaded, the initial value for TFT is set, and then the standby state is set.
This time, the finished product is " ct65535w++.zip ".
++++ For Win95, Win98 ++++
Now, re-challenge with " PC110 " is Maintaining a wireless LAN system and doing " Internet browsing ", and apparently there are some things that can be seen. It's fun !
Therefore, I wanted to quickly improve " Win95 " and " Win98 ".
If this " ct65535w " can identify the flag, the CFs will be used both for "WVGA-TFT-LCD" and/or "VGA-STN-LCD". There is no need to rearrange it, and the " multi-boot method " can be used without problems.
By the way, the figure on the left shows the running screen of " Win95 " ( Fig.7 ) and the final screen ( Fig.8 [click] )...
(This " No.5: noName " worked well even though it looked tattered. However, the "display function" began to show abnormalities. Blue colorness became decreasing day by day. I tried changing the FPC etc., but I could not improve much)