分岐処理はON GOTO文を使って、ボタン入力の判定は
IF BUT THEN
 IF !(LOG(BUT,2)-FLOOR(LOG(BUT,2))) THEN
  ON LOG(BUT,2) GOTO @BGM~,@BGM~,…
 ENDIF
ENDIF
みたくしたらスッキリするんじゃないです?
後291~297行目のIF文の条件式の二つのうち一つが共通してる部分は因数分解みたく
IF !(WA MOD 7) THEN
 IF BUT==1 THEN 
  処理
 ELSEIF BUT==2 THEN
  処理
 ENDIF
ENDIF
みたくIF文の入れ子にしてまとめたりできるかも。
0そうだね プレイ済み
