BGを表示する部分を Z=INSTR(ST$,M$[X]):IF Z!=-1 THEN BGPUT 0,X,Y,Z ELSE LOCATE 0,0:? X,Y:STOP として設定してない記号が使われたらその時のX,Yの値を 表示してプログラムの実行を中断してみるのはどうでしょうか? マップデータの読み込みについては読み込むマップデータの先頭に ラベル付けてマップデータを読み込む前にRESTORE命令で そのラベル名を指定する必要があります。 RESTORE命令を使わないとREAD命令ではプログラムの先頭から 順番にDATA命令のデータを読み込もうとするため読み込みをしたい データの前に別のデータがある場合はRESTORE命令で読み込む データの位置を指定する必要があります。