ロックマン3ちょっとだけ資料
結構適当だから間違ってるかもしれない
A10〜
A3F 部屋の並び替え
A40〜
A43? シャッターの部屋番号(1byte)、シャッターのパターン(3byte)
A48〜
A4B? シャッターの情報2(ちょっとこの辺あやしい)
A50〜
A57? スクロール 2X:右の後Xだけ右
40:↓ 6X:上から来た後Xだけ右 80:↑ AX:下から来た後Xだけ右
A58〜
A6F ?
A70〜 A7F スクロールごとのスプライトバンク・パレット $02ずつ
A80〜 A91 ?
A92〜 AF5 パレット
AF6〜
AFF ?
B00〜 中間地点のスクロール番号
B08〜 中間地点の部屋番号
BD0〜 中間地点におけるオブジェクト設置番号
B10〜 スプライトマップ番号
C10〜 スプライトX座標
D10〜
スプライトY座標
E10〜 スプライト種類
F10〜
170F 32マップセット
1710〜 1B0F 32マップチップ
1B10〜
1C0F 16マップチップ左上
1C10〜 1D0F 16マップチップ左上
1D10〜
1E0F 16マップチップ左上
1E10〜 1F0F 16マップチップ左上
1F10〜
200F 16マップチップ属性
+2000*ステージ分
2A010〜 2A08F アニメーション定義へのアドレスlow
2A090〜 2A10F アニメーション定義へのアドレスhigh
2A110〜 2A20F アニメ定義へのアドレスlow
2A210〜 2A30F アニメ定義へのアドレスhigh
3B7C1〜 ドクロボットの初期ステータス(?、?、2のボスのパレット、バンク?、ライフ増加後のSP3パレット、X速度low、high)
3B895〜 ボスの初期ステータス(ステージ順に8体)(オブジェクト番号,X速度low,high,ライフ増加後のアニメ番号,ライフ増加開始のアニメフレーム,登場時の下移動判定番号)
3C634 星の演出をするステージ番号(ジェミニ)
3E2CF ブルースがジェミニの台を破壊するマップへ行く判定
メモリとか(あってるか知らん)
$0300 8bit:使用判定
7bit:ボスフラグ
6〜1bit:状態変数
$0320 ID
$0340 X座標小数
$0360 X座標low
$0380 X座標high
$03A0 Y座標小数
$03C0 Y座標low
$03E0 Y座標high
$0400 X速度小数
$0420 X速度low
$0440 Y速度小数
$0460 Y速度low
$0480 8bit:ロックマンに判定
7bit:武器に判定 6〜1bit:判定番号
$04A0 方向(8bit:? 4bit:? 2bit:左
1bit:右)8と4は上下。どっちがどっちか忘れた
$04C0 ?
$04E0 無敵時間+ライフ
$0500 自由変数1
$0520 自由変数2
$0540 自由変数3
$0560 自由変数4
$0580 8:?
7:絵の左右 6:背景に隠れる 5:? 4:? 3:? 2:ブロック?
1:足場?
$05A0 アニメフレーム
$05C0 アニメ番号
$05E0 アニメタイマー
いつでも使える汎用サブルーチンたち
A0
** 20 80 F5 壁判定込み左移動(絵も左を向く)
A0 ** 20 88 F5 壁判定込み左移動
A0 ** 20 C4
F5 壁判定込み右移動(絵も右を向く)
A0 ** 20 CC F5 壁判定込み右移動
A0 ** 20 06
F6 壁判定込み下移動
A0 ** 20 42 F6 壁判定込み上移動
A0 ** 20 7C
F6 壁判定重力込み下移動
20 1D
F7 左移動
20 3B
F7 右移動
20 59
F7 下移動(Y速度は正)
20 79
F7 上移動(Y速度は正)
20 97
F7 重力込み上下移動
20 A8
F7 下移動(Y速度は正負考慮)
20 C8
F7 上移動(Y速度は正負考慮)(実際は3個上のルーチンと同一)
20 E6
F7 Y速度に重力を適応する(重力の大きさは$99、$3801C〜で55を入れてるけど他の場所では40を入れてる。55はボスの間だけ?よくわからん)
20 1B
F8 Y速度を0にする。(厳密には0ではなく、0から1回重力加速を受けた値。天井や地面にぶつかるとこの値になる。使いどころは元ルーチンを読めば分かるので省略。)
A9
** 20 35 F8 アニメ設定(Xレジスタ)
A9 ** 20 46
F8 アニメ設定(Yレジスタ)
20 69
F8 ロックマンの方に方向を向ける
20 83
F8 方向に絵の向きを合わせる
A9 ** 20 98 F8 音楽を鳴らす
A9 ** 20 9A
F8 効果音を鳴らす
20 C2
F8 ロックマンとのX距離取得
20 53
FC Yレジスタに未使用オブジェクト番号確保
20 63
FC 自機狙い弾にする($02:小数 $03:low $0C:向き)
20 EB
FC $00/$01の商:$02、余り:$03