Display Sub System 一覧
Update(2006/09/17)

FM-7(F-BASIC V3.0)で使用できるDisplay Sub System の一覧です。プログラミング時の参考として下さい。


【Display Sub System 一覧】
機能ブロック コマンド名 コード(16進) 内容
コンソール INIT 01 コンソール機能の初期化
ERASE 02 画面及びコンソールバッファの初期化
PUT 03 文字列を画面に表示
GET 04 文字列の表示後、変更フィールドの入力
GETC 05 GETによる未転送フィールドの入力
GET Character BLOCK1 06 対角線座標で示される枠内の文字コードの読み取り
PUT Character BLOCK1 07 対角線座標で示される枠内への文字コードの表示
GET Character BLOCK2 08 対角線座標で示される枠内の文字コードとアトリビュート文字の読取り
PUT Character BLOCK2 09 対角線座標で示される枠内への文字コードとアトリビュート文字の表示
GET Buffer Address 0A 現在のバッファポインタのアドレスの読取り
TAB SET 0B TAB位置の設定
CONSOLE CONTROL 0C コンソール機能の選択
ERASE2 0D 画面及びコンソールバッファの初期化
CHARACTER LINE 20 文字によって直線又は四角を描く
グラフィック LINE 15 2点を結ぶ直線又は2点を対角とする四角を描く
CHAIN 16 指定座標間を直線で結ぶ(最大30点間)
POINT 17 指定された点を表示する(最大20点)
PAINT 18 境界線カラーで囲まれた部分に色をぬる
SYMBOL 19 文字列を大きさ角度を変えて表示する
CHANG COLOR 1A 指定された枠内の色を変える
GET BLOCK1 1B 指定された枠内の指定された色のドットを読取る
PUT BLOCK1 1C 指定された枠内の指定された色のドットを書込む
GET BLOCK2 1D 指定された枠内の3原色の画面データを読取る
PUT BLOCK2 1E 指定された枠内の3原色の画面データを書込む
GRAPHIC CURSOR 1F オペレータの指示した座標を読取る(最大10点)
キーボード INKEY 29 キーコードを読取る
Define String of PF 2A PFキーに文字列を定義する(最大15文字)
Get String of PF 2B PFキーに定義されている文字列を読取る
Interrupt Control 2C PF割込の選択を行う
タイマー SET TIMER 3D タイマレジスタをセットする
READ TIMER 3E タイマレジスタを読込む
コンティニュー CONTINUE 64 一度に転送しきれないデータを継続して転送するのに用いる


【Display Sub System 詳細】

■コンソールコマンド詳細

INIT
コンソール機能の初期化を行います。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $01
3 BC 背景色カラーコード 0〜7
4 NC 桁数 80又は40
5 NL 行数 25又は20
6 SL スクロール開始行番号 0〜(NL-1)
7 NS スクロール行数 0〜(NL〜SL)
8 FD ファンクションキー表示 FD=0で表示しない
9 ERS 初期設定後の画面の消去 ERS=0で消去しない
10 GR 単色表示(グリーン) GR=0でカラー表示

復帰情報
0 E エラーコード E=0でエラー無し


ERASE
コンソール画面をクリアして、コンソールバッファを初期化します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $02
3 W イレーズ範囲 0:全画面
1:スクロールモード画面
2:ページモード1画面
3:ページモード2画面
4 BC 背景色カラーコード 0〜7

復帰情報
0 E エラーコード E=0でエラー無し


PUT
文字列をコンソール画面に表示(画面を制御するオーダーコードも含む)します。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $03
3 N データバイト数 今回転送する文字列のバイト数(N≦124)
4〜(3+N) String 出力文字列 出力する文字列(オーダを含む)

復帰情報
0 E エラーコード E=0でエラー無し


GET
コンソール画面に表示された文字列(画面を制御するオーダーコードも含む)を読込みます。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $04
3 N データバイト数 今回転送する文字列のバイト数(N≦124)
4〜(3+N) String 出力文字列 出力する文字列(オーダを含む)

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2
3 K 終了キーコード $00 : RETURN
$01 : CTRL+C / CTRL+X
$02 : CLEAR
4 N 今回転送された変更フィールドのバイト数(N≦120) N=0:変更フィールド無し
N=3:変更フィールドが空文字列
5 SBA Set Buffer Address(オーダ)コード $12
6 X 変更フィールドの先頭文字のX座標 0〜79
7 Y 変更フィールドの先頭文字のY座標 0〜24
8〜(7+N) TEXT フィールド中の制御コードを除く文字列 変更フィールドの文字列


GETC
未転送のフィールドを読込みます
コマンド&パラメータ
0,1 Don't Care
2 C コマンドコード $05

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2
3 K 終了キーコード $00 : RETURN
$01 : CTRL+C / CTRL+X
$02 : CLEAR
4 N 今回転送された変更フィールドのバイト数(N≦120) N=0:変更フィールド無し
N=3:変更フィールドが空文字列
5 SBA Set Buffer Address(オーダ)コード $12
6 X 変更フィールドの先頭文字のX座標 0〜79
7 Y 変更フィールドの先頭文字のY座標 0〜24
8〜(7+N) TEXT フィールド中の制御コードを除く文字列 変更フィールドの文字列


GET Charcter BLOCK1
対角座標で示される枠内の文字コードを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $06
3 X1 始点のX座標 0〜79(キャラクタ座標)
4 Y1 始点のY座標 0〜24(キャラクタ座標)
5 X2 終点のX座標 0〜79(キャラクタ座標)
6 Y2 終点のY座標 0〜24(キャラクタ座標)

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 0
3 B 今回転送されるコードのバイト数 1〜124
4〜(3+B) Cm 転送文字列 キャラクタコード


PUT Charcter BLOCK1
対角座標で示される枠内に文字を表示します。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $07
3 X1 始点のX座標 0〜79(キャラクタ座標)
4 Y1 始点のY座標 0〜24(キャラクタ座標)
5 X2 終点のX座標 0〜79(キャラクタ座標)
6 Y2 終点のY座標 0〜24(キャラクタ座標)
7 at アトリビュート(色指定) アトリビュート文字コード
8 B 今回転送するコードのバイト数 1〜119
9〜(8+B) Cm 転送文字列 文字列

復帰情報
0 E エラーコード E=0でエラー無し


GET Charcter BLOCK2
対角座標で示される枠内のアトリビュート文字と表示文字のコードを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $08
3 X1 始点のX座標 0〜79(キャラクタ座標)
4 Y1 始点のY座標 0〜24(キャラクタ座標)
5 X2 終点のX座標 0〜79(キャラクタ座標)
6 Y2 終点のY座標 0〜24(キャラクタ座標)

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 0
3 B 今回転送されるコードのバイト数 1〜124
4〜(3+B) atm,Cm アトリビュート文字&文字コード at1,C1,at2,C2-atm,Cm m≦62


PUT Charcter BLOCK2
対角座標で示される枠内に、アトリビュート文字と表示文字を転送します。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $09
3 X1 始点のX座標 0〜79(キャラクタ座標)
4 Y1 始点のY座標 0〜24(キャラクタ座標)
5 X2 終点のX座標 0〜79(キャラクタ座標)
6 Y2 終点のY座標 0〜24(キャラクタ座標)
7
Don't Care
8 B 今回転送するデータのバイト数 1〜119
9〜(8+B) atm,Cm アトリビュート文字&文字コード at1,C1,at2,C2・・・atm,Cm

復帰情報
0 E エラーコード E=0でエラー無し


GET Buffer Address
現在のバッファポインタの示しているバッファアドレスを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $0A

復帰情報
0 E エラーコード E=0でエラー無し
1,2
Don't Care
3 X バッファアドレスX座標 0〜79(キャラクタ座標)
4 Y バッファアドレスY座標 0〜24(キャラクタ座標)


TAB SET
タブ位置を設定します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $0B
3〜12 TAB タブ設定テーブル 80ビットのビットイメージデータ

復帰情報
0 E エラーコード 0 (常に正常終了を示す)


CONSOLE CONTROL
種々のコンソール機能を選択します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $0C
3 CF 制御フラグ Bit0:カーソル表示 1=する 0=しない
Bit1:オーダ動作 1=する 0=しない
Bit2:TAB動作 1=する 0=しない
Bit3:ページウェイト 1=する 0=しない
Bit4:プトウェイト 1=する 0=しない
Bit5:オートLF 1=する 0=しなし

復帰情報
0 E エラーコード 0 (常に正常終了を示す)


ERASE2
画面及びコンソールバッファを初期化します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $0D
3 W 範囲 0=全画面
1=スクロールモード画面
2=ページモード1画面
3=ページモード2画面
4 BC 背景色 0〜7(W=0の時のみ有効)
5 PC 文字色 0〜15

復帰情報
0 E エラーコード E=0でエラー無し


Character Line
キャラクタ座標X1・Y1からX2・Y2まで、文字を使って直線又は、四角を描きます。
コマンド&パラメータ
0,1 Don't Care
2 C コマンドコード $2D
3 CL カラーコード 0〜7
4 CHR 文字コード $20〜$FE
5 - 0
6 X1 始点のX座標 0〜79(キャラクタ座標)
7 - 0
8 Y1 始点のY座標 0〜24(キャラクタ座標)
9 - 0
10 X2 終点のX座標 0〜79(キャラクタ座標)
11 - 0
12 Y2 終点のY座標 0〜24(キャラクタ座標)
13 B ボックスフラグ 0=直線
1=四角形の枠
2=四角形塗りつぶし

復帰情報
0 E エラーコード E=0でエラー無し


■グラフィックコマンド詳細

LINE
グラフィック座標(X1,Y1)と(X2,Y2)を結ぶ直線又は対角線とする四角形を描きます。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $15
3 CL カラーコード 0〜7
4 F ファンクションコード 0〜4(5:NOTを除く)
5,6 X1 X1座標(16ビット) 0〜639(グラフィック座標)
7,8 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
9,10 X2 X2座標(16ビット) 0〜639(グラフィック座標)
11,12 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
13 B ボックスフラグ 0=直線
1=四角形の枠
2=四角形塗りつぶし

復帰情報
0 E エラーコード E=0でエラー無し


CHAIN
指定座標間を直線で結びます。座標点は30個まで。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $16
3 CL カラーコード 0〜7
4 F ファンクションコード 0〜4(5:NOTを除く)
5 N 座標点数 2〜30
6,7 X1 X1座標(16ビット) 0〜639(グラフィック座標)
8,9 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
10,11 X2 X2座標(16ビット) 0〜639(グラフィック座標)
12,13 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
2+4・n,
3+4・n
Xn Xn座標(16ビット) 0〜639(グラフィック座標)
4+4・n,
5+4・n
Yn Yn座標(16ビット) 0〜199(グラフィック座標)

復帰情報
0 E エラーコード E=0でエラー無し


POINT
指定された点を表示します。点の位置は20個までです。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $17
3 N 座標点数 1〜20
4,5 X1 X1座標(16ビット) 0〜639(グラフィック座標)
6,7 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
8 CL カラーコード 0〜7
9 F ファンクションコード 0〜4(5:NOTを除く)
4+6・(n-1)
5+6・(n-1)
Xn Xn座標(16ビット) 0〜639(グラフィック座標)
6+6・(n-1)
7+6・(n-1)
Yn Yn座標(16ビット) 0〜199(グラフィック座標)
8+6・(n-1) CLn カラーコード 0〜7
9+6・(n-1) Fn ファンクションコード 0〜4(5:NOTを除く)

復帰情報
0 E エラーコード E=0でエラー無し


PAINT
指定された座標から指定された境界色で囲まれた部分を、指定色で塗りつぶします。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $18
3,4 X X座標(16ビット) 0〜639(グラフィック座標)
5,6 Y Y座標(16ビット) 0〜199(グラフィック座標)
7 Pc ペイントカラーコード 0〜7
8 Nc 境界色の数 1〜8
9 Bc1 境界色カラーコード1 0〜7
8+Nc BCn 境界色カラーコードn 0〜7

復帰情報
0 E エラーコード E=0でエラー無し


SYMBOL
文字列を指定座標より、指定角度、大きさで表示します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $19
3 CL カラーコード 0〜7
4 F ファンクションコード 0〜5
5 A アングルコード 0:ノーマル
1: 90°左回転
2:180°左回転
3:270°左回転
6 W 文字横幅倍率(8ビット) 0〜255
7 H 文字縦幅倍率(8ビット) 0〜255
8,9 X X座標(16ビット) 0〜639(グラフィック座標)
10,11 Y Y座標(16ビット) 0〜199(グラフィック座標)
12 文字数 1〜80
13〜(12+N) String 文字列 キャラクターコード

復帰情報
0 E エラーコード E=0でエラー無し


CHANGE COLOR
対角線座標(X1,Y1),(X2,Y2)で示される枠内の色を変更します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $1A
3,4 X1 X1座標(16ビット) 0〜639(グラフィック座標)
5,6 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
7,8 X2 X2座標(16ビット) 0〜639(グラフィック座標)
9,10 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
11 N 変更するカラーの数 1〜8
12 CL1 旧カラーコード1 0〜7
13 Cl1 新カラーコード1 0〜7
10+(2・N) CLn 旧カラーコードn 0〜7
11+(2・N) Cln 新カラーコードn 0〜7

復帰情報
0 E エラーコード E=0でエラー無し


GET BLOCK1
対角線座標(X1,Y1),(X2,Y2)で示される枠内の、指定された色のドットを1、その他のドットを0として、画面のドットデータを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $1B
3,4 X1 X1座標(16ビット) 0〜639(グラフィック座標)
5,6 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
7,8 X2 X2座標(16ビット) 0〜639(グラフィック座標)
9,10 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
11 N 読取る色の数 1〜8
12 CL1 カラーコード1 0〜7
・・・ ・・・ ・・・ 0〜7
11+n CLn カラーコードn 0〜7

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 0
3 B 今回転送されるコードのバイト数 1〜124
4〜(3+B) Pattern 画面データ パターン情報


PUT BLOCK1
対角線座標(X1,Y1),(X2,Y2)で示される枠内の、指定色でパターンを書込みます。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $1C
3,4 X1 X1座標(16ビット) 0〜639(グラフィック座標)
5,6 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
7,8 X2 X2座標(16ビット) 0〜639(グラフィック座標)
9,10 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
11 CL カラーコード 0〜7
12 F ファンクションコード 0〜5
13 B 今回転送するパターンのバイト数 1〜114
14〜(13+B) Pattern 画面データ パターン情報

復帰情報
0 E エラーコード E=0でエラー無し


GET BLOCK2
対角線座標(X1,Y1),(X2,Y2)で示される枠内の3原色(Red,Green,Blue)の画面データを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $1D
3,4 X1 X1座標(16ビット) 0〜639(グラフィック座標)
5,6 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
7,8 X2 X2座標(16ビット) 0〜639(グラフィック座標)
9,10 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)

復帰情報
0 E エラーコード E=0でエラー無し
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 0
3 B 今回転送されるパターンのバイト数 3〜124
4〜(3+B) Pattern 画面データ パターン情報


PUT BLOCK2
対角線座標(X1,Y1),(X2,Y2)で示される枠内に、3原色(Red,Green,Blue)の画面データを書込みます。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $1E
3,4 X1 X1座標(16ビット) 0〜639(グラフィック座標)
5,6 Y1 Y1座標(16ビット) 0〜199(グラフィック座標)
7,8 X2 X2座標(16ビット) 0〜639(グラフィック座標)
9,10 Y2 Y2座標(16ビット) 0〜199(グラフィック座標)
11 - Don't Care
12 F ファンクションコード 0,2〜5(1:PRESETを除く)
13 B 今回転送するパターンのバイト数 1〜114
14〜(13+B) Pattern 画面データ パターン情報

復帰情報
0 E エラーコード E=0でエラー無し


GRAPHIC CURSOR
オペレータの指示した座標を読取ります。座標は10個までです。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $1F
3 CL カーソルの表示色 0〜7
4 N 要求する座標数 1〜10
5,6 X 初期座標X(16ビット) 0〜639(グラフィック座標)
7,8 Y 初期座標Y(16ビット) 0〜199(グラフィック座標)

復帰情報
0 E エラーコード E=0でエラー無し
1,2
Don't Care
3,4 X1 指定座標X1(16ビット) 0〜639(グラフィック座標)
5,6 Y1 指定座標Y1(16ビット) 0〜199(グラフィック座標)
3+4・(n-1)
4+4・(n-1)
Xn 指定座標Xn(16ビット) 0〜639(グラフィック座標)
5+4・(n-1)
6+4・(n-1)
Yn 指定座標Yn(16ビット) 0〜199(グラフィック座標)


■キーボードコマンド詳細

INKEY
キーボードよりキーコマンドを読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $29
3 CF 制御フラグ Bit0:ウェイト(wait)フラグ
Bit1:RESET

復帰情報
0 E エラーコード E=0でエラー無し
1,2
Don't Care
3 K 入力キーコード 0〜255
4 EN 入力の有無 0:無し , 1:有り


Define String of PF
PFキーに文字列を定義します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $2A
3 NO PFキー番号 1〜10
4 N 文字数 0〜15
5〜(4+N) String 定義文字列 文字列

復帰情報
0 E エラーコード E=0でエラー無し


GET String of PF
PFキーに定義されている文字列を読込みます。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $2B
3 NO PFキー番号 1〜10

復帰情報
0 E エラーコード E=0でエラー無し
1,2
Don't Care
3 NO PFキー番号 1〜10
4 N 文字数 0〜15
5〜(4+N) String 定義されている文字列 文字列


Interrupt Control
PFキーによる割込みの選択を行います。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $2C
3,4 IC 割込み制御フラグ(16ビット) 1で割込みイネーブル

復帰情報
0 E エラーコード 0 (常に正常終了を示す)


■タイマーコマンド詳細

SET TIMER
タイマの各レジスタに、値を設定します。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $2B
3 RS 設定レジスタ選択フラグ Bit0:TC
Bit1:T1
Bit2:T1-I
Bit3:T2
Bit4:T2-D
4 TC 制御レジスタ Bit0:タイマ割込みイネイブル
Bit1:インタバルタイマ割込みイネイブル
Bit2:インタバルワンショット
Bit3:0時割込みイネイブル
5〜8 T1 24時間時計レジスタ 第1バイト:時刻
第2バイト:分
第3バイト:秒
第4バイト:20ms
9〜12 T1-I 割込み予約時刻レジスタ 第1バイト:時刻
第2バイト:分
第3バイト:秒
第4バイト:20ms
13〜16 T2 20msデクレメントカウンタレジスタ 32ビットデータ
17〜20 T2-D 再設定値レジスタ 32ビットデータ

復帰情報
0 E エラーコード 0 (常に正常終了を示す)


READ TIMER
タイマレジスタの値を読取ります。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $3E

復帰情報
0 E エラーコード 0 (常に正常終了を示す)
1,2,3
Don't Care
4 TC 制御レジスタ 1バイトデータ
5〜8 T1 24時間時計レジスタ 4バイトデータ
9〜12 T1-I 割込み予約時刻レジスタ 4バイトデータ
13〜16 T2 20msデクレメントカウンタレジスタ 32バイトデータ
17〜20 T2-D 再設定値レジスタ 32バイトデータ


■コンティニューコマンド詳細

Display Sub System へ出力する場合。
コマンド&パラメータ
0
Don't Care
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2 C コマンドコード $64
3 N 今回転送するバイト数 1〜120
4〜(3+N) DATA 転送データ 転送データ


Display Sub System より入力する場合。
コマンド&パラメータ
0,1
Don't Care
2 C コマンドコード $64

復帰情報(通常の場合)
0 E エラーコード 0 (常に正常終了を示す)
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2
0
3 N 今回転送されるバイト数 1〜123
4〜(3+N) DATA 転送データ 転送データ

復帰情報(GET,GETCの場合)
0 E エラーコード 0 (常に正常終了を示す)
1 S' 継続フラグビット(MSB) S'=1の時、データが継続する事を示す
2
0
3 K 終了キーの種類 0 : Return
1 : Ctrl+C / Ctrl+X
2 : CLS
4 N 今回転送されるバイト数 1〜123
5〜(4+N) DATA 転送データ 転送データ

「FM-7ユーザーズマニュアル・システム仕様」,富士通鰍謔阡イ粋