まあ適当に月風魔伝。 ゼロページを眺めてみると0x4F番地が 0x00 通常 0x01 しゃがみ 0x02 ジャンプ中 0x0A 魔性のコマ使用中 という風に変化する。 じゃあということで0x4F番地にonReadでブレイクポイントをしかけてみるも、何もしなくてもバカスカブレイクするので方針変更、 0x4F番地にonWriteでブレイクポイントをしかけてジャンプしてみる。 すると E336 lda #$02 E338 sta $4F <ここでブレイク でもってここからプログラムを遡るとすぐに、 E265 lda $4F E267 and #$0B E269 bne $E274 E26B lda $F2 E26D and #$80 E26F beq $E274 E271 jsr $E336 と0x4F番地を読み出している箇所を発見。しかも直後にandしている0x0Bは、先の状態を全てorしたものなので、 多分ここがジャンプ可能かどうかの判定部分。 よって0xE267番地の"and #$0B"(29 0B)を"and #$00"(29 00)に書き換えればいつでもジャンプ可能になる。 と思ったんだけど問題発生。しゃがみ中にジャンプするとグラフィックが化けるうえにしゃがめなくなる。 なのでしゃがみ中だけはロックをかけて"and #$01"(29 01)にする。 ロッキー用に変換して 空中ジャンプ F90F3204 まあ、ダメージ食らうと落ちちゃうんだけどね。