オブジェクトの状態を管理するメモリのデータです。
オブジェクトメモリは、オブジェクトの状態を管理するメモリ領域でありRAMの$300〜5CFを指す。
各項目毎に$00〜17の24個分の領域が用意されている。
このうちインデックス0はロックマンの状態が入っており、$01〜07は特殊武器等に使われる。
通常のオブジェクトに対しては$08〜17を使用する。
以下、Data Crystalの RAM mapを元にした項目リスト。
0300-0317 ObjectID 0318-032F X座標(fraction(小数部)) 0330-0347 X座標(low) 0348-035F X座標(high) (部屋番号を表す) 0360-0377 Y座標(fraction(小数部)) 0378-038F Y座標(low) 0390-03A7 Y座標(high) (*) (*)これは上下にスクロールすると増減するものではなく、ジャンプなどでロックマン等のオブジェクトが画面外へ 出たような場合の判定のために使われている。 03A8-03BF X方向速度(low) 03C0-03D7 X方向速度(high) 03D8-03EF Y方向速度(low) 03F0-0407 Y方向速度(high) ここに値を設定しただけではオブジェクトは移動しない。 通常、移動用のサブルーチンを呼び出すことで移動を行う。 移動用のサブルーチンでは、速度のlow,highはそれぞれ座標のfraction,lowに加減算される。 0408-041F Type Bits bit7 -> ロックマンに対して当たり判定あり(そのオブジェクトに触れるとダメージを受ける) bit6 -> 武器に対して当たり判定あり bit5-0 -> 当たり判定の大きさ(参照番号、$00〜3F) 0420-0437 方向 bit3 -> 上 bit2 -> 下 bit1 -> 左 bit0 -> 右 0438-044F Sprite Number(設置型オブジェクトの場合、自身が何番目の設置型オブジェクトかが格納される) 0450-0467 HP 0468-047F 変数A 0480-0497 変数B 0498-04AF 変数C 04B0-04C7 変数D 04C8-04DF 変数E 04E0-04F7 変数F 04F8-050F 変数G 0510-0527 変数H(設置型オブジェクトの場合、自身のEnemyIDが格納されている) これらの領域を使用することでオブジェクト固有の情報を格納しておくことが可能。 0528-053F Display flags bit7 -> ? bit6 -> グラフィックを上下反転させる bit5 -> グラフィックを左右反転させる bit4 -> 背景に隠れる bit3 -> 画面外に出たときそのオブジェクトを破壊しない bit2 -> 不可視 bit1 -> ブロックになる bit0 -> 足場になる 0540-0557 アニメーションフレーム 0558-056F アニメーション番号 0570-0587 アニメーションタイマー 0588-059F Enemy Handler(low) 05A0-05B7 Enemy Handler(high) 05B8-05CF Flash Counter(点滅時間)