敵2が死んだときに変なバンク切り替えが入るバグの原因が発覚。

バンク切り替えのテストコードが残ってて、そこで即値を入れているつもりが5番のアドレスの内容に切り替える、と書いてしまっていたせいで、敵2の0番が死んでる時にたまたま5番のアドレスが変な値に書き換わる、というメモリ破壊というか変なアドレスを参照してるだけ、というお粗末バグだった

; バンク切り替えテスト
; lda #%10000000
; sta $8000
; lda 5
; sta $8001

スプライトルーチンがおかしいのか?と思ったがコメントアウトしても関係なく、敵1では起きないので敵2の問題か?、爆発で死んだら起きないと思ったらそうでもなく、色々試してたらバンク切り替えのコードをコメントアウトしたら起きなくなって、テストコードが残ってて即値でなく変なメモリを見てた、ということにようやく気づいた。

だいぶ時間を無駄にしたけどとりあえずわかってよかった…