ロックマン5解析資料

(注意)解析時に適当にメモったやつを適当に公開しているだけです。正しい保証は無いです。自分のハックのアドレスとか混ざってる可能性あるし・・・。
逆に自分は分かっているのにここに書いてないこともあります。分かってるけど書き直すのめんどかったりとか。
いろいろ弄ったりする前に周辺を解析すること推奨。
アドレスはヘッダ込み。

色々やってて思ったのが、やっぱりプログラムを読むことが大事なのかも。
自分は改造の作業をするとき作るよりも解析がメインなので。(将来のための経験値になればなぁと思ってやってるけど、正直FCレベルの解析なんかできても・・・orz)
時間かけて苦労してプログラムを読めばその分なんかこう・・良いもんじゃないの?知らんけど。
だからむしろこの資料は、本気でプログラム改造する人向けというより、ちょっと弄りたいな的な人向けの資料になると思う。

2010〜  武器選択画面に関するサブルーチン
            呼び出し元は3DE99〜
253A〜  武器選択画面のBGパレット
254A〜  武器選択画面のSPパレット
255A〜  武器選択時のロックマンのパレット
25A4〜  選択中の武器と装備する武器(こっちはメニュー画面での動作のほう?25F1〜との違いがわからん)
25B4〜  ビートの文字(上部)のBGデータ
25BC〜  武器選択画面のビートの文字
25C8〜  ビートの文字(下部)のBGデータ
25DC〜  ビートプレートの光る位置
25E4〜  E,M,残機の表示位置
25F1〜  武器選択後に装備する武器番号(表示ライフもこれ依存)
2601〜  それぞれの武器選択時のSP1にバンクする画像の番号
2621〜  ビートとかラッシュのSPへのアドレス?
26C1〜  26D1〜へのアドレス?
26D1〜  色を薄くするデータ+カーソルが当たったときに青く光らせるデータ
27AA〜  武器未取得時に埋める場所
27C2〜  ライフゲージのBGデータ
27CD〜  エネルギー表示の位置(high)
27DA〜  エネルギー表示の位置(low)
27F5〜  E缶使用時の残E缶の表示位置
27F5〜  E缶使用時の残M缶の表示位置
27FA〜  M缶使用時の残M缶の表示位置
27FE〜  M缶使用時の残機の表示位置

143C4〜  ボス登場時のY座標
143D0〜  このフレーム数になるとライフセット
143DC〜  ボス登場後最初のアニメ、グラビティ、ウェーブ、ストーン・・・・
143E8〜  ボスのオブジェクトID
143F4〜  Type Bits

16D10〜1800F オープニングのBG?忘れた

18010〜  起動〜オープニングの処理
             2E010〜のどっかでここを呼び出してる

1ED10〜20010 タイトル、パスワード、ボス選択、後、のBG配置

20D10〜2200F 武器画面、起動時のロゴ、実家撃破後の実家消滅のBG配置

22D10〜2400F ブルースステージ、実家のBG配置

2E0C8  タイトル画面でのカーソルの高さ変更の値
2E0E8  タイトル画面で決定したときカーソルがこの高さならボス選択画面になる
2E0EE〜  ボス選択画面表示のルーチン
2E1AB〜  ボス選択画面のカーソルのSPについてのルーチン
2E272〜  ボス選択後のルーチン
2E3C7〜  パスワード画面の処理
  $10 玉の色選択orENDのカーソルの位置
  $12,$13 パスワード入力の座標
2E52B〜  パスワード画面のカーソル点滅のサブルーチン
2E5A9〜  死亡後のルーチン(残機によって分岐、そのまま続けるかパスワード画面表示か)
2E677〜  パスワード画面表示のサブルーチン(画面暗転→BGセットまで)
2E6B8〜  パスワード判定+ボス選択画面へorエラー
2E7C6〜  パスワード生成ルーチン
2E857〜  パスワード画面の文字表示のルーチン(Xにパターン)
2E86D〜2EA08 武器取得演出

2EA09〜2EA35 Yレジスタ: n * 0x26 BG,SPバンク,パレットを設定
2EA36〜2EA46 AレジスタにSPバイト数,Yレジスタに開始アドレス,SP設定
2EA47〜2EA56 ボス選択後、武器取得の流星設定
2EA57〜2EA89 流星移動サブルーチン
2EA8A〜2EAA0 Aレジスタに入れた時間待つ。(流星移動サブルーチン込み)
2EAA1〜2EAFD 撃破ボスの顔を黒で埋めるサブルーチン
2EAFE〜2EB3A 8ボス撃破後、真ん中にブルースの顔を表示するサブルーチン
2EB3B〜  ボス選択後〜暗転の間にパレット0のBGを消すサブルーチン
2EB81〜  BG,SPバンク,パレットデータ(0x26でひとつのデータ)
 2EB87〜2EBA6 タイトルのパレット
 2EBAD〜2EBCC ステージ選択画面でのパレット8つ
2EC6F〜  ジャイロマン選択時のSPパレット02,03(これの前後にそれぞれのボスが並んでる)
2EC97〜2EC9B ステージ選択後のフェードアウト時のBGバンク
2EC9C〜2ECA2 
2ECA3〜2ECB2 タイトル画面のSP
2ECB3〜2ECD2 ステージ選択のカーソルのSP
2ECD3〜2ECF2 ステージ選択のロックマンのSP
2ECF3〜2ED9F ステージ選択のSP
  高さ、SP番号、パレット、横
  パレットは40で左右反転
  20でBG裏
2EDA0  謎の1byte
2EDA1〜2EDB0 ボス選択画面のカーソルの光の座標(アニメ中)
2EDB1〜
2EDBD〜  ボス選択後のボスアニメについてのなにか?
2EDC0〜  ボス選択後のそれぞれのボスの最初のアニメ番号
2EDC8〜  このフレーム数まで来ると名前表示
2EDD8,2EDD9 名前を表示する位置
2EE7C、2EE7D グラビティーを倒した後に選択画面で潰すBG(20は上、21は中、22は下)
2EE7E、2EE7F ウェーブ
以下略
2EE8C〜2EE9B それぞれのボスを倒した後に消すSP(40を基準として1個4で数える、個数)1ボス2バイト
2EEDE〜2EEE3 ボス選択後フェードアウト時に消すBG(ロックマンの顔、青パレットの顔)
2EF00あたり〜 武器取得メッセージ
   5Cで改行
    2B00とか高さを決める。20で1行。1右にずれる?
2EFE8,2EFE9 メッセージ開始位置

2F1B0くらいまで データ色々、死亡後の処理もBANK17だから中間データもここの中

2F1D6〜  なんかの処理・・・。
  起動時のCAPMCO表示 海外仕様だと表示されるやつっぽいよ(なんかここを参照してるジャンプが見つからないんだが・・・。未使用???)
  ブルースステージ選択後の処理
  ワイリーステージ選択後の処理
  偽ブルース撃破〜ワイリーカプセルの演出

36114〜  スライディング時、チャージキックを装備してたら〜のルーチン
3633D〜  スライディングチャージの処理
36590  ワープマンが着地するときの高さ
36FCB〜  ワープカプセルの数値
  $F9
  $29
  ワープ後のX座標
  0468に入れる値

37581〜  それぞれの武器発射時のルーチンのアドレス(low)
37591〜  それぞれの武器発射時のルーチンのアドレス(high)
375A1〜375B5 バスターの変数とか
  チャージにかかる時間 3
  アニメ番号  3
  相対座標番号  3
  X速度low  3
  X速度high  3
  $5Bに入れる値  3
  効果音   3

38342〜3840B 死亡時の処理、針に当たったときもここ

384CF〜  オブジェクトX以外削除

3C23F〜  $99が06のときのBG描写ルーチン(ボス選択後)
  A9の値とか変えれば多分いろいろ変わる

3C2A8〜  $0780〜をVRAMに書き込む
  これ使えるのは画面が暗いときだけかも・・・
  画面が明るいときにやるなら$19を使う

3D12D  シャッター開の16x16のチップ数
3D14D  シャッター開の待ちフレーム

3D403〜  ステージ音楽を鳴らす処理
3D4CA〜  ステージ開始時のSPパレット02,03

3D7EB〜  BG書き換えのサブルーチン(要検証!)
  Xの位置にあるBGをYに変える・・・多分・・・・・Aレジスタは関係ないはず
  パレットは・・・まぁ・・・・ね

3E040あたり 落下死のルーチン
3E06A  画面外に行っても消滅しないオブジェクト
3E135  ボスがダメージ食らったときのスプライトパターン番号(アニメじゃない注意)(BANK12,14,16で同じ値しか指定できないっぽい)
3E2F1〜3E2F3 バーのパレット(ロックマン、特殊武器、ボス)
3E2F4〜3E2F6 バーの位置(〃)

3F18F〜  自機狙い弾のサブルーチン
  $02に速度(low)、$03に速度(high)を代入して呼び出す
  XのX,Y速度が代入される
  $0Cに向きが代入される
  向きは自分で入れたまへ
  Y,$00〜$05,$0A〜$0C使用
  $0AにX距離,$0BにY距離,$0Cに向きを入れて3F1ABから呼び出すと、その距離を移動するルーチンに変わる。
  さらにその距離を移動する時間が$02.$03に入っているのでこれを利用することで指定距離を移動できる。(恐らく1,2ドットずれるから移動後に座標を代入しなおすことを推奨。)
  ただし√2現象が起こるので注意。

3F2C2〜  00〜07→各bitへの変換表

3F3CF〜  ロックマンの色を元に戻す(青じゃなくて$0630〜に入ってるパレットに戻す)

3FEB2  開始時の残機
3FEBA  開始時に初期装備してる武器

ロックマンの状態($30)
00 普通(地上)
01 ジャンプ
02 スライディング
03 梯子
04 水上バイク
05 その場停止(未使用?)
06 ダメージノックバック
07 死亡      
08 ワープマン登場
09 チャージマンの電車内に入るオブジェクトに触れた瞬間
0A チャージマンの電車内に入る
0B ウェーブマンのパイプ移動
0C その場停止(未使用?)
0D 水上バイク乗るまでの強制歩行
0E 水上バイク降りる時の強制歩行
0F ボス撃破〜真ん中へ〜玉吸収まで
10 ワープマン離脱
11 偽ブルースの部屋に入った時のウェイト
12 偽ブルースの茶番
13 偽ブルースイベント後の回復缶
14 偽ブルース撃破後?
15 ワープカプセルに入った瞬間
16 ワープカプセル
17 ワープカプセル?
18 ボス撃破後音楽鳴らす
19 ボス登場ウェイト
1A その場停止(未使用?)
1B その場停止(未使用?)
1C カプセル撃破
1D 追いかけっこ〜土下座
1E 博士救出 
1F 博士救出
20 ワイリー戦後のつり天井
21 天井が上がる
22 なんか間
23 最後

音楽について
00〜07 各ステージ音楽
08 ブルースステージ
09 ワイリーステージ
0A ボス戦音楽
0B OP
0C なにこれエンディング?
0D ステージ選択
0E 選択後
0F ダークマンステージ選択後
10 ワイリーステージ選択後
11 ボス撃破後
12 ゲームオーバー
13 と、その後
14 武器ゲット
15 ジャンピング土下座
16 ワイリーカプセル戦
17 ダークマン、ワイリーステージイントロの雷
18 道が開けるやつ
19 ブルーレット
1A バスター
1B ジャンプ
1C ダメージ
1D ティウンティウン
1E バスター反射
1F 
20 中途半端なチャージ
21 チャージショット
22 チャージ中
23 チャージキック
24 1UP
25 シャッター
26 HP回復
27 武器選択
28 選択音
29 武器選択画面を開く
2A ダメージを与えた音
2B 倒した音
2C 中ボス撃破、爆発撃破
2D ワープマン着地
2E エラー音、パスワードミス
2F 偽ブルースの笛(音楽扱い?)
30 ブルースの笛
31 ぶぅぅぅぅぅ↑ジャイロステージのエレベーター
32 ぅぅぅん↓ジャイロステージのエレベーター
33 チャージマンステージの列車の音
34 同じ?室内と室外とか
35 ワープマンワープ
36 なんかが歩く音
37 こうもりみたいなやつ
38 鉄キューン
39 ブーンブロック
3A 着水
3B 天井に張り付いてる敵が落ちてくる音
3C ?
3D 汽車メットール
3E ビート
3F 重力反転
40 ウェーブ?
41 ジャイロ?
42 チャージマンの音
43 ストーン
44 グラヴィティ
45 スマトラン
46 
47 足音
48 レーザー音
49 タイトル
4A おいかけっこ
4B 武器ゲット?