RAMマップ
スーパードンキーコング2 および、Diddy's Kong Quest が使用するWARM領域のデータについて説明します。

<免責事項>
この表は独自解析に基づく調査結果であり、誤りが含まれている可能性があります。この情報を使用したことに起因するいかなる損害に対しても、著者はその責を負いません。
凡例
データ型は次のように対応します。
byte: 符号なし8ビット整数
sbyte: 符号付8ビット整数
short: 符号付16ビット整数
ushort: 符号なし16ビット整数
int: 符号付32ビット整数
uint: 符号なし32ビット整数
bool: ブーリアン型
ladrs: 24ビット絶対ロングアドレス
pad: パッド入力
byte[]: バイト配列

下位RAM ($7E:0000 - $7E:1FFF; 8192 bytes)
アドレス 種別 内容
$001C
ushort
data
現在のBGM番号
(BGMのロード時に使用された値であり、途中で変更しても曲は変わらない。)
$002A
ushort
counter
フレームカウンタ
$002C
ushort
counter
フレームカウンタ
$0064
ushort
pointer
現在処理中のスプライトメモリのアドレス
$006E
ushort
data
現在変身しているアニマルフレンドの制御コード
$009A
ladrs
pointer
タイルマップアドレス(タイルマップ基本設定より)
$009C
ladrs
pointer
地形用コリジョンデータのアドレス(タイルマップ基本設定より)
$00D3
ushort
data
現在のマップ番号(上位バイト無効)
$00D5
uint
counter
ゲーム内時間
$010B
byte[245]
stack
スタック
$0502
pad
register
1Pコントローラ入力
$050E
pad
register
1Pコントローラ入力
$0515
byte[???]
data
ステージ設定・ステージスタイルその他画面描画および正常な進行に必要なデータ
$0515
ushort
data
ステージの種類(ステージ設定より)
$0517
ushort
pointer
パレット追加指定(ISDより、上位バイト無効)
$0519
ushort
pointer
効果1(ISDより)
$051B
ushort
data
BGM番号(ISDより、上位バイト無効/途中で変えても曲は変更されない)
$051D
ushort
pointer
謎ポインタ1(ISDより)
$051F
ushort
pointer
謎ポインタ2(ISDより)
$0521
byte
data?
ステージ設定パラメータ第3バイト(これはすぐに別のデータで上書きされる)
$0521
ushort
pointer
ベースパレット(ISDより)
$0523
ushort
data
マップ番号(ISDより)
$0525
ushort
data
詳細不明
$0527
ushort
pointer
画面の更新など(ISDより)
$0529
ushort
data
地形のスクロール(ISDより)
$052B
byte
data
効果2(ISDより)
$052C
byte
data
特殊効果(ISDより)
$0531
ushort
pointer
スタート地点定義の開始アドレス(ステージ設定より)
$0537
ushort
data
描画メソッド(ISDより)
$0539
ushort
data
タイルセット番号(ISDより)
$054D
ushort
data
ステージ設定パラメータ第4,5バイト
$054F
byte
data
カメラ制御方式(ステージ設定より)
00: 標準(下寄り)
01: ぶれ
02: 上寄り
$0650
ushort
counter
ボタン入力受付までの残り時間(施設メニュー)
$0654
ushort
data
現在選択している項目(施設メニュー)
$0668
ushort
counter
ボタン入力受付までの残り時間(クイズ)
$066C
ushort
data
現在選択している項目(クイズ)
$069B
ushort
data
ワールドマップカメラX座標
$069D
ushort
data
ワールドマップカメラY座標
$06B1
ushort
data
現在いるワールドマップの番号
$08A4
bool
flag
現在の操作キャラ
00: ディディー
01: ディクシー
$08A8
ushort
data
入ったステージの番号
$08BC
ushort
data
現在のバナナの本数(内部計算用)
$08BE
ushort
data
現在の残機(内部計算用)
$08C0
ushort
data
現在の残機(画面表示用)
$08C2
ushort
data
2匹揃っているかどうか
00: 片方
40: 両方
$08C8
ushort
data
ステージ移動によって入ったステージの番号
$08CA
ushort
data
バナナコイン(内部計算用)
$0902
ushort
data
取得パネルのフラグセット(---- ---- ---- GNOK)
$0907
string
data
文字列 ”Rareware”
$0A2A
ushort
data
現在のX座標(ステージ内では実際値に+256された値)
$0A2C
ushort
data
現在のY座標(ステージ内では実際値に+256された値)
$0A30
short
data
現在のX速度(サブピクセル毎フレーム/ミラー)
$0A32
short
data
予定されるX最高速度(サブピクセル毎フレーム/ミラー)
$0A38
ushort
data
硬直残り時間(実際値に+207した値)
$0A3E
ushort
data
速度計算用X座標(実際値に+256した値)
$0A40
ushort
data
速度計算用Y座標(実際値に+256した値)
$0ABE
ushort
data
現在のX座標?
$0B84
ushort
pointer
サブマップ定義のアドレス(タイルマップ基本設定より)
$0B86
ushort
data
地形の種類(タイルマップ基本設定より)
$0D52
ushort
data
水位変更目標(実際値に+256した値)
$0DE2
byte[24][94]
data
スプライトメモリ(94バイト単位、24スプライト分/ 詳細は変数表を参照のこと)
$0DE2
byte[94]
data
ディディーの状態データ
$0DE2
ushort
pointer
変数$00: 制御コード
$0DE4
ushort
data
変数$02: 描画順位
$0DE8
ushort
data
変数$06: 現在のX座標(実際値に+256した値)
$0DEC
ushort
data
変数$0A: 現在のY座標(実際値に+256した値)
$0DF0
ushort
data
変数$0E: ジャンプ高さ?
$0DF4
ushort
data
変数$12: スタイル設定
$0DF8
ushort
pointer
変数$16: 現在のコマのグラフィックポインタ
$0DFA
ushort
pointer
変数$18: 現在のコマのグラフィックポインタ(ミラー)
$0DFC
ushort
pointer
変数$1A: 次のコマのグラフィックポインタ
$0E00
ushort
data
変数$1E: 状態値?
$0E02
short
data
変数$20: 現在のX速度
$0E06
short
data
変数$24: 現在のY速度
$0E08
short
data
変数$26: 予定されるX最高速度
$0E0C
short
data
変数$2A: 予定されるY最高速度
$0E10
ushort
pointer
変数$2E: 現在のモーション
$0E12
ushort
data
変数$30: 属性
$0E18
ushort
data
変数$36: アニメーション番号
$0E1A
ushort
counter
変数$38: 現在のコマの残り表示期間
$0E1C
ushort
data
変数$3A: アニメーション制御データ
$0E1E
ushort
pointer
変数$3C: アニメーション読み出し位置
$0E20
ushort
pointer
変数$3E: アニメーション追加制御
$0E22
ushort
data
変数$40: アニメーション形式?
$0E26
ushort
data
変数$44: ダメージ・復帰関連?
$0E28
ushort
data
変数$46: ダメージ・復帰関連?
$0E2A
ushort
data
変数$48: ダメージ・復帰関連?
$0E2C
ushort
data
変数$4A: ダメージ・復帰関連?
$0E2E
ushort
data
変数$4C:  ダメージ・復帰関連?
$0E30
ushort
data
変数$4E: ダメージ・復帰関連?
$0E3A
ushort
data
変数$58: スプライトパラメータ
$0E40
byte[94]
data
ディクシーの状態データ
$0E9E
byte[94]
data
スプライト#0の状態データ
$0EFC
byte[94]
data
スプライト#1の状態データ
$0F5A
byte[94]
data
スプライト#2の状態データ
$0FB8
byte[94]
data
スプライト#3の状態データ
$1016
byte[94]
data
スプライト#4の状態データ
$1074
byte[94]
data
スプライト#5の状態データ
$10D2
byte[94]
data
スプライト#6の状態データ
$1130
byte[94]
data
スプライト#7の状態データ
$118E
byte[94]
data
スプライト#8の状態データ
$11EC
byte[94]
data
スプライト#9の状態データ
$124A
byte[94]
data
スプライト#10の状態データ
$12A8
byte[94]
data
スプライト#11の状態データ
$1306
byte[94]
data
スプライト#12の状態データ
$1364
byte[94]
data
スプライト#13の状態データ
$13C2
byte[94]
data
スプライト#14の状態データ
$1420
byte[94]
data
スプライト#15の状態データ
$147E
byte[94]
data
スプライト#16の状態データ
$14DC
byte[94]
data
スプライト#17の状態データ
$153A
byte[94]
data
スプライト#18の状態データ
$1598
byte[94]
data
スプライト#19の状態データ
$15F6
byte[94]
data
スプライト#20の状態データ
$1654
byte[94]
data
スプライト#21の状態データ
$16B2
$16C6
ushort
data
ディディーの状態A
$16C8
ushort
data
ディディーの状態B
$16EC
ushort
data
ディクシーの状態A
$16EE
ushort
data
ディクシーの状態B
$16FE?
byte[???]
data
画面描画関連のデータ(詳細不明)
$16FE?
byte[???]
data
スプライト描画関連?(詳細不明)
$17B2
byte[???]
data
BG描画関連(詳細不明)
$17B2
ushort
data
アクション属性スクロール方法など(タイルマップ基本設定より)
$17B4
ushort
data
マップチップ構成データ
$17B6
ushort
data
VRAM地形用タイルマップエントリ(タイルマップ基本設定より)
$17BA
ushort
data
現在のカメラX座標(実際値に+256した値)
$17C0
ushort
data
現在のカメラY座標(実際値に+256した値)
$19BA
short
data
倒す、壊す、取得するなどして減ったスプライトの数?
$19C8
ushort
data
物を置いたり投げたりしたX座標(実際値に+256した値)
$19CA
ushort
data
物を置いたり投げたりしたY座標(実際値に+256した値)
$1A00?
-
-
空き領域(少なくとも1536 bytes以上)

上位RAM ($7E:2000 - $7E:7FFF; 24576 bytes)
currently not available.

拡張RAM ($7E:8000 - $7F:FFFF; 98304 bytes)
アドレス 種別 内容
$7E:8D28
ushort[128]
buffer
カメラ左端
$7E:8E28
ushort[128]
buffer
カメラ右端
$7E:8F28
ushort[128]
buffer
カメラ上端
$7E:9028
ushort[128]
buffer
カメラ下端
$7E:9128
ushort[128]
buffer
カメラ接続設定
$7F:0000
byte[]
buffer
圧縮データ展開用作業領域