再度ソースをチェックしてみました。
3か所致命的な間違いを見つけたのですが、セルフコンパイルしてみるといつまでたっても終わらず。処理してる行番号を算出してる行で行番号を表示させてみると、最終行まで到達しても、また最初からやり直してしまう状態でした。ソースを確認しているとき、「3パスで処理してる」というのを思い出し、ソースを戻して動かし続けたらReadyが出た。MONで$C000からダンプしてみると、オブジェクトが生成されてました。あとは乱bタイムをくっつけて動かすだけです。最後に打ち込んだ日付を確認したら、約6年放置してた・・・
これでPiOなどに載ってるBASICコンパイラ用のゲームもコンパイルできます。完走できるとの情報を頂いて非常に助かりました。ありがとうございました。