「メモリ資料」(2012/03/02 (金) 18:34:14) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ここでは'''SMWのメモリに関する資料'''を集めています。RAM, ROMで使えそうな部分を集めます。(($13D9まで見ました))
* 目次
#contents
* RAM
$0000とは$7E:0000を指します。$7F:0000はそう明記します。$XXのアドレッシングモードではDレジスタの値との和がそのアドレスを指しますが、大抵$0000なので結局$0000 ~ $00FFを指していることになります。
** 汎用RAM
| アドレス | 長さ | 説明 |h
| $0000 | 16 | 色々な用途で使われるRAMで一時的な数値の保存に適しています。 |
| $008A | 1 | 汎用 |
** 空きRAM
| アドレス | 長さ |h
| $0058 | 1 |
| $005C | 1 |
| $0060 | 4 |
| $0079 | 1 |
| $007C | 1 |
| $0079 | 1 |
| $0087 | 1 |
| $0AF5 | 1 |
| $0D9C | 1 |
| $0DA1| 1 |
| $00D4 | 1 |
| $00D9 | 1 |
| $0F3A | 6 |
| $0F42 | 1 |
| $0F5E | 1 |
| $13C8 | 1 |
| $13D8 | 1 |
| $13E6 | 1 |
| $13F2 | 1 |
** システム
| アドレス | 長さ | 説明 |h
| $0013 | 1 | フレームカウンター。1フレーム毎に1加算され続け、$FFになったら$00に戻り繰り返す。 |
| $0014 | 1 | フレームカウンター。ただし、ポーズ中などストップするときは止まる。 |
| $0015 | 1 | コントローラー入力。上位bit←【byetUDLR】→下位ビット&br; b = A or B / y = X or Y / e = Select / t = Start / U = ↑ / D = ↓/ L = ←/ R = → |
| $0016 | 1 | コントローラー入力。(押し続けても1最初の1フレームだけ)上位bit←【byetUDLR】→下位ビット&br; b = B / y = X or Y/ e = Select / t = Start / U = ↑ / D = ↓/ L = ←/ R = → |
| $0017 | 1 | コントローラー入力。上位bit←【AXLR----】→下位ビット |
| $0018 | 1 | コントローラー入力。(押し続けても1最初の1フレームだけ)上位bit←【AXLR----】→下位ビット |
** ステージ
| アドレス | 長さ | 説明 |h
| $0085 | 1 | 水フラグ ($00 : なし / $01 : あり) |
| $0086 | 1 | 滑りやすさ。$00 ~ $FF |
| $0DAE ($2100) | 1 | 明るさ。$00 ~ $0F |
| $0DC0 | 1 | ステージの初め#30あり、コインを取るごとに1ずつ減って0になる。 |
| $0EF8 | 1 | ヨッシー登場フラグ ($00 : 未登場 / $01 : 登場済み) |
| $13BF | 1 | メッセージ用ステージ番号 |
| $13CE | 1 | 中間ゲートフラグ($00 : 通っていない / $01 : 通った) |
| $13F1 | 1 | 縦スクロールフラグ ($00 : 禁止 / $01 : 可能) |
** プレイヤー
| アドレス | 長さ | 説明 |h
| $0019 | 1 | パワーアップ状態。(0: 通常 / 1:キノコ / 2 : マント / 3 : ファイアーフラワー) |
| $0071 | 1 | 値を代入するとマリオを動かす事が出来る。[[メモリ資料/$FE:0071]] |
| $0072 | 1 | ジャンプ状態。($00 : 地面 / $0B : ジャンプ・水泳上昇中 / $0C : 大砲ドカン・最大スピード / $24 : ジャンプ・水中下降中)|
| $0073 | 1 | しゃがみフラグ。($00 : 通常 / $04 : しゃがんでいる) |
| $0074 | 1 | 登りフラグ ($00 : 通常 / $1F : つた / $9F : 金網) |
| $0075 | 1 | 水中フラグ。($00 : 通常 / $01 : 水中) |
| $0076 | 1 | マリオの向き ($00 : 左 / $01 : 右) |
| $0077 | 1 | ブロックされている方向。【xxMSUDLR】 &br; M : ブロックの中央 / S : 水平スクロールが出来ない状態で左右に触れている / U : 上 / D : 下 / L : 左 / R : 右 |
| $0078 | 1 | マリオを透明にする。【dlcapLU】&br; d : スターの点滅 / l : 飛行時に下をマントで隠す / u : 飛行時に上をマントで隠す / c : マントを隠す / a : 8x8 タイルを隠す / p : pバルーン状態などで他のタイルを隠す / L : 下を隠す / U : 上を隠す |
| $007B | 1 | マリオのx座標の速度。右が正。 |
| $007D | 1 | マリオのy座標の速度。右が正。 |
| $007E | 2 | マリオのスクリーン端からのx座標; 但し表示位置が変わるだけで辺り判定は変わらない。 |
| $0080 | 2 | マリオのスクリーン端からのy座標; 同上 |
| $0088 | 1 | ドカンには行って移動するまでのタイマー |
| $0089 | 1 | ワープ時の行動。($00 : 右 / $01 : 左 / $02 : 下 / $03 : 上へドカンに入った / $04 : 左 / $05 : 右 / $06 : 上 / $07 : 下へドカンに入った ) |
| $0090 | 1 | ブロックの中でのy座標($00 ~ $0F) |
| $0091 | 1 | ブロックの外へ出る際の動き($00 ~ $07 : 上 / $08 ~ $0F : 下) |
| $0092 | 1 | ブロックの中でのx座標($00 ~ $0F) |
| $0093 | 1 | $0092 >> 3されている。即ち ($00 : 左側 / $01 : 右側) |
| $0094 | 2 | マリオのx座標。$0095はページ単位。 |
| $0096 | 2 | マリオのy座標。$0096はページ単位。通常のマリオの状態ではマリオの頭の+10の位置を指しているので注意。 |
| $0DB3 | 1 | プレイキャラクター。($00 : マリオ / $01 : ルイージ) |
| $0DBA | 1 | マリオのヨッシーの色 |
| $0DBB | 1 | ルイージのヨッシーの色 |
| $0DBC | 1 | マリオの所持アイテム ($00 : なし / $01 : キノコ / $02 : マント / $03 : ファイアーフラワー) |
| $0DBD | 1 | ルイージの所持アイテム ($00 : なし / $01 : キノコ / $02 : マント / $03 : ファイアーフラワー) |
| $0DBE | 1 | 残機 |
| $0DBF | 1 | コイン |
| $0DC1 | 1 | ヨッシー許可フラグ ($00 : 禁止 / $01 : 許可) |
| $13C7 | 1 | ヨッシーの色 ($04 : 黄色 / $06 : 青 / $08: 赤 / $0A : 緑) |
| $13C9 | 1 | 状態フラグ。($00 : 通常 / $01 : PAUSE / $02 : 続ける・止めるメッセージ) |
| $13CC | 1 | コイン取得。枚数を指定 |
| $13D9 ~ | 1 | player |
** 画面上のステータス
| アドレス | 長さ | 説明 |h
| $0DC2 | 1 | ストックアイテム。($00 : なし / $01 : キノコ / $02 : ファイアーフラワー / $03 : スター / $04 : マント羽) |
| $0EF9 | 55 | ステータス画面描画 |
| $0F30 | 1 | タイムを1減らすためのタイマー。$00になると1減る |
| $0F31 | 3 | $0F31 : 百の位 / $0F32 : 十の位 / $0F33 : 一の位 |
| $0F34 | 3 | マリオのスコア(÷10) |
| $0F37 | 3 | ルイージのスコア(÷10) |
| $0F48 | 1 | マリオのボーナススター |
| $0F49 | 1 | ルイージのボーナススター |
** ステージ選択画面(OW)
| アドレス | 長さ | 説明 |h
| $0DC7 | 2 | マリオのX座標 |
| $0DC9 | 2 | マリオのY座標 |
| $00CB | 2 | ルイージのX座標 |
| $00CD | 2 | ルイージのY座標 |
| $0DCF | 2 | X座標のスピード |
| $0DD1 | 2 | Y座標のスピード |
| $0DD3 | 1 | 移動方向。最初のみ参照 ($00 : 上 / $02 : 下 / $04 : 左 / $06 : 右) |
| $0DD8 | 1 | キャラクター切り替えモード ($00 : 無効 / $01 : 有効) |
** カメラ
| アドレス | 長さ | 説明 |h
| $005E | 1 | カメラが止まる前のスクリーン番号(横ステージ用) |
| $005F| 1 | カメラが止まる前のスクリーン番号(縦ステージ用) |
** タイマー
| アドレス | 長さ | 説明 |h
| $13F3 | 1 | Pバルーンタイマー。$09から$01まで |
* ROM
* 参考資料
- [[RAM:http://www.smwcentral.net/?p=map&type=ram]]
- [[ROM:http://www.smwcentral.net/?p=map&type=rom]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: