ESCDEF FMR/TOWNSシリーズ ;---------------------------------------------------------------------- ; ; ESCファンクション定義(FMRシリーズ用) ; COPYRIGHT (C) 1993 FUJITSU/HORIANT ; ;---------------------------------------------------------------------- ; ; 1つの定義は、1行からなるシーケンス定義とファンクション定義の2つで ;構成される。 ; ; シーケンス定義 ファンクション定義 [ : ファンクション定義 [ ・・・ ]] ; ; シーケンス定義は、一致する文字そのもの、または特殊文字で構成される。 ; ; 特殊文字 意味 ; −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ; \\ '\'記号 ; ; 以降をコメントとして扱う ; \; ';'記号 ; \- \/ 区切り文字、意味を持ちません。 ; \_ 空白 ; \t タブ ; \{ ... \} \{ ... \} で囲まれた部分について、どれか一つが一致 ; \[ ... \] \[ ... \] で囲まれた部分について、どれか複数が一致 ; \x?? ??は16進数の文字コード ; \i 初期化指定。ESCオン時に自動的にこのシーケンスが ; 出力される。 ; \e ESC文字(0x1B) ; \D 1文字の10進数に一致する ; \? 任意の1文字に一致する ; ; \d ('0'〜'9')10進数のパラメタ ; \c 任意の1文字をパラメタにする(任意) ; \b 文字コードをパラメタとする(' '〜'~') ; \a 文字コード−1FHをパラメタとする(' '〜'~') ; \s 文字列をパラメタとする(任意) ; ; ファンクション定義は、機能名とパラメタで構成される。 ; ; 機能名 [パラメタ[,パラメタ[・・・]]] ; ; 機能名は、大文字と小文字の区別はありません。パラメタにはあります。 ; 機能について複数のパラメタを書くことができます。そのときは','で区切り ;ます。 ; ; パラメタには以下の特殊パラメタを使用することができます。 ; ; 特殊パラメタ 意味 ; −−−−−−−−−−−−−−−−−−−−−−−−−−−− ; 数値 0〜32767までの数値 ; 四則演算(+-/*) 演算。ただし、演算の順序は表記された順( ; 左から右)に行われます。 ; 論理演算(&|^) 論理演算。 ; ビット演算(<>) シフト演算。 ; %1〜%9,%A〜%Z シーケンスで表記したパラメタ。表記順に%1 ; 〜%9,%A〜%Zとなります。 ; $1〜$9,$A〜$Z 上記パラメタへのポインタ。 ; ; その他 ; ; 行頭に';'を書けばその行はコメントになる。 ;  ; ESCシーケンス定義 ; ;---------------------------------------------------------------------- \e[\d\;\d\{Hf\} LOCATE %2,%1 \e[A QLOCATE $X,$Y : LOCATE %X,%Y-1 \e[B QLOCATE $X,$Y : LOCATE %X,%Y+1 \e[C QLOCATE $X,$Y : LOCATE %X+1,%Y \e[D QLOCATE $X,$Y : LOCATE %X-1,%Y \e[0A QLOCATE $X,$Y : LOCATE %X,%Y-1 \e[0B QLOCATE $X,$Y : LOCATE %X,%Y+1 \e[0C QLOCATE $X,$Y : LOCATE %X+1,%Y \e[0D QLOCATE $X,$Y : LOCATE %X-1,%Y \e[\dA QLOCATE $X,$Y : LOCATE %X,%Y-%1 \e[\dB QLOCATE $X,$Y : LOCATE %X,%Y+%1 \e[\dC QLOCATE $X,$Y : LOCATE %X+%1,%Y \e[\dD QLOCATE $X,$Y : LOCATE %X-%1,%Y \e[6n NOP \e[s QLOCATE $H,$V \e[u LOCATE %H,%V \e[J QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX 1,%B+1,%C,%D : CLSBOX %A,%B,%C,%B \e[0J QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX 1,%B+1,%C,%D : CLSBOX %A,%B,%C,%B \e[1J QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX 1,1,%C,%B-1 : CLSBOX 1,%B,%A,%B \e[2J CLS \e[K QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX %A,%B,%C,%B \e[0K QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX %A,%B,%C,%B \e[1K QLOCATE $A,$B : CLSBOX 1,%B,%A,%B \e[2K QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX 1,%B,%C,%B \e[=\{0123\}h CLS \e[=\{0123\}l CLS \e[\s\[\D\;\]m ANSICOLOR %1 \e=\a\a LOCATE %2,%1 \e[\c\{01\}v CSRTYPE %1-0x30 \e* CLS \eY QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX %A,%B,%C,%B : CLSBOX 1,%B+1,%C,%D \eT QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX %A,%B,%C,%B \eE QLOCATE $A,$B : QWIDTH $C,$D : SCROLL 1,%B,%C,%D,0,0-1 \eR QLOCATE $A,$B : QWIDTH $C,$D : SCROLL 1,%B,%C,%D,0,1 \eG\b LET $A,%1&0x20>2 : LET $A,%1&0x07|%A : LET $A,%1&0x08<1|%A : QCOLOR $B : COLOR %B&0xFF00|%A \e1 TABSET \e2 TABCLR \e3 TABCLRALL \eX\D NOP \e.\b\b CSRTYPE %1&0x1F,%2&0x1F \e\c\G PUTC %1|0x100 ;---------------------------------------------------------------------- ; ; 1バイトコード定義(優先度を下げないと一致する可能性大) ; ;---------------------------------------------------------------------- \x07 BEEP \x15 WAIT 1 \x16 CLS : WAIT 1 \i\eINIT_FMR1 COLOR 7 : ANSIBACKCHAR 1 \i\eINIT_FMR2 QLOCATE $A,$B : QWIDTH $C,$D : CLSBOX 1,%B+1,%C,%D : CLSBOX %A,%B,%C,%B