ディスクに RUN というファイル名で保存しておき、
[SHIFT]+[F2][F5][F5] で起動します。(MSX2+・MSX turbo R で有効)
カーソルキーで動かして、スペースキーでプログラムを読み込み実行!
ポート1のジョイスティック対応です。これだけの BASIC でここまでできます!
運営者は当時実際これを AUTOEXEC.BAS と RUN で保存して使っていました。
MSX1・MSX2 は [SHIFT]+[F2] (F7) が cload" なので、
KEY7,"load"+CHR$(34) を実行する必要があります。
10 SCREEN0:KEYOFF:WIDTH40:FILES
20 X=POS(0):IFX<>0THENPRINT
30 J=CSRLIN-1:X=0:Y=0
40 LOCATEX*13,Y,1
50 IFSTRIG(0)+STRIG(1)=-1THEN110
60 S=STICK(0)+STICK(1):IFSMOD2=0THEN50
70 X=X+(S=3)*(X<2)-(S=7)*(X>0)
80 Y=Y+(S=5)*(Y<7)-(S=1)*(Y>0)
90 S=STICK(0)+STICK(1)
100 IFSMOD2=1THEN90ELSE40
110 LOCATE,,0:FORI=0TO11
120 N$=N$+CHR$(VPEEK(X*13+Y*40+I)):NEXT
130 CLS:PRINT"RUN ";N$:RUNN$
MSX turbo R の Disk basic 2 ではディレクトリが使用でき、
FILES では現在のパスも表示されますが、こnプログラムでは考慮してません。
30 Y=0 を Y=1 に変更するだけです。
WebMSX では AUTOEXEC.BAS で自動起動し、各プログラムを一覧しています。
その際 FILES"*.BAS" として、.BAS ファイルのみを表示しています。
各プログラム実行後 Shift+F2→F5→F5 でローダが実行されます。
一部 INKEY$ の意図しない動作を考慮するため 125、
MSX1・MSX2 での動作を考慮して、126 を加えています。
10 SCREEN0:KEYOFF:WIDTH40:FILES"*.BAS"
125 IFINKEY$<>""THEN125
126 KEY7,"load"+CHR$(34)