HSP3

HSPはおにたま氏が作られた無料のプログラム言語です。 Visual C++とDirectXでプログラムするにはそれなりの気合がいりますが、HSPでは手軽にプログラムできます。 Visual C++と比べると機能はかなり制限されますが、視覚課題提示程度のプログラムであれば、ある程度HSPでカバーできそうです。
HSP version 3を使って課題を作成しました。 Windows2000やXPではパラレルポートを直接叩けないので、giveio.sysとhspio.lzhが必要となります。 giveio.sysとhspio.dllとhspio.asは同じfolderとします。 背景黒に白で感じで春・夏・秋・冬と表示するプログラムを示します。 途中でやめるにはESCキーを押してください。 万一プログラムが暴走した場合にはALT+F4キーを押してください。
#include "hspio.as";hspio.dllを使えるようにする
#define LTP 0x00378;パラレルポートのアドレス
io_init 2;giveio.sysを使えるようにする
bgscr 0,640,480,0,0,0;枠なしwindowを作成する
cls 4;黒で塗りつぶす
chgdisp 1,640,480;スクリーンの解像度をフルカラー640×480にする
gsel 0,2;windowを最前に配置
font "MSゴシック",100;フォントの設定
mouse -1;マウスは表示しない
randomize;乱数の初期化

*mainloop
redraw 0;裏面に作図
color 255,255,255;フォントの色は白
pos 320-100/2,240-100/2;文字の表示座標
STIM=rnd(4);0〜3までの整数の乱数を発生
switch STIM
case 0:mes "春":swbreak
case 1:mes "夏":swbreak
case 2:mes "秋":swbreak
case 3:mes "冬":swbreak
swend
io_out LTP,2^STIM;LTPに信号1を送る
redraw 1;裏面を表示
repeat 8;0.1×8秒待つ
stick key;
if key==128:goto *finish
wait 10; 0.1秒待つ
loop
wait 80;0.8秒待つ
redraw 0;裏面に作図
cls 4;黒で塗りつぶす
io_out LTP,0;LTPに信号0を送る
redraw 1;裏面表示
wait 20;0.2秒待つ
goto *mainloop;ループ

*finish
io_free;giveio.sysを開放する
chgdisp 0;スクリーン表示を元に戻す
end;プログラムの終了
ソースファイルtest1.hsp
枠なしウィンドウの作成、フルスクリーン表示、スクリーンのフリップ機能など、いろいろな機能がてんこ盛りですが、50行足らずのプログラムで視覚呈示課題が作成できました。 インタープリタ言語なので、このままでもいいのですが、実行ファイルを作成することもできます。
メニューバーからHSPを選択し、実行ファイル自動作成を選択します。


hsptmp.exeが作成されました。名前を変更し、拡張子をexeにすればOKです。

実行ファイルtest1.exe
但し、この実行ファイルと、hspio.dll、giveio.sysの3つがなければプログラムは正常に動作しません。