GBA 開発部屋:メモリマップ


全体

領域 アドレス
BIOS ROM 0x00000000-0x00003fff
外部 RAM 0x02000000-0x0203ffff
内部 RAM 0x03000000-0x03007fff
I/O レジスタ 0x04000000-0x040003ff
パレット RAM 0x05000000-0x050003ff
ビデオ RAM 0x06000000-0x06017fff
OAM RAM 0x07000000-0x070003ff
OAM(Object Attribute Memory)はスプライト用レジスタ。
ゲームパック(カートリッジ)関連は 0x08000000 以降だが、詳細は不明。

グラフィック

0x04000000 (DISPCNT, R/W) : Display control register
  初期値 : 0x0080
    O W W O B B B B B O O D G M M M
    W 1 0 B 3 2 1 0 L M P F B 2 1 0
  M2-0: BG モード(ビットマップ時も拡縮回転可)
        000: タイル BG0-3(全てテキストモード)
        001: タイル BG0-2(BG0/1 がテキストモード、BG2 が拡縮回転モード)
        010: タイル BG2-3(全て拡縮回転モード)
        011: ビットマップ BG2 240×160×15bit
        100: ビットマップ BG2-3 240×160×8bit
        101: ビットマップ BG2-3 160×120×15bit
        110: 不明
        111: 不明
  GB  : GBC モード(リードのみ)
  DF  : 表示フレーム選択
  OP  : OBJ 処理モード(0:常時、1:水平ブランク時には処理しない)
  OM  : OBJ マッピング方式(0:2D、1:1D)
        以下の例は、32×32 ドット 4bit カラーでタイル番号に 5 を
        指定したときのタイルの並び
        ・2D(行の先頭が 32 個おきに配置)
            5   6   7   8
           37  38  39  40
           69  70  71  72
          101 102 103 104
        ・1D(順番に配置)
            5   6   7   8
            9  10  11  12
           13  14  15  16
           17  18  19  20
  BL  : 強制ブランク
  B3-0: BG 表示フラグ
  OB  : OBJ 表示フラグ
  W1-0: ウィンドウ使用フラグ
  OW  : OBJ ウィンドウ使用フラグ

0x04000004 (DISPSTAT, R/W) : Display status
  初期値 : 0x0000
    L L L L L L L L x x R H V R H V
    7 6 5 4 3 2 1 0 x x E E E I B B
  VB  : V-Blank(リードのみ)
  HB  : H-Blank(リードのみ)
  RI  : ラスター割り込み中(リードのみ)
  VE  : V-Blank 割り込み許可
  HE  : H-Blank 割り込み許可
  RE  : ラスター割り込み許可
  L7-0: ラスター割り込み位置

0x04000006 (VCOUNT, R) : Vertical count
  0 から 159 までが表示期間、160 から 227 までが V-Blank 期間

0x04000008 (BG0CNT, R/W) : BG0 control
0x0400000a (BG1CNT, R/W) : BG1 control
0x0400000c (BG2CNT, R/W) : BG2 control
0x0400000e (BG3CNT, R/W) : BG3 control
  初期値 : 0x0000
    S S M M M M M M C M x x T T P P
    1 0 T 4 3 2 1 0 M Z x x 1 0 1 0
  P1-0: 表示優先順位
  T1-0: タイルブロックインデックス番号
        0x06000000 + T * 0x4000 から配置される
  MZ  : モザイク ON
  CM  : カラーモード(拡縮回転モードでは 256 色固定)
        0: 16 色×16 パレットブロック
        1: 256 色×1 パレットブロック
  M4-0: マップブロックインデックス番号
        0x06000000 + M * 0x800 から配置される
  MT  : 拡縮回転モード時の BG エリア外描画モード(0:透明、1:ループ)
  S1-0: 仮想スクリーンサイズ
        ・テキストモード
          00: 256×256
          01: 512×256
          10: 256×512
          11: 512×512
        ・拡縮回転モード
          00: 128×128
          01: 256×256
          10: 512×512
          11: 1024×1024

0x04000010 (BG0HOFFS, W) : BG0 horizontal offset
0x04000014 (BG1HOFFS, W) : BG1 horizontal offset
0x04000018 (BG2HOFFS, W) : BG2 horizontal offset
0x0400001c (BG3HOFFS, W) : BG3 horizontal offset
  初期値 : 0x0000
    ? ? ? ? ? ? H H H H H H H H H H
    ? ? ? ? ? ? 9 8 7 6 5 4 3 2 1 0
  H9-0: BG 水平オフセット

0x04000012 (BG0VOFFS, W) : BG0 vertical offset
0x04000016 (BG1VOFFS, W) : BG1 vertical offset
0x0400001a (BG2VOFFS, W) : BG2 vertical offset
0x0400001e (BG3VOFFS, W) : BG3 vertical offset
  初期値 : 0x0000
    ? ? ? ? ? ? V V V V V V V V V V
    ? ? ? ? ? ? 9 8 7 6 5 4 3 2 1 0
  V9-0: BG 垂直オフセット

0x04000020 (BG2PA, W) : BG2 matrix PA
0x04000022 (BG2PB, W) : BG2 matrix PB
0x04000024 (BG2PC, W) : BG2 matrix PC
0x04000026 (BG2PD, W) : BG2 matrix PD
0x04000020 (BG3PA, W) : BG3 matrix PA
0x04000022 (BG3PB, W) : BG3 matrix PB
0x04000024 (BG3PC, W) : BG3 matrix PC
0x04000026 (BG3PD, W) : BG3 matrix PD
  初期値 : PA=0x0100, PB=0x0000, PC=0x0000, PD=0x0100
  符号付き、整数部 8bit、小数部 8bit
    M M M M M M M M M M M M M M M M
    f e d c b a 9 8 7 6 5 4 3 2 1 0
  Mf-0: BG 拡縮回転パラメータ

0x04000028.w (BG2X, W) : BG2 origin X
0x04000038.w (BG3X, W) : BG3 origin X
  初期値 : 0x00000000
  符号付き、整数部 20bit、小数部 8bit
    x x x x X X X X     X X X X
    x x x x 2 2 2 2 ... 0 0 0 0
    x x x x 7 6 5 4     3 2 1 0
  X27-00: BG 原点 X

0x0400002c.w (BG2Y, W) : BG2 origin Y
0x0400003c.w (BG3Y, W) : BG3 origin Y
  初期値 : 0x00000000
  符号付き、整数部 20bit、小数部 8bit
    x x x x Y Y Y Y     Y Y Y Y
    x x x x 2 2 2 2 ... 0 0 0 0
    x x x x 7 6 5 4     3 2 1 0
  Y27-00: BG 原点 Y

0x04000040 (WIN0H, W) : Window0 horizontal
0x04000042 (WIN1H, W) : Window1 horizontal
  初期値 : 0x0000
    L L L L L L L L R R R R R R R R
    7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
  R7-0: ウィンドウ右端 + 1
  L7-0: ウィンドウ左端

0x04000044 (WIN0V, W) : Window0 vertical
0x04000046 (WIN1V, W) : Window1 vertical
  初期値 : 0x0000
    T T T T T T T T B B B B B B B B
    7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
  B7-0: ウィンドウ下端 + 1
  T7-0: ウィンドウ上端

0x04000048 (WININ, R/W) : Window inner
0x0400004a (WINOUT, R/W) : Window outer
  初期値 : 0x0000
  いずれもビットを 1 にすると、ウィンドウの内側/外側に表示
    x x 1 1 1 1 1 1 x x 0 0 0 0 0 0
    x x S O B B B B x x S O B B B B
    x x P B 3 2 1 0 x x P B 3 2 1 0
  0B3-0: ウィンドウ 0 BG
  0OB  : ウィンドウ 0 OBJ
  0SP  : ウィンドウ 0 ブレンド OBJ/BG
  1B3-0: ウィンドウ 1 BG
  1OB  : ウィンドウ 1 OBJ
  1SP  : ウィンドウ 1 ブレンド OBJ/BG

0x0400004c (MOSAIC, W) : Mosaic parameter
  初期値 : 0x0000
    O O O O O O O O B B B B B B B B
    V V V V H H H H V V V V H H H H
    3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
  BH3-0: BG 横方向モザイク範囲 - 1
  BV3-0: BG 縦方向モザイク範囲 - 1
  OH3-0: OBJ 横方向モザイク範囲 - 1
  OV3-0: OBJ 縦方向モザイク範囲 - 1

0x04000050 (BLDMOD, R/W) : Blend mode
  初期値 : 0x0000
  いずれもビットを 1 にすると、ブレンドの対象になる
    x x T T T T T T B B S S S S S S
    x x B O B B B B M M B O B B B B
    x x K B 3 2 1 0 1 0 K B 3 2 1 0
  SB3-0: ブレンド元画像 BG
  SOB  : ブレンド元画像 OBJ
  SBK  : ブレンド元画像背景
  BM1-0: ブレンドモード
         00: ブレンド無し
         01: アルファブレンド
         10: 白にフェード
         11: 黒にフェード
  TB3-0: ブレンド加算画像 BG
  TOB  : ブレンド加算画像 OBJ
  TBK  : ブレンド加算画像背景

0x04000052 (COLEV, W) : Alpha blend level
  初期値 : 0x0000
    x x x T T T T T x x x S S S S S
    x x x 4 3 2 1 0 x x x 4 3 2 1 0
  S4-0: 元画像ブレンドレベル(範囲は 0-16、16 で 1.0 倍)
  T4-0: 加算画像ブレンドレベル(範囲は 0-16、16 で 1.0 倍)

0x04000054 (COLEY, W) : Fade level
  初期値 : 0x0000
    x x x x x x x x x x x F F F F F
    x x x x x x x x x x x 4 3 2 1 0
  F4-0: フェードレベル(範囲は 0-16、0 で元画像、16 で白または黒)

0x05000000-0x050001ff : BG palette
0x05000200-0x050003ff : OBJ palette
    x B B B B B G G G G G R R R R R
    x 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0
  R4-0: 赤成分
  G4-0: 緑成分
  B4-0: 青成分

0x06000000-0x06017fff : VRAM
  ・タイルマップ(テキストモード)
    B B B B V H T T T T T T T T T T
    3 2 1 0 R R 9 8 7 6 5 4 3 2 1 0
  T9-0: タイル番号
  HR  : 水平反転
  VR  : 垂直反転
  B3-0: パレットブロック(16 色×16 パレットブロック時)

  ・タイルマップ(拡縮回転モード)
    1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
    T T T T T T T T T T T T T T T T
    7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
  0T7-0: タイル番号(X mod 2 = 0)
  1T7-0: タイル番号(X mod 2 = 1)

  ・15bit カラー
    x B B B B B G G G G G R R R R R
    x 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0
  R4-0: 赤成分
  G4-0: 緑成分
  B4-0: 青成分

  ・8bit カラー
    1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
    C C C C C C C C C C C C C C C C
    7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
  0C7-0: パレットインデックス番号(X mod 2 = 0)
  1C7-0: パレットインデックス番号(X mod 2 = 1)

  ・4bit カラー
    3 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0
    C C C C C C C C C C C C C C C C
    3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
  0C3-0: パレットインデックス番号(X mod 4 = 0)
  1C3-0: パレットインデックス番号(X mod 4 = 1)
  2C3-0: パレットインデックス番号(X mod 4 = 2)
  3C3-0: パレットインデックス番号(X mod 4 = 3)

0x07000000-0x070003ff : OAM (Object Attribute Memory)
  ・4n+0
    S S C M R R D M Y Y Y Y Y Y Y Y
    3 2 M Z 1 0 B T 7 6 5 4 3 2 1 0
  ・4n+1
    S S I I I I I X X X X X X X X X
    1 0 4 3 2 1 0 8 7 6 5 4 3 2 1 0
  ・4n+2
    B B B B P P T T T T T T T T T T
    3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0
  ・4n+3
    M M M M M M M M M M M M M M M M
    f e d c b a 9 8 7 6 5 4 3 2 1 0
  Y7-0: Y 座標
  MT  : 拡縮回転 ON
  DB  : 最大 2 倍
  R1-0: 描画モード
        00: 通常モード
        01: ブレンドモード
        10: ウィンドウモード
        11: 不明
  MZ  : モザイク ON
  CM  : カラーモード
        0: 16 色×16 パレットブロック
        1: 256 色×1 パレットブロック
  S3-0: スプライトサイズ
        0000:  8× 8
        0001: 16×16
        0010: 32×32
        0011: 64×64
        0100: 16× 8
        0101: 32× 8
        0110: 32×16
        0111: 64×32
        1000:  8×16
        1001:  8×32
        1010: 16×32
        1011: 32×64
        1100: 未使用
        1101: 未使用
        1110: 未使用
        1111: 未使用
  X8-0: X 座標
  I4-0: 拡縮回転インデックス番号(拡縮回転 ON 時)
  I3  : 水平反転(拡縮回転 OFF 時)
  I4  : 垂直反転(拡縮回転 OFF 時)
  T9-0: タイル番号
        0x06010000 + T * 0x20 から配置される
  P1-0: BG との表示優先順位
  B3-0: パレットブロック(16 色×16 パレットブロック時)
  Mf-0: 拡縮回転パラメータ(4 つで 1 セット)
        符号付き、整数部 8bit、小数部 8bit

サウンド

0x04000060 (SG10_L, R/W) : Sound Ch.1 control 1
  スイープ(一定方向への周波数変化)コントロール
    x x x x x x x x x T T T A S S S
    x x x x x x x x x 2 1 0 S 2 1 0
  S2-0: スイープ周波数変化量
        f[k + 1] = f[k] ± f[k] / 2^S
  AS  : スイープ方向(0:周波数増、1:周波数減)
  T2-0: スイープ変化間隔
        000: スイープ OFF
        001: 1/128sec( 7.8msec)
        010: 2/128sec(15.6msec)
        011: 3/128sec(23.4msec)
        100: 4/128sec(31.3msec)
        101: 5/128sec(39.1msec)
        110: 6/128sec(46.9msec)
        111: 7/128sec(54.7msec)

0x04000062 (SG10_H, R/W) : Sound Ch.1 control 2
0x04000068 (SG20, R/W) : Sound Ch.2 control 1
0x04000078 (SG40, R/W) : Sound Ch.4 control 1
    I I I I E E E E D D L L L L L L
    3 2 1 0 M 2 1 0 1 0 5 4 3 2 1 0
  L5-0: 発音長制限(ライトのみ)
        (64 - L) / 256 sec になる
  D1-0: デューティー比(Ch.4 では無効)
        00: 12.5%
        01: 25%
        10: 50%
        11: 75%
  E2-0: エンベロープ変化間隔
        E / 64 sec になる
  EM  : エンベロープモード(0:減少、1:増加)
  I3-0: 初期エンベロープ値

0x04000064 (SG11, R/W) : Sound Ch.1 control 3
0x0400006c (SG21, R/W) : Sound Ch.2 control 2
0x04000074 (SG31, R/W) : Sound Ch.3 control 3
    R T x x x F F F F F F F F F F F
    S M x x x a 9 8 7 6 5 4 3 2 1 0
  Fa-0: 周波数(ライトのみ)
        4194304 / (32 * (2048 - F)) Hz になる
  TM  : 発音長制限 ON
  RS  : 波形リセット(ライトのみ)

0x04000070 (SG30_L, R/W) : Sound Ch.3 control 1
    x x x x x x x x E B B x x x x x
    x x x x x x x x N S M x x x x x
  BM: バンクモード(0:32 サンプル×2 バンク、1:64 サンプル×1 バンク)
  BS: バンクセレクト
  EN: 出力 ON

0x04000072 (SG30_H, R/W) : Sound Ch.3 control 2
    V V V x x x x x L L L L L L L L
    2 1 0 x x x x x ? ? ? ? ? ? ? ?
  L7-0: 発音長制限(ライトのみ)
        (256 - L) / 2 sec になる
  V2-0: 出力レベル
        000: ミュート
        001: 100%
        010: 50%
        011: 25%
        100: 75%
        101: 不明
        110: 不明
        111: 不明

0x0400007c (SG41, R/W) : Sound Ch.4 control 2
  ノイズの発生アルゴリズムの詳細は不明
    R T x x x x x x P P P P C C C C
    S M x x x x x x 3 2 1 0 S 2 1 0
  C2-0: クロック分周比
        f = 4.194304 / 8 MHz
        000: Q = f * 2
        001: Q = f
        010: Q = f / 2
        011: Q = f / 3
        100: Q = f / 4
        101: Q = f / 5
        110: Q = f / 6
        111: Q = f / 7
  CS  : カウンタステージ(0:15 ステージ、1:7 ステージ)
  P3-0: クロックシフト量
        0000: F = Q / 2
        0001: F = Q / (2^2)
        0010: F = Q / (2^3)
        0011: F = Q / (2^4)
          ...
        1101: F = Q / (2^14)
        1110: 未使用
        1111: 未使用
  TM  : 発音長制限 ON
  RS  : 波形リセット(ライトのみ)

0x04000080 (SGCNT0_L, R/W) : Sound master control 1
    4 3 2 1 4 3 2 1 ? L L L ? R R R
    L L L L R R R R ? 2 1 0 ? 2 1 0
  R2-0: 右ボリューム
  L2-0: 左ボリューム
  1-4R: Ch.1-4 右 ON
  1-4L: Ch.1-4 左 ON

0x04000082 (SGCNT0_H, R/W) : Sound master control 2
    B B B B A A A A x x x x B A V V
    S T L R S T L R x x x x V V 1 0
  V1-0: 全体ボリューム
        00: 25%
        01: 50%
        10: 100%
        11: 不明
  AV  : Direct sound A ボリューム(0:50%、1:100%)
  BV  : Direct sound B ボリューム(0:50%、1:100%)
  AR  : Direct sound A 右 ON
  AL  : Direct sound A 左 ON
  AT  : Direct sound A タイマーセレクト(0:Timer0、1:Timer1)
  AS  : Direct sound A リセット(ライトのみ)
  BR  : Direct sound B 右 ON
  BL  : Direct sound B 左 ON
  BT  : Direct sound B タイマーセレクト(0:Timer0、1:Timer1)
  BS  : Direct sound B リセット(ライトのみ)

0x04000084 (SGCNT1, R/W) : Sound master control 3
    x x x x x x x x E x x x 4 3 2 1
    x x x x x x x x N x x x S S S S
  1-4S: Ch.1-4 ステータス(0:停止、1:再生)(リードのみ?)
  EN  : Ch.1-4 動作 ON

0x04000088 (SGBIAS, R/W) : Sound master control 4
    R R x x x x B B B B B B B B B x
    1 0 x x x x 8 7 6 5 4 3 2 1 0 x
  B8-0: PWM バイアス値(詳細不明)
  R1-0: PWM 分解能/周波数設定
        00: 9bit/32.768kHz
        01: 8bit/65.536kHz
        10: 7bit/131.072kHz
        11: 6bit/262.144kHz

0x04000090 (SGWR0_L, R/W) : Sound Ch.3 samples 0-3
0x04000092 (SGWR0_H, R/W) : Sound Ch.3 samples 4-7
0x04000094 (SGWR1_L, R/W) : Sound Ch.3 samples 8-11
0x04000096 (SGWR1_H, R/W) : Sound Ch.3 samples 12-15
0x04000098 (SGWR2_L, R/W) : Sound Ch.3 samples 16-19
0x0400009a (SGWR2_H, R/W) : Sound Ch.3 samples 20-23
0x0400009c (SGWR3_L, R/W) : Sound Ch.3 samples 24-27
0x0400009e (SGWR3_H, R/W) : Sound Ch.3 samples 28-31
  符号なし 4bit ループ波形データ
  バンクセレクトでバンク 0/1 を切り替える
    2 2 2 2 3 3 3 3 0 0 0 0 1 1 1 1
    D D D D D D D D D D D D D D D D
    3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
  0D3-0, 1D3-0, 2D3-0, 3D3-0 の順

0x040000a0 (SGFIFOA_L, W) : Direct sound A samples 0-1
0x040000a2 (SGFIFOA_H, W) : Direct sound A samples 2-3
0x040000a4 (SGFIFOB_L, W) : Direct sound B samples 0-1
0x040000a6 (SGFIFOB_H, W) : Direct sound B samples 2-3
  符号なし 8bit 波形データ
    1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
    D D D D D D D D D D D D D D D D
    7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
  0D7-0, 1D7-0 の順

その他

0x040000b0.w (DM0SAD, W) : DMA0 source address
0x040000bc.w (DM1SAD, W) : DMA1 source address
0x040000c8.w (DM2SAD, W) : DMA2 source address
0x040000d4.w (DM3SAD, W) : DMA3 source address
  初期値 : 0x00000000
    x x x x A A A A     A A A A
    x x x x 2 2 2 2 ... 0 0 0 0
    x x x x 7 6 5 4     3 2 1 0
  A27-00: DMA 転送元アドレス(DMA0 のみ A27 は無効)

0x040000b4.w (DM0DAD, W) : DMA0 destination address
0x040000c0.w (DM1DAD, W) : DMA1 destination address
0x040000cc.w (DM2DAD, W) : DMA2 destination address
0x040000d8.w (DM3DAD, W) : DMA3 destination address
  初期値 : 0x00000000
    x x x x A A A A     A A A A
    x x x x 2 2 2 2 ... 0 0 0 0
    x x x x 7 6 5 4     3 2 1 0
  A27-00: DMA 転送先アドレス(DMA0/1/2 では A27 は無効)

0x040000b8 (DM0CNT_L, W) : DMA0 transfer size
0x040000c4 (DM1CNT_L, W) : DMA1 transfer size
0x040000d0 (DM2CNT_L, W) : DMA2 transfer size
0x040000dc (DM3CNT_L, W) : DMA3 transfer size
  初期値 : 0x0000
    x x S S S S S S S S S S S S S S
    x x 1 1 1 1 0 0 0 0 0 0 0 0 0 0
    x x 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  S13-00: 転送量(16bit もしくは 32bit 単位)

0x040000ba (DM0CNT_H, R/W) : DMA0 control
0x040000c6 (DM1CNT_H, R/W) : DMA1 control
0x040000d2 (DM2CNT_H, R/W) : DMA2 control
0x040000de (DM3CNT_H, R/W) : DMA3 control
  初期値 : 0x0000
    E I T T G S R S S D D x x x x x
    N N 1 0 P Z P 1 0 1 0 x x x x x
  D1-0: 転送先アドレスの変化
        00: 転送毎に増加
        01: 転送毎に減少
        10: 固定
        11: 転送毎に増加、終了時にアドレスリセット
  S1-0: 転送元アドレスの変化
        00: 転送毎に増加
        01: 転送毎に減少
        10: 固定
        11: 不明
  RP  : リピート ON(T が 01 もしくは 10 のとき有効)
  SZ  : 転送単位(0:16bit、1:32bit)
  GP  : DMA3: ゲームパックからのリクエストで開始?
  T1-0: 転送タイミング
        00: すぐに開始
        01: 垂直ブランクで開始
        10: 水平ブランクで開始
        11: DMA1/2: FIFO リクエストで開始
            DMA3  : ライン描画時に開始
  IN  : 転送終了割り込み ON
  EN  : DMA 転送開始

0x04000100 (TM0D, W) : Timer0 data
0x04000104 (TM1D, W) : Timer1 data
0x04000108 (TM2D, W) : Timer2 data
0x0400010c (TM3D, W) : Timer3 data
  初期値 : 0x0000
  16bit カウンタ

0x04000102 (TM0CNT, R/W) : Timer0 control
0x04000106 (TM1CNT, R/W) : Timer1 control
0x0400010a (TM2CNT, R/W) : Timer2 control
0x0400010e (TM3CNT, R/W) : Timer3 control
  初期値 : 0x0000
    ? ? ? ? ? ? ? ? E I ? ? ? C F F
    ? ? ? ? ? ? ? ? N N ? ? ? S 1 0
  F1-0: 1 カウントに要するクロック数
        00: 1
        01: 64
        10: 256
        11: 1024
  CS  : カスケード ON(下位のタイマーがオーバーフロー時にカウントアップ)
  IN  : オーバーフロー割り込み ON
  EN  : タイマー ON

0x04000120 (SCD0, R/W) : 
0x04000122 (SCD1, R/W) : 
0x04000124 (SCD2, R/W) : 
0x04000126 (SCD3, R/W) : 

0x04000128 (SCCNT_L, R/W) : 

0x0400012a (SCCNT_H, R/W) : 

0x04000130 (P1/KEYINPUT, R) : Key status register
  全て負論理(0:ON、1:OFF)
    x x x x x x B B C C C C S S B B
    x x x x x x L R U D L R T L B A
  BA: A ボタン
  BB: B ボタン
  SL: SELECT ボタン
  ST: START ボタン
  CR: 十字キー右
  CL: 十字キー左
  CD: 十字キー下
  CU: 十字キー上
  BR: R ボタン
  BL: L ボタン

0x04000132 (P1CNT/KEYCNT, R/W) : Key control register
  初期値 : 0x0000
  キー入力割り込み用
  各キーの対応ビットが 1 で有効
    T E x x x x B B C C C C S S B B
    Y N x x x x L R U D L R T L B A
  BA: A ボタン
  BB: B ボタン
  SL: SELECT ボタン
  ST: START ボタン
  CR: 十字キー右
  CL: 十字キー左
  CD: 十字キー下
  CU: 十字キー上
  BR: R ボタン
  BL: L ボタン
  EN: キー入力割り込み ON
  TY: 割り込みタイプ
      0: いずれかの有効キーが押されたとき
      1: 全ての有効キーが押されたとき

0x04000134 (R, R/W) : 

0x04000140 (HS_CTRL, R/W) : 

0x04000150 (JOYRE_L, W) : JOY BUS receive data

0x04000154 (JOYTR_L, R) : JOY BUS transmit data

0x04000158 (JSTAT, R) : JOY BUS status

0x04000200 (IE, R/W) : Interrupt enable
  初期値 : 0x0000
  各ビットが 1 で割り込み許可
    x x G K D D D D S T T T T R H V
    x x P Y 3 2 1 0 C 3 2 1 0 S B B
  VB  : V-Blank 割り込み
  HB  : H-Blank 割り込み
  RS  : ラスター割り込み
  T3-0: タイマー割り込み
  SC  : シリアル通信割り込み
  D3-0: DMA 割り込み
  KY  : キー入力割り込み
  GP  : ゲームパック割り込み

0x04000202 (IF, R/W) : Interrupt flags
  初期値 : 0x0000
  リード時、各ビットが 1 で割り込み発生
  ライト時、各ビットが 1 で割り込みフラグリセット(0 を書き込み直す必要は無い)
    x x G K D D D D S T T T T R H V
    x x P Y 3 2 1 0 C 3 2 1 0 S B B
  VB  : V-Blank 割り込み
  HB  : H-Blank 割り込み
  RS  : ラスター割り込み
  T3-0: タイマー割り込み
  SC  : シリアル通信割り込み
  D3-0: DMA 割り込み
  KY  : キー入力割り込み
  GP  : ゲームパック割り込み

0x04000204 (WSCNT, R/W) : Wait state control
    G P x C C C C C B B B A A A S S
    P R x C C S I I S I I S I I R R
    T F x 1 0 B 1 0 B 0 1 B 1 0 1 0
  SR1-0: SRAM ウェイト
         00: 4 クロック
         01: 3 クロック
         10: 2 クロック
         11: 8 クロック
  AI1-0: 0x08000000〜0x09ffffff 初期ウェイト
         00: 4 クロック
         01: 3 クロック
         10: 2 クロック
         11: 8 クロック
  ASB  : 0x08000000〜0x09ffffff 続行ウェイト
         0: 2 クロック
         1: 1 クロック
  BI1-0: 0x0a000000〜0x0bffffff 初期ウェイト
         00: 4 クロック
         01: 3 クロック
         10: 2 クロック
         11: 8 クロック
  BSB  : 0x0a000000〜0x0bffffff 続行ウェイト
         0: 4 クロック
         1: 1 クロック
  CI1-0: 0x0c000000〜0x0dffffff 初期ウェイト
         00: 4 クロック
         01: 3 クロック
         10: 2 クロック
         11: 8 クロック
  CSB  : 0x0c000000〜0x0dffffff 続行ウェイト
         0: 8 クロック
         1: 1 クロック
  CC1-0: Cart クロック周波数?
         00: クロック Low 固定
         01: 4MHz
         10: 8MHz
         11: 16MHz
  PRF  : プリフェッチ ON(16bit×8 プリフェッチ)
  GPT  : ゲームパックタイプ(0:GBA、1:GBC)(リードのみ)

0x04000208 (IME, R/W) : Interrupt master enable
  初期値 : 0x0000
    x x x x x x x x x x x x x x x E
    x x x x x x x x x x x x x x x N
  EN: 割り込み使用 ON

戻る