### 画面制御ステートメント

コマンド名 | 機　　能 | 備　考
--- | --- | ---
WIDTH | 画面サイズおよび縦横比率を設定します。 | 仕様変更
SCREEN | グラフィック画面の描画領域のサイズを設定します。 | 仕様変更
LOCATE CURSOR | カーソルを指定位置へ移動します。 |
COLOR | 画面の色を設定します。 | 16色カラーに対応
CREV | 文字の表示モードの切り替えをします。 |
CFLASH | 文字の表示モードの切り替えをします。 |
CGEN | 文字の表示モードの切り替えをします。 |
CSIZE | 文字の大きさを変えます。 |
COLOR@ | 指定範囲の文字色を変更します。 | 新規追加
CREV@ | 範囲を指定して文字を反転させます。 | 新規追加
CFLASH@ | 範囲を指定して文字を点滅させます。 | 新規追加
CGEN@ | 範囲を指定して文字の表示モードを切り替えます。 | 新規追加
DEFCHR$ | ユーザー定義のキャラクタジェネレータにキャラクタパターンを定義します。 |
PLOAD | 画像ファイルを、キャラクタパターンデータとして読み込みます。 | 新規追加
PSAVE | キャラクタパターンデータを、画像ファイルとして保存します。 | 新規追加
CLS | 各画面をクリアします。 | スプライト画面対応
SHOW | 各画面の表示有無を設定します。 | 新規追加
PALET | グラフィック画面の特定のカラーを他のカラーに変換します。 | パレットカラーの変換
PALET@ | グラフィック画面の表示色を変更します。 | 仕様変更
GET@ | グラフィック画面ドットデータを読み込みます。 | パターン番号を指定
PUT@ | グラフィックドットデータをグラフィック画面に表示します。 | パターン番号を指定
MOVE | グラフィック表示の移動を行います。 | 新規追加
GLOAD | 画像ファイルを読み込み、グラフィック画面に表示します。 | 新規追加
GSAVE | グラフィック画面全体もしくは指定された範囲を、画像ファイルとして保存します。 | 新規追加
START | グラフィック画面の表示開始座標を設定します。 | 新規追加
SCROLL | グラフィック画面の表示開始座標を、指定したドット数だけ移動します。 | 仕様変更
VIEW | グラフィック画面およびスプライト画面のモニタ上での表示領域を設定します。 | 新規追加

### （説明の形式）

［機能］ | 各コマンド・ステートメント・関数の働きを簡潔に記述します。
［書式］ | 各コマンド・ステートメント・関数の書き方の一般形を示します。 ［　］の中は任意に省略できます。
［解説］ | 各コマンド・ステートメント・関数の実際の使用方法、働き、注意事項を詳しく述べています。

### WIDTHrenew!

［機能］ | 画面サイズおよび縦横比率を設定します。
［書式］ | WIDTH ［ｗ］［，ｈ］［，ａ］ ｗ：テキスト画面の横文字数。16以上256以下の整数。 ｈ：テキスト画面の縦行数。12以上192以下の整数。 ａ：表示画面の縦横比率。１または２。
［解説］ | 画面のサイズおよび縦横比率を設定するときに使います。 このステートメントを実行すると、画面のサイズを設定すると同時に、CLS７と同じ処理をします。 現在の表示倍率でモニタに表示しきれない横文字数または縦行数の場合、表示倍率が縮小されます。 表示倍率が最小の1.0倍でもモニタに表示しきれない横文字数または縦行数の場合、「Illegal function call」エラーとなります。 ａを省略すると、横文字数が縦行数の２倍未満の場合は１が設定され、２倍以上の場合は２が設定されます。 設定した値は、XWIDTH変数，YWIDTH変数，ASPECT変数で取得することができます。 すべてのパラメータを省略すると、現在の表示倍率に基づいて画面サイズが ５＊５文字単位（縦横比率が１の場合）または10＊５文字単位（縦横比率が２の場合）に自動設定されます。

### SCREENrenew!

［機能］ | グラフィック画面の描画領域のサイズを設定します。
［書式］ | SCREEN ［ｗ］［，ｈ］ ｗ：グラフィック画面の描画領域の幅。テキスト画面の横文字数＊８以上の整数。 ｈ：グラフィック画面の描画領域の高さ。テキスト画面の縦行数＊８以上の整数。（NewX1の場合） グラフィック画面の描画領域の高さ。テキスト画面の縦行数＊16以上の整数。（NewX1turboの場合）
［解説］ | グラフィックステートメントを実行するための描画領域のサイズを設定します。 指定する描画領域のサイズは、実際に表示される領域より広くなければなりません。 設定した値は、XSCREEN変数，YSCREEN変数で取得することができます。 SCREENステートメントを実行すると、グラフィック画面はクリアされます。 すべてのパラメータを省略すると、表示領域と同一に初期化されます。

### LOCATE・CURSOR

［機能］ | カーソルを指定位置へ移動します。
［書式］ | LOCATE ｘ，ｙ CURSOR ｘ，ｙ ｘ，ｙ：WIDTH命令で指定された表示エリア内の値。 ｘ：水平方向の表示カラム　0～WIDTHで設定したテキスト画面の横文字数－１ ｙ：垂直方向の表示カラム　0～WIDTHで設定したテキスト画面の縦行数－１
［解説］ | LOCATEとCURSORは同じ命令で、テキスト画面のカーソル位置を指定します。 範囲を外れた場合はエラーになります。

### COLOR

［機能］ | 画面の色を設定します。
［書式］ | COLOR 表示色 表示色：文字の表示色を下のような数字で指定します。 ０：黒　１：青　２：赤　３：マゼンダ　４：ライム　５：シアン　６：黄　７：白 ８：灰　９：紺　１０：茶　１１：紫　１２：緑　１３：空　１４：橙　１５：桃 これをカラーコードといいます。
［解説］ | 文字の色を指定するための命令です。 電源投入時は、自動的にCOLOR ７にセットされています。グラフィック画面において、カラーコード を省略すると、COLOR文の表示色のコードの値が、カラーコードの値として使用されます。

### CREV

［機能］ | 文字の表示モードの切り替えをします。
［書式］ | CREV ［文字表示モード］ 文字表示モード：０、１ 省略及び０のとき　ノーマルモード（標準モード） １のとき　リバースモード（反転モード）
［解説］ | 文字の表示モードを反転モードにしたり標準モードにしたりするためのステートメントです。 このステートメントの実行以降、文字は指定された表示モードで画面に表示されます。

### CFLASH

［機能］ | 文字の表示モードの切り替えをします。
［書式］ | CFLASH ［文字表示モード］ 文字表示モード：０、１ 省略及び０のとき　ノーマルモード（標準モード） １のとき　フラッシングモード（点滅モード）
［解説］ | 文字の表示モードをフラッシングモードにしたり、ノーマルモードにしたりするためのステートメントです。 このステートメントの実行以降、文字は指定された表示モードで画面に表示されます。ノーマルモードは CREVと同様です。フラッシングモードとは、CREVのノーマルモードと反転モード とを交互に繰返すモードです。このとき、切り替わりの周期は、画面上のカーソルの点滅の周期と同じになります。

### CGEN

［機能］ | 文字の表示モードの切り替えをします。
［書式］ | CGEN ［文字表示モード］ 文字表示モード：０、１ 省略及び０のとき　ノーマルモード　　（ROMCGモード） １のとき　ユーザー文字モード（RAMCGモード）
［解説］ | 文字の表示モードをROMCG（ROMキャラクタジェネレータ）モードにしたり、 RAMCG（RAMキャラクタジェネレータ）モードにしたりするためのステートメントです。 RAMCGモードにすると、その以後表示される文字はすべて、ユーザー定義のキャラクタとなります。 ユーザー定義のキャラクタは、DEFCHR$命令で定義して使用してください。

### CSIZE

［機能］ | 文字の大きさを変えます。
［書式］ | CSIZE ［ｎ］ ｎ：０、１、２、３ 省略及び０　ノーマル文字 １　垂直２倍文字 ２　水平２倍文字 ３　垂直２倍・水平２倍文字
［解説］ | PRINT＃0命令で表示する文字の大きさを指定します。

### COLOR@new!

［機能］ | 指定範囲の文字色を変更します。
［書式］ | COLOR@（x1，y1）－（x2，y2）［，変更色］ x1，x2：テキスト画面上のＸ座標 y1，y2：テキスト画面上のＹ座標 変更色：文字の変更色。カラーコードについてはCOLORを参照。
［解説］ | 文字座標（x1，y1）と（x2，y2）を対角とする範囲に表示している文字の色を、<変更色>で指定した色に変更します。 座標は、（x1，y1）で左上，（x2，y2）で右下を指定しますので、x1≦x2，y1≦y2でないとエラーになります。 <変更色>は、0～15の範囲で指定できます。省略すると、文字出力時のコードの値が、変更色として使用されます。

### CREV@new!

［機能］ | 範囲を指定して文字を反転させます。
［書式］ | CREV@（x1，y1）－（x2，y2）［，文字表示モード］ x1，x2：テキスト画面上のＸ座標 y1，y2：テキスト画面上のＹ座標 文字表示モード：０、１ 省略及び０のとき　ノーマルモード（標準モード） １のとき　リバースモード（反転モード）
［解説］ | 文字座標（x1，y1）と（x2，y2）を対角とする範囲に表示している文字を反転します。 座標は、（x1，y1）で左上，（x2，y2）で右下を指定しますので、x1≦x2，y1≦y2でないとエラーになります。 文字表示モードを1とすると範囲内の文字が反転し、0とすると反転を解除します。

### CFLASH@new!

［機能］ | 範囲を指定して文字を点滅させます。
［書式］ | CFLASH@（x1，y1）－（x2，y2）［，文字表示モード］ x1，x2：テキスト画面上のＸ座標 y1，y2：テキスト画面上のＹ座標 文字表示モード：０、１ 省略及び０のとき　ノーマルモード（標準モード） １のとき　フラッシングモード（点滅モード）
［解説］ | 文字座標（x1，y1）と（x2，y2）を対角とする範囲に表示している文字を点滅します。 座標は、（x1，y1）で左上，（x2，y2）で右下を指定しますので、x1≦x2，y1≦y2でないとエラーになります。 文字表示モードを1とすると範囲内の文字が点滅し、0とすると点滅を解除します。

### CGEN@new!

［機能］ | 範囲を指定して文字の表示モードを切り替えます。
［書式］ | CGEN@（x1，y1）－（x2，y2）［，文字表示モード］ x1，x2：テキスト画面上のＸ座標 y1，y2：テキスト画面上のＹ座標 文字表示モード：０、１ 省略及び０のとき　ノーマルモード　　（ROMCGモード） １のとき　ユーザー文字モード（RAMCGモード）
［解説］ | 文字座標（x1，y1）と（x2，y2）を対角とする範囲に表示している文字の表示モードを切り替えます。 座標は、（x1，y1）で左上，（x2，y2）で右下を指定しますので、x1≦x2，y1≦y2でないとエラーになります。 文字表示モードを1とすると範囲内の文字がRAMCGモード、0とするとROMCGモードとなります。

### DEFCHR$

［機能］ | ユーザー定義のキャラクタジェネレータにキャラクタパターンを定義します。
［書式］ | DEFCHR$（ｎ）＝文字式 ｎ：0～255　キャラクターコード（NewX1／turboの場合） 65408～65535　XJISコード（NewX1turboの場合） 文字式：８文字のパターンデータ（NewX1の場合） 16文字のパターンデータ（NewX1turboでキャラクターコードの場合） 32文字のパターンデータ（NewX1turboでXJISコードの場合）
［解説］ | NewX1でユーザーが定義できるキャラクタは、通常のキャラクタ（文字）と同様に横方向に８ドット、縦方向に ８ドットの長さを持つタイル型のドットパターンです。このキャラクタを定義するためには、８文字の 文字列が必要で、１文字で横８ドット、縦１ドットのパターンを指定し、８文字で縦横８ドットの長さの キャラクタを指定します。すなわち、１文字に対応するキャラクタコードのビットパターンが、 横８ドットのドットパターンを表します。 ユーザーが定義できるキャラクタの数は256個までで、キャラクタコードｎに対応しています。表示する には、前もってCGEN１を実行し、PRINT文を使います。 NewX1turboでは、上記キャラクタは縦方向に16ドットとなるので、16文字の文字列が必要となります。 また、NewX1turboでは、XJISでの外字のフォントパターンを定義できます。定義できる外字の種類は最大128種類です。 外字は横方向に16ドット、縦方向に16ドットの長さを持つタイル型のドットパターンです。 外字を定義するには、32文字の文字列が必要で、１文字で横８ドット、縦１ドットのパターンを指定し、 前半16文字で左半分（８＊16ドット），後半16文字で右半分（８＊16ドット）のフォントを指定します。 KANJI$関数と組み合わせることにより、XJIS文字コードに未収録で Unicodeのみに収録されている全角文字を外字として定義することができます。

### PLOADnew!

［機能］ | 画像ファイルを、キャラクタパターンデータとして読み込みます。
［書式］ | PLOAD ”ファイル名”［，ｎ］ ｎ：開始キャラクタコード
［解説］ | imageフォルダ内にある画像ファイルを、キャラクタパターンデータとして読み込むときにはPLOADを実行します。 画像のファイル形式は、png，gif，jpg，bmpなど、一般的な形式であればどれでもかまいません。 このステートメントにより、DEFCHR$で１つ１つ定義しなくてもキャラクタパターンを まとめて定義することができます。 読み込む画像ファイルのサイズは、１文字につき8＊8ドット（NewX1turboの場合は8＊16ドット）で、 最大128＊128ドット（NewX1turboの場合は最大128＊256ドット）です。 ｎを指定すると、指定したキャラクタコードを左上としてキャラクタパターンデータを読み込みます。 ｎを省略すると０となります。 また、白黒の画像ファイルのみCOLORステートメントに対応します。 画像ファイルについてはimageフォルダ内にあるfont.pngを参考に作成して下さい。

### PSAVEnew!

［機能］ | キャラクタパターンデータを、画像ファイルとして保存します。
［書式］ | PSAVE ”ファイル名”
［解説］ | キャラクタパターンデータを、128*128ドット（NewX1turboの場合は128＊256ドット）の画像ファイルとして 保存するときにはPSAVEを実行します。 画像のファイル形式は、png，gif，jpg，bmpなど、一般的な形式であればどれでもかまいません。 拡張子を省略すると、png形式で保存されます。 画像ファイルはimageフォルダ内に保存されます。

### CLS

［機能］ | 各画面をクリアします。
［書式］ | CLS［ｎ］ ｎ：０，１，２，３，４，５，６，７
［解説］ | 各画面の表示を消します。 ｎの値によって、テキスト画面、グラフィック画面、スプライト画面のそれぞれをアクセスします。 ｎの値 ０　どの画面もクリアしません。 １　テキスト画面のみをクリアします。 ２　グラフィック画面のみクリアします。 ３　テキスト画面、グラフィック画面をクリアします。 ４　スプライト画面のみをクリアします。 ５　テキスト画面、スプライト画面をクリアします。 ６　グラフィック画面、スプライト画面をクリアします。 ７　テキスト、グラフィック、スプライト全ての画面をクリアします。 省略すると、テキスト画面のみをクリアします。

### SHOWnew!

［機能］ | 各画面の表示有無を設定します。
［書式］ | SHOW［ｎ］ ｎ：０，１，２，３，４，５，６，７
［解説］ | 各画面の表示有無を設定します。 ｎの値によって、テキスト画面、グラフィック画面、スプライト画面のそれぞれをアクセスします。 ｎの値 ０　テキスト，グラフィック，スプライト全ての画面を隠します。 １　テキスト画面のみを表示し、グラフィック画面、スプライト画面を隠します。 ２　グラフィック画面のみを表示し、テキスト画面、スプライト画面を隠します。 ３　テキスト画面、グラフィック画面を表示し、スプライト画面のみを隠します。 ４　スプライト画面のみを表示し、テキスト画面、グラフィック画面を隠します。 ５　テキスト画面、スプライト画面を表示し、グラフィック画面のみを隠します。 ６　グラフィック画面、スプライト画面を表示し、テキスト画面のみを隠します。 ７　テキスト，グラフィック，スプライト全ての画面を表示します。 省略すると、テキスト，グラフィック，スプライト全ての画面を表示します。

### PALET

［機能］ | グラフィック画面の特定のカラーを他のカラーに変換します。
［書式］ | PALET 変換前カラーコード，変換後カラーコード 変換前カラーコード：-16777216～15の整数 変換後カラーコード：-16777216～15の整数
［解説］ | グラフィック画面の変換前カラーコードで指定されるカラーを、変換後カラーコードで指定されるカラーに 変換します。カラーコードは0～15で指定されるプリセットカラーもしくはRGB関数，HSV関数で 指定される負の数（RGBカラー）を指定することができます。

### PALET@renew!

［機能］ | グラフィック画面の表示色を変更します。
［書式］ | PALET@（x1，y1）－（x2，y2），変換前カラーコード，変換後カラーコード x1，x2：グラフィック画面上のＸ座標 y1，y2：グラフィック画面上のＹ座標 変換前カラーコード：-16777216～15の整数 変換後カラーコード：-16777216～15の整数
［解説］ | グラフィック画面上の表示に対して、指定範囲内の特定色を他の色に変更します。 （x1，y1）－（x2，y2）のエリア指定は、左上を（0，0）とするグラフィック座標に対して行ないます。

### GET@

［機能］ | グラフィック画面ドットデータを読み込みます。
［書式］ | GET@（x1，y1）－［STEP］（x2，y2），パターン番号 x1，y1：ドットデータ読み込み開始座標。 x2，y2：ドットデータ読み込み終了座標。 パターン番号：格納するドットデータのパターン番号（0～255）。
［解説］ | グラフィック画面上のドットデータを指定されたパターン番号に格納します。読み込む画面の領域は、 開始座標（x1，y1）と終了座標（x2，y2）を対角とする長方形の枠内です。 終了座標（x2，y2）については、STEPによる相対座標での指定が可能です。 256までのドットパターンを格納することができます。

### PUT@

［機能］ | グラフィックドットデータをグラフィック画面に表示します。
［書式］ | PUT@（x1，y1）［－［STEP］（x2，y2）］，パターン番号 x1，y1：ドット情報の読み込み開始座標。 x2，y2：ドット情報の読み込み終了座標。 パターン番号：表示するドットデータのパターン番号（0～255）。
［解説］ | GET@で格納されたグラフィック画面のドットデータを、画面の指定した領域にグラフィックとして表示します。 表示領域は開始座標（x1，y1）と終了座標（x2，y2）を対角とする長方形の枠内です。 終了座標（x2，y2）については、STEPによる相対座標での指定が可能です。 終了座標（x2，y2）を省略すると、GET@で格納したドットデータが同じ大きさで表示されます。

### MOVEnew!

［機能］ | グラフィック表示の移動を行います。
［書式］ | MOVE（x1，y1），Lx，Ly，（x2，y2）［，移動処理］ x1，y1：移動する図形の移動元の座標。 x2，y2：移動する図形の移動先の座標。 Lx，Ly：移動する図形の幅および高さ。 移動処理：０、１ 省略及び０のとき　移動後に以前のデータを消去する。 １のとき　移動後も以前のデータを消去しない。
［解説］ | グラフィック画面に描かれている図形を移動します。 スクリーン座標の（x1，y1）を左上の起点として、横幅がLx、縦の長さがLyの範囲の図形を スクリーン座標（x2，y2）の位置へ移動します。 移動処理を0とすると移動後に以前のデータを消去し、1とすると以前のデータは消去されません。 省略時は0が指定されたものとみなします。

### GLOADnew!

［機能］ | 画像ファイルを読み込み、グラフィック画面に表示します。
［書式］ | GLOAD ”ファイル名”［，（ｘ，ｙ）］ ｘ，ｙ：読み込む画像データを表示する座標（ｘ：水平座標，ｙ：垂直座標）
［解説］ | imageフォルダ内にある画像ファイルを読み込み、グラフィック画面に表示するときにはGLOADを実行します。 画像のファイル形式は、png，gif，jpg，bmpなど、一般的な形式であればどれでもかまいません。 表示する座標（ｘ，ｙ）を省略すると、座標（０，０）から表示され、 読み込む画像ファイルのサイズが表示領域より大きければ、画像ファイルのサイズに合わせて描画領域が拡大されます。

### GSAVEnew!

［機能］ | グラフィック画面全体もしくは指定された範囲を、画像ファイルとして保存します。
［書式］ | GSAVE ”ファイル名”［，（x1，y1）－（x2，y2）］ x1，y1：画像ファイルとして保存する範囲の開始座標。 x2，y2：画像ファイルとして保存する範囲の終了座標。 x1，x2：水平方向の座標　0～SCREENで設定した描画領域の幅－１ y1，y2：垂直方向の座標　0～SCREENで設定した描画領域の高さ－１
［解説］ | グラフィック画面全体もしくは指定された範囲を、画像ファイルとして保存するときにはGSAVEを実行します。 保存する画像のファイル形式は、png，gif，jpg，bmpなど、一般的な形式であればどれでもかまいません。 ファイル名のみを指定すると、グラフィック画面全体が保存され、拡張子を省略すると、png形式で保存されます。 画像ファイルはimageフォルダ内に保存されます。

### STARTnew!

［機能］ | グラフィック画面の表示開始座標を設定します。
［書式］ | START （ｘ，ｙ） ｘ，ｙ：グラフィック画面の表示開始座標。 ｘ：水平方向の表示座標　0～SCRRENで設定した描画領域の幅－１ ｙ：垂直方向の表示座標　0～SCRRENで設定した描画領域の高さ－１
［解説］ | グラフィック画面の表示開始座標を設定します。 このステートメントで設定した座標が、ウインドウの左上端（表示領域）になります。 このステートメントにより、グラフィック画面でスクロールさせることができます。 設定した値は、XSTART変数およびYSTART変数で取得することができます。

### SCROLLrenew!

［機能］ | グラフィック画面の表示開始座標を、指定したドット数だけ移動します。
［書式］ | SCROLL ［ｍ］［，ｎ］ ｍ：水平方向の移動ドット数 ｎ：垂直方向の移動ドット数
［解説］ | グラフィック画面の表示開始座標を、指定した水平および垂直方向のドット数だけ移動します。 ｍ，ｎはどちらか一方のみを指定することも可能です（両方省略することはできません）。 このステートメントにより、グラフィック画面における１ドット単位のスクロールを手軽に行うことができます。

### VIEWnew!

［機能］ | グラフィック画面およびスプライト画面のモニタ上での表示領域を設定します。
［書式］ | VIEW ［（x1，y1）－（x2，y2）］ x1，y1：モニタ上での表示領域の左上座標。 x2，y2：モニタ上での表示領域の右下座標。
［解説］ | （x1，y1）を左上の頂点，（x2，y2）を右下の頂点とする長方形を、グラフィック画面およびスプライト画面の 表示領域として設定します。ここで指定する座標は、モニタの左上端を（0，0）とする物理的な座標です。 VIEWは、表示領域の指定を行うだけで、実際の画面に対する操作は行いませんので、 以前のビューポート中の図形が移動するようなことはありません。 また、VIEWの表示領域外にグラフィックやスプライトの各ステートメントを実行することも可能です。 VIEWのみ、WIDTHステートメント、INITステートメントのいずれかを実行することにより、 表示領域がモニタの全画面に戻ります。

先頭に戻る