drawsp2の中の計算式が怪しいかも

800-4*%0ではそもそも正しい結果にならない気がするけどな
これだと(800-4)*%0っていう計算になり、それが指定できない座標になってるんだと思う

計算式をdraw2の外に出して、きちんとやってみたらどうだろう