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)"; |
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***" |