アットウィキロゴ
開始アドレス 終了アドレス 概要 備考
C000 C021 サウンドドライバ(1フレーム分の処理の先頭)
C022 C164 矩形波1
C165 C2B1 矩形波2
C2B2 C39B 三角波
C39C C3AE 現在のデータを音符と長さに分解する
C3AF C3BD オクターブを上げる
C3BE C3CD 現在のデータを音符と長さに分解する(上4ビット:音符、下4ビット:音の長さ)
C3CE C3D6 サウンド関連レジスタ設定
C3D7 C3EF 音符のテーブル
C3F0 C3FD 長さのテーブル
C3FE C404 zeropageの指定位置から指定バイト数、指定した値で埋める
C405 メッセージを表示する
C55F
C5E9 文字列の先頭アドレスを取得する
C623 メッセージ処理中の音(DPCM)の処理している
C66D 指定したメンバーデータのアドレスと名前をコピー アドレスはL_70,L_70+1に、名前はL_45~にコピーする
C698 文字列の描画(ID指定)
C6A2 文字列の描画(アドレス指定)
C6BE コマンドウィンドウをクリアする
C6E4 コマンドウィンドウの範囲をパレット3に変更する 横にメタタイル2つ分
C6F0 "はい/いいえ"選択ウィンドウをクリア
C727 "だれが"ウィンドウをクリア
C74E "つかう/わたす/すてる"選択ウィンドウをクリア
C785 "だれに"ウィンドウをクリア
C799 "だれに"ウィンドウをクリア
C7C3 右上ウィンドウをクリア
C7F6 フィギュアウィンドウをクリア
C81F フィギュアウィンドウの範囲をパレット3に変更する D22Dの逆
C837 そうびウィンドウの下辺を描画する
C85C そうびウィンドウ描画時のアイテムウィンドウの上辺を描画する
C881 画面1 属性テーブル書き込み
C89F キー入力されるまで待つ
C8A9 コマンド選択
C8E6 はい/いいえ選択
C914 メンバーを選択する
C964 メンバーを選択する
C97B つかう/わたす/すてるを選択する
C9AA "だれに" を描画後、メンバーを選択する
C9F2 "だれに" を描画後、メンバーを選択する
CA1F メンバーのステータス2バイトを10進数5桁として描画
CA2F メンバーのステータス1バイトを10進数3桁として描画
CA3E メンバーのステータスを表示する
CBB1 つよさを表示
CBF6 文字列を表示して次の表示位置を2行下にずらす
CBFD 文字列:そうびを表示する
CC0E カーソルY位置更新
CC1B 選択肢を出す
CCA2 メンバーを選ぶ
CCBD 道具を選択する
CCF3 所持品の個数を返す
CD0A 呪文を選択する
CD2C 使用可能呪文の個数をAで返す
CD3F 道具を選択する
CDD0 右上ウィンドウに装備品を表示する
CDE8 装備中アイテムの数をL_45に、それ以外のアイテムをL_46~に保存する
CE08 文字列 "ゴールド"
CE0E ゴールドを10進数文字列化
CE1C CHOOSE_WHICH_SPELL
CE5B メンバー全員のステータスを表示する
CE77 右ウィンドウにメンバーのパラメータを描画
CF24 10進数化文字列5桁を描画
CF41 LVを表示する
CF4E LV・MP・HPを10進数文字列化する
CF96 STを描画する
CFA7 HPを表示する
CFB5 MPを表示する
CFC8 10進数化文字列3桁を描画
CFE5 次の表示位置を5つ進める
CFED 次の表示位置を5つ戻す
CFF5 右上ウィンドウ内のメンバーのステータス表示位置を取得する
D011 PPUアドレス:左下ウィンドウの各行の先頭
D01B アドレスの下位バイト
D020 メッセージウィンドウの準備
D03D 指定したアイテムを所持しているメンバーIDを返す 多分使われていない
D077 指定した呪文を習得しているメンバーIDを返す 仕様と合わない(使用可能呪文の最大個数は12なのに8でループ回してる)ので多分使われていない
D0AF メンバーの行動不能確認
D0CF コマンドウィンドウを閉じる
D139 "はい/いいえ"選択ウィンドウを閉じる
D194 フィギュアウィンドウを閉じる
D22D フィギュアウィンドウの範囲をパレット0に変更する 横にメタタイル3つ分
D245
D24D
D27F "だれが"ウィンドウを閉じる
D2F0 "つかう/わたす/すてる"選択ウィンドウを閉じる
D348 "だれに"ウィンドウ1を閉じる
D3BC "だれに"ウィンドウ2を閉じる
D436 画面右の二人目のステータス表示行を空にする
D454 画面右の二人目のステータス表示行の次の行を空にする
D472 枠線データ
D495 装備中の武器のIDをAで、位置をYで返す
D4AC
D53A 装備中の鎧のIDをAで、位置をYで返す
D550 装備中の盾のIDをAで、位置をYで返す
D566 装備中の武器のIDをAで、位置をYで返す
D56C
D577 指定したアイテムIDの位置をYで返す(装備フラグは無視する)
D589 指定したアイテムIDの位置をYで返す
D599 メンバーの指定したアイテムIDを0にする
D5A8 メンバーの職業を取得する
D5B0 武具装備
D5F4
D60A
D635 疑似乱数(2D8-2)をL_50に返す
D64B 呪文(消費量、効果値)
D679 呪文:キュアー、レストア
D6DA 回復系呪文
D715 呪文:ヒール
D751 呪文:リコール
D771 呪文:アンチドーテ、リムーブ
D792 疑似乱数(1D4)をAで返す
D79D 使用者・対象者のメンバーデータアドレスのロード
D7B8 使用者・対象者のMPのロード
D7C3 MPを消費する
D7DB 敵データをロード
D818 メモリコピー
D823 レベルアップ時の上昇ステータス操作
D909
DA6B
DA99 レベルアップに伴うステータス増加
DB5A 全滅時文字列
DB92 全滅時処理
DC71 ぼうけんをやめる
DCB6 きろくしたところから はじめる
DCCA キー入力されるまで繰り返し音楽を再生する レベルアップと呪文の音
DCDF 125 新しい曲/SFX をロードする
DD5C 80 曲ヘッダー
DDAC エンカウント
DF46 疑似乱数(1D4-1)をAで返す
DF4E 敵画像をロード
DFE3 116 画像の保存場所(バンク番号と??)
E057 118 画像の保存場所(アドレス?)
E0CD 58
E107 レベルアップ
E15A 文字列
E847 武器・防具
E88F 経験値テーブル
E8C1 音楽
E970 未使用
F380 掛け算
$40=被乗数,$41=乗数、$42=積
F39A 割り算
$40,$41=被除数、$42=除数、$43=剰余
バグあり(https://taotao54321.github.io/blog/6502-buggy-division/のパターンA)
F3BC Aを4ビット右シフト
F3C1 Aを4ビット左シフト
F3C6 F3E4 描画完了時処理
F3E5 F3F4 疑似乱数生成器
F3F5 次の表示位置を2行下げる F3F8を呼んだあとfall through
F3F8 次の表示位置を1行下げる
F408 VBLANKをX回待つ
F412 10進数文字列化
F447 多分時間稼ぎ F44Dを呼び出すようにしてあるっぽいが使われてもいなさそう
F44D 多分時間稼ぎ
F457 メンバーの名前を表示する
F478 メッセージ区切りの下矢印を表示する
F4AE 16bitの引き算
F4BC まっさらなウィンドウを描画する
F530 ステージ切り替え
F59F ステージ切り替え
F5BA 施設(どうぐや等)に入る
F5CC 視界を描画する
F649 壁または扉を描画する
F66B 左隣
F679 右隣
F687 一歩前
F720 一歩前+左隣
F784 一歩前+右隣
F7F0 二歩前
F865 二歩前+左隣
F8EF 二歩前+右隣
F990 三歩前
F9CF 三歩前+左隣
FA3B 三歩前+右隣
FAA7 視界バッファに3マス先の壁を(2列分)書き込む
FAC0 視界バッファに右の壁を書き込む
FAD9 視界バッファに左の壁を書き込む
FAF2 縦方向に同じタイルをバッファに対して描画
FAFD 視界バッファに左右の壁を1列分縦方向に書き込む
FB1B
FB3D
FB4D 次の表示位置(L_30)を視界バッファ内にする
FB54 次の表示位置(L_30)を右斜め下(+$11)にずらす
FB5C 次の表示位置(L_30)を左斜め下(+$0F)にずらす
FB64 Yレジスタに#$10を加算する 視界描画用バッファ上で一つ下を表す
FB6C 周辺マップデータの取得用データ 最上位ビットは現在のアドレス(L_62,L_63)に対してプラスかマイナスかを示す(マップ参照)
FBAC フィギュアウィンドウ関連
FBF4 だれがウィンドウ関連
FC24 コマンドウィンドウ関連
FC54 フィギュアウィンドウ関連
FC84 スプライト関連
FC90 連続するスプライト7個のX座標を更新 引数Yで7個を指定して $FC9E を呼ぶだけ
FC98 連続するスプライト7個のY座標を更新 引数Yで7個を指定して $FCAA を呼ぶだけ
FC9E 連続するスプライトのX座標を更新
FCAA 連続するスプライトのY座標を更新 $FC9E と合わせて使われることでスプライトを縦に並べる効果
FCB9 はしごのタイルをスプライトバッファに設定
FCE1 スプライトのバッファ更新
FCFF PPUに視界を転送する
FD73 マップデータのアドレスを取得する(X,Yでの指定)
FD92 マップデータのアドレスを取得する(前回位置からの相対指定)
FDB4 RESET時処理2
FDFF IRQ
FE02 ネームテーブルを同じ値で埋める
FE50 ページを同じ値で埋める
FE68 VBLANK待ち
FE80 NMIハンドラー VBLANK待ちをしているかどうかで $FE88 か $FF1E に分岐する
FE88 VBLANK待ちから抜ける VBLANK待ちをしている時のNMI割り込みで呼ばれる(描画周り参照)
FE9E スプライトDMA転送
FEA9 パッド関連
FEC0 パッド関連
FEE2 パッド関連
FEEF ジャンプテーブルコール
FF09 OAMへのDMA転送を実行する
FF13 全スプライトを非表示にする
FF1E 25 音楽を1フレーム分再生する VBLANK待ちをしていない時のNMI割り込みで呼ばれる(描画周り参照)
FF37 Xに4を加える
FF3F ゴミ
FF42 マッパーレジスタ1書き込み
FF56 マッパーレジスタ2書き込み
FF6A FFB7 RESET時処理1
FFB7 FFCA マッパーレジスタ0書き込み
FFCB FFDE マッパーレジスタ3書き込み
FFE0 FFF9 Nintendo Header
FFFA FFFF 割り込みベクタ
最終更新:2025年11月05日 02:13