LOCATEで指定出来る範囲が大きく超えてしまっているのが問題ですね。 TOUCHで出す値は200とか300とかにもなりますので、LOCATEで表せる範囲(横49,縦29)を遙かに超える、という事です。 どうしても「タッチした位置に"#"を置きたい」事をやってみたいのでしたら、 DISPLAY 1 @P TOUCH OUT TM,TX,TY LOCATE FLOOR(TX/8),FLOOR(TY/8):PRINT"#"; VSYNC 1 GOTO @P こうしてみてはいかがでしょう(FLOORは小数点以下切り捨ての整数を返す、端っこで改行させないようにする為「;」をPRINT"#"の後に付ける)。