ポケコン入門(4) PC-G850V グラフィック編
ポケコン入門シリーズ、PC-G850V編も今回でとりあえずの最終回となります。ポケコンも初期のモデルでは、多くのプログラム関数電卓と同様、数字とアルファベットの表示しかできませんでした。しかし、PC-1500やPB-700あたりからグラフィック表示が可能なモデルが増えてきており、PC-G850Vでは144×48ピクセルの表示が可能となっています。ちなみにポケコンではグラフィック画面とテキスト画面の区別はありませんので、CLSを実行するとテキスト文字、グラフィックの両方が消去されます。

本日は、そんなPC-G850Vのグラフィック命令について説明したいと思います。PC-G850やその他のSHARPのポケコン(PC-E650, PC-1360Kなども)は、パソコンのBASICと同様に座標を指定して線や点を描画する命令(PSET, LINEなど)のほかに、16進数の文字列でドットパターンを表示する命令(GPRINT)がありますので、大きく2つに分けて説明したいと思います。
1. PSET/PRESET/LINE
8bit時代のパソコンのBASICと同様の命令で、それぞれ、点を打つ、点を消す、直線(あるいは四角形)を描画する、といった命令になります。それぞれの命令の書式を示します。([ ]内は省略可能であることを、{ }内はいずれか一つを選択することを示します)
(1) PSET (x, y) [,X]
座標(x, y)に点を打つ。
X を指定時は、座標(x, y)の色を反転する。
(2) LINE [(x1, y1)]-(x2, y2)[, {S/R/X}][, p][, {B/BF}]
座標(x1, y1) (省略時は最後に実行したLINE命令の終点(x2, y2))から、
座標(x2, y2)まで直線(B 指定時は長方形、BF 指定時は塗りつぶされた長方形)を
描画する。S 指定時ドットを打つ、R 指定時は消す、X 指定時は反転する。

pを指定することにより線のドットパターン(16bit(0~65535)の数値で16ドット分(左がMSB、右がLSB))
を指定できる。

(3) PRESET (x, y)
座標(x, y)の点を消す。
(4) POINT (x, y)
座標(x, y)の色を得る関数。点灯しておれば1を、消灯しておれば0を返す。
これらの命令群は単純な図形の描画に向いていると思います。
2. GPRINT
PC-1500からの伝統的な命令で、縦1列の8ドット分を8bit(0~255)の数値で指定することにより(下がMSB, 上がLSB)グラフィックパターンを表示します。実際には数値を";"で区切って指定するか、16進数を表す文字列で指定します。
(1) GPRINT "16進文字列"
(2) GPRINT 数値;数値;数値;数値;…

(3) GCURSOR (x, y)
GPRINT文の表示開始位置(左下の座標)を(x, y)に指定する。
これらの命令群はゲームのキャラクターや複雑な図形を描画するのに向いていると思います。
今回まで4回にわたってPC-G850Vの使い方についての解説を行ってきました。これである程度PC-G850Vで実用的なプログラムを組むことも可能になるかと思います。ただ、BASIC言語についての一般的なことは省略させていただきましたので、初めての方は別途入門書などを読まれることをお勧めいたします。これでこのシリーズはいったん終了としますが、何か質問やリクエストなどがあればコメント欄あるいは掲示板に書き込みをお願いいたします。内容によっては続編を考慮させていただきたいと思いますので、よろしくお願いいたします。
近頃はBASICの入門書といえばVisual Basicばかりで、古典的なBASICの本はほとんどないですね…。

本日は、そんなPC-G850Vのグラフィック命令について説明したいと思います。PC-G850やその他のSHARPのポケコン(PC-E650, PC-1360Kなども)は、パソコンのBASICと同様に座標を指定して線や点を描画する命令(PSET, LINEなど)のほかに、16進数の文字列でドットパターンを表示する命令(GPRINT)がありますので、大きく2つに分けて説明したいと思います。
1. PSET/PRESET/LINE
8bit時代のパソコンのBASICと同様の命令で、それぞれ、点を打つ、点を消す、直線(あるいは四角形)を描画する、といった命令になります。それぞれの命令の書式を示します。([ ]内は省略可能であることを、{ }内はいずれか一つを選択することを示します)
(1) PSET (x, y) [,X]
座標(x, y)に点を打つ。
X を指定時は、座標(x, y)の色を反転する。
(2) LINE [(x1, y1)]-(x2, y2)[, {S/R/X}][, p][, {B/BF}]
座標(x1, y1) (省略時は最後に実行したLINE命令の終点(x2, y2))から、
座標(x2, y2)まで直線(B 指定時は長方形、BF 指定時は塗りつぶされた長方形)を
描画する。S 指定時ドットを打つ、R 指定時は消す、X 指定時は反転する。

pを指定することにより線のドットパターン(16bit(0~65535)の数値で16ドット分(左がMSB、右がLSB))
を指定できる。

(3) PRESET (x, y)
座標(x, y)の点を消す。
(4) POINT (x, y)
座標(x, y)の色を得る関数。点灯しておれば1を、消灯しておれば0を返す。
これらの命令群は単純な図形の描画に向いていると思います。
2. GPRINT
PC-1500からの伝統的な命令で、縦1列の8ドット分を8bit(0~255)の数値で指定することにより(下がMSB, 上がLSB)グラフィックパターンを表示します。実際には数値を";"で区切って指定するか、16進数を表す文字列で指定します。
(1) GPRINT "16進文字列"
(2) GPRINT 数値;数値;数値;数値;…

(3) GCURSOR (x, y)
GPRINT文の表示開始位置(左下の座標)を(x, y)に指定する。
これらの命令群はゲームのキャラクターや複雑な図形を描画するのに向いていると思います。
今回まで4回にわたってPC-G850Vの使い方についての解説を行ってきました。これである程度PC-G850Vで実用的なプログラムを組むことも可能になるかと思います。ただ、BASIC言語についての一般的なことは省略させていただきましたので、初めての方は別途入門書などを読まれることをお勧めいたします。これでこのシリーズはいったん終了としますが、何か質問やリクエストなどがあればコメント欄あるいは掲示板に書き込みをお願いいたします。内容によっては続編を考慮させていただきたいと思いますので、よろしくお願いいたします。
近頃はBASICの入門書といえばVisual Basicばかりで、古典的なBASICの本はほとんどないですね…。
- 関連記事
-
- SHARP PC-1255 & CE-125 (2014/10/17)
- ポケコン入門(4) PC-G850V グラフィック編 (2014/07/17)
- ポケコン入門(3) PC-G850V BASIC言語編 (2014/07/14)
スポンサーサイト