9.その他の処理1
ロック中の処理を止める
吹き飛んでるときはアニメーションしない
スプライトの向きによってスピード変える
画面外に出たら消滅させる
壁にぶつかったら向きを変える
穴に落ちそうになったら向きを変える
マリオの方を向かせる
cfgファイルで設定した属性を変更する


ロック中の処理を止める
     LDA $9D
     BNE RETURN
キノコ取ったときや、ダメージ時、死亡時などにスプライトの動きを止めます。
グラフィックルーチン呼び出しの後に入れないと、ロック中に透明になってしまいます。
吹き飛んでるときはアニメーションしない
     LDA $14C8,x
     CMP #$08
     BCC RETURN

スプライトの向きによってスピード変える
ルーチンの外に以下を書き、
X_SPEED    dcb $08,$F8    ;右向き時のスピード/左向き時のスピード
メインルーチンの中に以下を書いてください。
     LDY $157C,x
     LDA X_SPEED,y
     STA $B6,x

画面外に出たら消滅させる
既存のスプライトからSUB_OFF_SCREEN_X3ルーチンをコピーしてきて、メインルーチン内で呼び出してください。

壁にぶつかったら向きを変える
     LDA $1588,x
     AND #$03
     BEQ NOT_TURN
     LDA $157C,x
     EOR #$01
     STA $157C,x
NOT_TURN

穴に落ちそうになったら向きを変える
     LDA $1588,x
     AND #$04
     BNE NOT_TURN2
     LDA $157C,x
     EOR #$01
     STA $157C,x
NOT_TURN2

マリオの方を向かせる
既存のソースからSUB_HORZ_POSをコピーしてきて、以下を実行してください。
     JSR SUB_HORZ_POS
     TYA
     STA $157C,x

cfgファイルで設定した属性を変更する
Tweaker1〜6の値を書き換えることで、任意のタイミングでスプライトの属性を変更できます。