POCKET COMPUTER INFORMATION
http://pokecom.info/
GPRINT を使う
シャープのポケコンには GPRINT という素晴らしい命令があります。
グラフィックレベルで線画を行えるもので、
これによってキャラクターを素早く線画する事ができます。
パソコンでこれを実現する場合は POKE や VPOKE でメモリに入れたり、
PSET で遅い線画を行ったりする事がありました。
高速にするのなら機械語(マシン語)を用いる必要があったわけです。
これを GPRINT で実現できます。
パソコンの場合1文字(8バイト)分を縦に線画していくのが普通のようですが、
GPRINT では縦8ピクセル分を横に線画していきます。
4ピクセルのキャラクタとピクセルの関係は以下の通りです。
0 1 2 3 4 5 6 7 8 9 A B C D E F
□ ■ □ ■ □ ■ □ ■ □ ■ □ ■ □ ■ □ ■
□ □ ■ ■ □ □ ■ ■ □ □ ■ ■ □ □ ■ ■
□ □ □ □ ■ ■ ■ ■ □ □ □ □ ■ ■ ■ ■
□ □ □ □ □ □ □ □ ■ ■ ■ ■ ■ ■ ■ ■
16進数と2進数の関係が分かる方であれば、90度反時計にしてある状態と理解して下さい。
これを以下のように記載します。
2 4 6 8 …
2 4 6 8 …
2 4 6 8 …
2 4 6 8 …
1 3 5 7 …
1 3 5 7 …
1 3 5 7 …
1 3 5 7 …
例えば以下のようなキャラクタとすると
□ □ ■ ■ …
□ □ ■ ■ …
■ ■ ■ □ …
□ □ ■ □ …
□ ■ □ ■ …
□ ■ □ ■ …
■ □ □ ■ …
■ □ □ ■ …
縦を4ピクセルずつに分けて、それぞれコード化します。
4 4 F 3
□ □ ■ ■ …
□ □ ■ ■ …
■ ■ ■ □ …
□ □ ■ □ …
C 3 0 F
□ ■ □ ■ …
□ ■ □ ■ …
■ □ □ ■ …
■ □ □ ■ …
これを順番に記載し、"C4340FF3" となります。
実際に RUN MODE で GPRINT"C4340FF3" としてみましょう。無事左上に表示されましたか?
慣れればグラフィックツールを用いてコード化する必要はなく、
方眼紙に元の表示を描き、それを元にポケコンで直接入力する事もできるようになるでしょう。
ここまで行えるようになれば、ドット屋として一人前です! ^^v
なお、プログラムに入れる場合、座標として GCURSOR を利用しますが、
PC-E200 および PC-G シリーズでは画面上に表示される座標は (0,7) となります。
これはスクロールによる非表示部分も考慮しているようです。
サンプル
トップページ等で PC-G850V に大きく「POKECOM.INFO」を表示させていますが、
これも GPRINT で作ったものだったりします。
ソースを公開しますので、ご参考に。
2倍にしているので 0 3 C F しか使わず、同じコードを2度繰り返しています。
4倍であれば 0 F のみで4度繰り返すわけです。
ダウンロード
LOGO.BAS
文字を大きくする方法であれば、GPRINT を用いなくても
PRINT で表示した文字から POINT でドットを取得し、
LINE で線画していく方法で簡単に実現できます。
同じ動作をするプログラムを以下にあげます。
ダウンロード
LOGO2.BAS
しかし、実際に実行して分かるとおり、
GPRINT の線画は一瞬で表示されます。
Presented by Fu-sen.