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

マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[総合第124回]



●COLOR、CLS

今回も前回に続いて独立型ZB3BASICの機能追加についての説明です。
文字に色をつける機能としてはエスケープシーケンスを組み込みました。
色指定のエスケープシーケンスについては「カラーキャラクタディスプレイインターフェースの製作」[第3回]で説明をしました。
そうしましたところ、その記事をご覧になったお客様から「COLOR命令を使えるようにはできませんか」というご要望をいただきました。
エスケープシーケンスならば、CP/Mでもあるいはそのほかの言語でも利用できますから汎用性はあります。
しかし確かにちょっと記述が面倒です。
COLOR命令はBASICでしか使えませんから汎用性はありませんが使い方は実に簡便です。
前回機能追加しましたLOCATEとかTABとかについてもBASICのみで使える機能ですから、今更汎用性を云々するのもなんだかなあということになりましょう。
そこでこの際ですから、COLOR命令も組み込んでしまうことにしました。
ついでに従来からあったCLS命令もカラー対応にしました。

COLOR F,B

Fはフロントカラー(文字の色)を指定する整数、整数型変数、整数型の式で、有効な値は0〜15(00〜0F)です。
それ以上の値を指定してもその値を16進数で表記したときの下位4ビットのみが有効になります。
そのときのビット3はキャラクタコードの選択ビットとして使います([総合第109回]参照)。
Bはバックグランドカラー(背景色)を指定する整数、整数型変数、整数型の式で、有効な値は0〜15(00〜0F)です。
それ以上の値を指定してもその値を16進数で表記したときの下位4ビットのみが有効になります。
そのときのビット3はキャラクタコードの選択ビットとして使います([総合第109回]参照)。
数値と色の関係は次の通りです。
0 黒(ブランク)
1 赤
2 緑
3 黄
4 青
5 マゼンタ
6 シアン
7 白

実行例です。

COLOR命令で文字色を黄、背景色を青に指定しました。
直ちに実行された結果、表示がそのようになりました。
CLSは画面をクリアする命令です。
従来はただ画面を消去してカーソルを左上に移動するだけでしたが、今回はCOLOR命令に連動するように機能追加を行ないました。
CLS実行の前に実行されたCOLOR命令で指定した背景色で画面を塗りつぶします。

CLSを実行した結果です。


下は今まで何回もお見せしているエスケープシーケンスによる文字の色指定のサンプルプログラムです。


今回はそれと同じことをCOLOR命令を使って書き直して実行してみました。

LIST表示されているプログラムがCOLOR命令を使って書き直したサンプルプログラムです。
エスケープシーケンスを使った書き方に比べてずっと簡単になりました。
確かにこちらのほうが簡単です。
おや、実行した結果、最後の終り方がよくありませんでした。
背景色を白にしたまま終ってしまったので、最後の”end”が見えません。
65color 3,4
を追加しました。

今度はendが見えるようになりました。


今回のCOLOR、CLSの機能追加で、新マイコン独立化システムのソフトウェア作業はひとまず終了いたします。
このあとまだND8080用(およびMYCPU80用)のシステムプログラムも用意しなければなりませんが、それは今まで作成してきましたZ80用のプログラムを8080用に書き直すという、半ば機械的な作業です。
それと並行して組立説明書などの説明書も書かなければいけません。
組立説明書ができたらそれにしたがってパーツをそろえなくてはなりません。
まだまだ大変な作業が続きます。
作業の進行状況につきましては、当ホームページ上にてお知らせしていきますが、それだけでは記事としては内容が乏しくなります。

ということで、進行状況をお知らせしつつ、同時に進行中の(実際にはこのところずっと中断して止まってしまっているのですが)別のプロジェクトについてタイトルをあらためて書いていきますので、引き続きお読みいただきますようお願いいたします。

CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第124回]
2017.11.10upload

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