第1章 概要
1.1 デバイス入力機能とは
ユーザーがパソコンへ指示を与えるための周辺機器には、キーボードやマウス、ジョイスティックなどがありますが、DMシステム2では、これらを総称して「デバイス」と呼んでいます。
従来のプログラミングでは、マウスにはマウスの、ジョイスティックにはジョイスティックのと、異なるデバイスに対してそれぞれのルーチンを用意する必要がありましたが、DMシステム2ではこれらのデバイスをひとつの命令群で一括管理できます。
これにより、マウスがなくてもジョイスティックで、ジョイスティックがなくてもキーボードで、といった具合に、いかなる環境においても同一のルーチンでひとつのアプリケーションを操作することが可能となります。
1.2 デバイス入力機能を使用するメリット
MSX BASICは様々な入力機器に対応しているのですが、機器によって入力の検出方法や結果がバラバラです。2つのデバイス、あるいはキーボードとデバイスの両方の入力を同時に検出するのは非常に面倒です。
例えばジョイスティックではSTICK関数とSTRIG関数、マウスではPAD関数という風に入力機器に対応するBASICの命令も違いますし、値の意味も違います。また、マウスが接続されているポートに向かってジョイパッドのSTICK関数を実行すると、無意味な値が返ってきます。
そこで、DMシステム2では、デバイスの入力と検出方法を一本化しました。たった1回の命令でキーボード、ポート1、ポート2の入力状態をすべてチェックできますので、プログラムが簡潔になり便利です。
また、マウス操作などのプログラムではたった1つの命令を実行するだけでカーソルを自由自在に動かすことができ、しかもボタンをクリックするまでBASICに帰って来ませんので、プログラマの負担がたいへん軽くなります。
次のリストは、110行はモードの設定、130行はプログラムの終了を行ってるだけですから、実際にマウスの移動とクリックの判定をしているのは120行だけです。しかも、この1命令だけでマウスカーソル用のスプライトまで表示しているのです。
100 SCREEN 5,0:SPRITE$(0)=STRING$(255,8)
110 _DMMINI(0,0)
120 _DMM(A),S
130 END