2015.2.15

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

MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!


[第131回]


●エスケープシーケンス(2)

エスケープシーケンスの続きです。
「ワンボードマイコンでCP/Mを!」[第427回]では前回説明しましたエスケープシーケンスのほかにも下記のエスケープシーケンスについて説明をしてBASICテストプログラムでテストを行なっています。

ESC[K   カーソル位置から行末までをクリア
ESC[nA  カーソルを上にn行移動
ESC[nB  カーソルを下にn行移動
ESC[nC  カーソルを右にn桁移動
ESC[nD  カーソルを左にn桁移動

下がBASICのテストプログラムESCTSTB5.TXTです。

    10 CLS 
    20 'esc test
    30 FOR B%=0 TO 7
    40 FOR A%=0 TO 9
    50 PRINT A%;
    60 NEXT A%
    70 NEXT B%
    80 FOR A%=1 TO 23
    90 PRINT A%
   100 NEXT A%
   110 PRINT CHR$($1B);"=(6(1)y=8,x=22";
   120 PRINT CHR$($1B);"[3A(2)up3";
   130 PRINT CHR$($1B);"[12C(3)right12";
   140 PRINT CHR$($1B);"[7B(4)down7";
   150 PRINT CHR$($1B);"[47D(5)left47";
   160 PRINT CHR$($1B);"[1B(6)down1**1234567890";
   170 PRINT "abcdefghijklmnopqrstuvwxyz";
   180 PRINT CHR$($1B);"[10D(7)";CHR$($1B);"[K(8)";

●BASICプログラムESCTSTB5を実行しました

前回と同様、MYCPU80をWindows7に接続して、ZB3BASICを起動してESCTSTB5.TXTをロードしました。


「ワンボードマイコンでCP/Mを!」[第427回]を開いて、その画面をバックにしてESCTSTB5を実行しました。


●そのほかのエスケープシーケンス

そのほかにも下記のエスケープシーケンスが追加されています。

「ワンボードマイコンでCP/Mを!」[第438回]ではESC[0m〜ESC[7mについて説明をしました。
ESC[1m は太字指定でESC[0mは文字修飾をもとに戻すエスケープシーケンスです。
この仲間にはそのほかに以下のものがあります。
ESC[4m 下線付き
ESC[5m 点滅
ESC[7m 白黒反転
しかしWindowsのコマンドプロンプトではESC[0m以外は無理なので、ESC[1m〜ESC[7mはいずれも文字の色指定を白にしました。
明るい白ですので、太字のように見える効果があります。

「ワンボードマイコンでCP/Mを!」[第439回]では
ESC[yy;xxH
を追加しました。
yyは01〜25で行位置を指定します。
xxは01〜80で桁位置を指定します。

●ESC[1m、ESC0m、ESC[yy;xxHのテスト

表記のエスケープシーケンスについてはホームページ上ではテストをしていませんでした。
そこで今回あらたにBASICのテストプログラムを作ってテストをしました。
BASICのテストプログラムESCTSTB6.TXTです

    10 CLS 
    20 'esc test
    30 PRINT CHR$($1B);"[1m"
    40 FOR YY%=1 TO 24
    50 XX%=YY%*3
    60 PRINT CHR$($1B);"[";
    70 IF YY%<10 THEN PRINT "0";
    80 PRINT STR$(YY%);";";
    90 IF XX%<10 THEN PRINT "0";
   100 PRINT STR$(XX%);"H";YY%;"**";
   110 NEXT YY%
   120 PRINT CHR$($1B);"[0m"
   130 FOR YY%=1 TO 24
   140 XX%=80-YY%*3
   150 PRINT CHR$($1B);"[";
   160 IF YY%<10 THEN PRINT "0";
   170 PRINT STR$(YY%);";";
   180 IF XX%<10 THEN PRINT "0";
   190 PRINT STR$(XX%);"H";YY%;"**"
   200 NEXT YY%
   210 PRINT CHR$($1B);"[10;34H***end***"

●BASICテストプログラムESCTSTB6を実行しました

ESCTSTB6を実行しました。

斜め右下に向かって表示されている文字はESC[1mの実行によって「太字」修飾(実は明るい白)で表示されています。
斜め左下に向かって表示されている文字はESC[0mの実行によって通常の明るさで表示されています。

MYCPU80でCP/Mを![第131回]
2015.2.15upload

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