ざっと画面のソースコードを見ましたが、配列X[1~4],y[1~4]にどんどん足していく理由はあるのですか?結局最後はBGOFSでBG0面にだけ反映させているのでX[4]とy[4]の数値しか反映されていないようです。 TXとTYにかんしても同様にX[1]から計算していますが全部上書きしていますね。 50行目51行目の計算は自分自身を2倍して2足しているのであっという間にBGが画面から見えなくなってしまうようですがそれは想定した動きなのかどうか…