sayさん観察眼が鋭い! てか僕はさらっと見落とした(^^; 185行目、たぶんGOTOの間違えなんでしょうね〜。スタックオーバーフローの理由はsayさんのいうとおりです。RETURNしてないのに何度もGOSUBを呼び出すことでオーバーフローが発生した感じです。 (GOSUBはRETURNで戻る命令なので呼び出される度に戻る位置を内部的に記録していますが、それがRETURNされないまま繰り返し呼び出される事で内部的な記録だけが積み重なってオーバーする感じ。RETURNされるとその部分の記録は不要になるのでオーバーしなくなるのです)