過去の桐井戸端BBS (桐ver.5)
17570 Ver5の画面表示コマンドで文字の背景が黒になってしまいます。 KEY 2002/10/14-17:03
Ver5の一括処理をPC98機(Win95)から、自作のDOS/V機(Win98SE)に移行しましたところ、
メニュー画面(一括処理で作った)の文字と描画がずれてしまいました。
更に画面表示コマンドで書いた文字の背景が、黒抜きになってしまいます。
色々と調べた所、PC98とDOS/V機でのドット表示の違いから、
ずれてしまう事が分かったのですが、画面表示コマンドの背景色の事は触れられていませんでした。
これもDOS/V機の特性なのでしょうか?
解決方法をご存知の方がいらっしゃったら、宜しくお願いします。
また、PC98とDOS/Vでの描画のずれの規則性が有れば、お教え下さい。
以上、長々と申し訳有りませんが、宜しくお願い致します。

17575 PC9801とDOS/Vでの画面表示のズレ 佐田 守弘 2002/10/14-23:58
記事番号17570へのコメント
KEYさん

●画面表示コマンドでの背景
PC9801は、テキスト画面とグラフィック画面が別になっているのに対し、
DOS/Vはテキスト画面がありません。
多分これが理由かと思いますが、PC-9801で可能なMS-DOS上でのテキストの表示属性の機能が、
DOS/Vでは使えないものがあります。
例えばブリンクの属性はDOS/Vにはハードウエア的になかったかと思います。

画面表示コマンドの詳細を知っている訳ではありませんが、
設定できるパラメータから類推すると、グラフィック画面への描画ではなく、
テキスト画面に表示するテキストに付ける表示属性を操作しているのではないかと
推定されます。
そうであれば、テキスト画面を持たないDOS/V機ではこのコマンドでの表示属性は使えない事になります。

●テキストとグラフィック画面のズレ
桐ver.5の時代に、私は画面表示コマンドではなく、描画コマンドで背景を描き、
その上にメニューコマンドでメニューの文字を表示する方法を行っておりました。
グラフィック画面にドット単位で背景を描くため、PC9801の場合でも、
20行モードと25行モードでは文字と背景がズレます。
これは、1行を表示する縦のドット数が違うためです。
そこで、使用マシンと表示行数を調べて、1行のドット数を計算して設定する方法を行っておりました。

この計算さえきちんと行えば、描画コマンドとメニューコマンドの組み合わせで、
ご希望のメニュー画面が作れるはずです。
(このV5のメニューの雛型は、私のサイトに掲載してあると思います。)

参考までに述べますと、
PC9801の場合には、縦400ドットですから、1行は20行モードでは20ドット、25行モードでは16ドットになります。
DOS/Vの場合には、縦480ドットなので、25行モードでは19.2行、30行モードで16ドットになります。

佐田守弘(KS-00119)
17600 Re:PC9801とDOS/Vでの画面表示のズレ KEY 2002/10/15-16:14
記事番号17575へのコメント
佐田 守弘様、深夜にも係らず丁寧なご回答を有難うございます。
実は表示のずれについて、色々と調べたページというのが、
佐田さんのホームページだったのです。
ご本人からお返事を頂けて、感激しております。

表示のずれについては、アドバイス通り行数を30行に変更してドット数を16に合わせましたら見事一致しました。
(表定義も30行に変更)
本当にありがとうございました。

唯一の問題は、テキスト背景の黒抜きです。
私も描画コマンドで背景を塗りつぶした上から、画面表示コマンドとメニューコマンドで文字を書いているのですが、
どちらも指定した領域の背景が黒になってしまいます。
やはりDOS/V機の特性なのでしょうか。
桐V5の一括処理をDOS/V機で書いていらっしゃる皆さんは、この点をどうクリアされているのでしょうか?

戻る