標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第575回]

●XPのコマンドプロンプトの画面表示

前回は、Windows98では何の問題も無く表示されていたスクリーンエディタのための画面表示が、Windows2000やWindowsXPでは、問題が出て来てしまいます、と書きました。
本日は、その問題を解決するために、まず、どこがどのように問題なのか、ということについて説明をいたします。

WindowsXPパソコンにUSBでND80ZVを接続して、コマンドプロンプトでZ80BASIC・リモートプログラムzb2u.exe(まだデバッグ中なので、プログラム名にバージョンを示す2uがついています)を起動させたところです。

Windows98にはありませんが、Windows2000やWindowsXPでは画面右にスクロールバーがあります。

上の画面でフルキーボードの[z]キーを押すと、Z80BASICが起動します。

helpコマンドで、RAMにバックアップされていたプログラムを復活させました。
そしてlistコマンドでプログラムを確認しています。
0から1000までベタに表示するプログラムです。

プログラムを実行しました。

画面右のスクロールバーが下がっています。
このバーを上に操作すれば、スクロールして消えてしまった画面を呼び戻すことができるのですが、その画面はただ見ることができるだけで、その画面にカーソルを移動して、編集ができるというわけではありません。
なんとも中途半端な機能なのですが、Z80BASICのスクリーンエディタを使う上からは、実に困った、余計な機能としか言いようがありません。
あ。前回少し書きましたが、画面右下に>が見えています。
これが消えないで残ったゴミです。
スクロール時に現れる最下行のゴミをクリアするために、putc()でスペースコード(0x20)を79個書いているのですが、すると最後の1つが残ってしまいます。
でもスペースを80個書くと、もう1行余分にスクロールしてしまうので、79個しか書くことができません。
ここはなんとかクリア(消去&解決)したいところです。

[pagemode]の画面です。

[PageUp]キーを押すと[pagemode]になります。
スクロールバーなどなくても、画面を戻すことができるのです。
スクロールバーを使った画面表示と違って、Z80BASICのpagemode画面では、表示されている画面のどこへでも[←][↑][↓][→]キーでカーソルを移動して、そこで表示されている文字の書き換え、再入力などを自由に行うことができます。
この画面では、まだ2行上に戻って表示しているだけですが、画面右のスクロールバーは一番上に戻っています。
やっぱり画面右下にゴミが残っています。
うう。なんとかしたい。

[pagemode]で一番上まで戻りました。

ここで[Page Down]キーを操作すれば、逆に表示が下にスクロールされていきます。
しかしそうする代わりに、ここで画面右のスクロールバーを下に操作するとどうなるでしょうか?

ほら。下に隠れていたゴミがどどっと現れます。

このゴミをなんとかしたいのですよねえ。
スクロールバーを操作しない限りは、[page mode]表示行の下の全部がすぐに問題になるわけではありません。
[page mode]表示行の直下の1行が問題になります。
改行を行うか、1行上に表示をずらす時点で、その直下の1行がゴミだらけで上に上がってきます。
そこで、putc()でスペースコード(0x20)を79個書いてそのゴミを消すようにしているのですが…。
さきほど上の方でも書きましたように、現在のそのputc()による方法では中途半端で、画面右下にゴミが1文字残ってしまいます。

実は、本日は、XPのコマンドプロンプトをあれこれ調べておりまして。

なんだ。
こうやればいいじゃないか。
と、あっけなく、解決してしまったのであります。

あ。
ちょっと時間がなくなってしまいましたので、それにつきましては、次回に説明させていただきます。
2010.8.6upload

前へ
次へ
ホームページトップへ戻る