ntr_bootrom/trunk/IrisSubp/include/IrisSubpMemoryMap.h

531 lines
26 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//======================================================================
// IrisSubpMemoryMap.h
// IRISサブプロセッサ メモリマップ定数
//
// Copyright (C) 2002-2004 NINTENDO Co.,Ltd.
//======================================================================
#ifndef _IRIS_SUBP_MEMORY_MAP_H
#define _IRIS_SUBP_MEMORY_MAP_H
#ifdef __cplusplus
extern "C" {
#endif
#include <IrisSubpTarget.h>
//----------------------------------------------------------------------
// メモリ・マップ
//----------------------------------------------------------------------
#define SHARED_WORK 0x027ff000 // CPU間共有ワーク領域
#define SHARED_WORK_END 0x02800000
#if defined(NDEBUG)
#define SUBP_PRV 0x02380000 // サブプロセッサ専有領域(リリースバージョン)
#elif defined(MMEM_4M)
#define SUBP_PRV 0x02300000 // (デバッグバージョン<メインメモリ4M本体>)
#else
#define SUBP_PRV 0x02600000 // (デバッグバージョン<メインメモリ8M本体>)
#endif
#define SUBP_PRV_END SHARED_WORK
#define MAIN_MEM 0x02000000 // メインメモリ
#define MAIN_MEM_END (MAIN_MEM + 0x400000)
#define MAIN_MEM_EX_END (MAIN_MEM + 0x800000) //(拡張時の最終アドレス)
#define MAIN_MEM_CMD_AREA (MAIN_MEM_EX_END - 0x2) // メインメモリコマンド発行エリア(使用禁止エリア)
#define SHARED_LOCK_BUF (MAIN_MEM_EX_END - 0x40) // 共有リソース・ロックバッファ
#define SHARED_LOCK_BUF_END (MAIN_MEM_EX_END - 0x10)
#define INIT_LOCK_BUF (MAIN_MEM_EX_END - 0x10) // 初期化ロックバッファ
#define CARTRIDGE_LOCK_BUF (MAIN_MEM_EX_END - 0x18) // カートリッジ・ロックバッファ
#define CARD_LOCK_BUF (MAIN_MEM_EX_END - 0x20) // カード・ロックバッファ
#define WRAM_BLOCK1_LOCK_BUF (MAIN_MEM_EX_END - 0x28) // CPU内部ワークRAM・ブロック1・ロックバッファ
#define WRAM_BLOCK0_LOCK_BUF (MAIN_MEM_EX_END - 0x30) // ブロック0・ロックバッファ
#define VRAM_D_LOCK_BUF (MAIN_MEM_EX_END - 0x38) // VRAM-D・ロックバッファ
#define VRAM_C_LOCK_BUF (MAIN_MEM_EX_END - 0x40) // C・ロックバッファ
#define TO_MAINP_IF_BUF (MAIN_MEM_EX_END - 0x50) // サブ→メインプロセッサ割り込み要求フラグ(2Byte×8)
#define WM_TO_MAINP_IF_BUF (MAIN_MEM_EX_END - 0x50) // ワイヤレスマネージャ予約
#define FROM_MAINP_IF_BUF (MAIN_MEM_EX_END - 0x60) // メイン→サブプロセッサ割り込み要求フラグ(2Byte×8)
#define WM_FROM_MAINP_IF_BUF (MAIN_MEM_EX_END - 0x60) // ワイヤレスマネージャ予約
#define ROM_HEADER_BUF (MAIN_MEM_EX_END - 0x200)// ROM内登録エリアデータ・バッファ
#ifdef IRIS_TS
#define PRV_WRAM_DF_SIZE 0x8000 // CPU内部専有ワークRAM TS-TEG差分サイズ
#else
#define PRV_WRAM_DF_SIZE 0
#endif
#define CPU_WRAM 0x037f8000 // CPU内部ワークRAM 3ブロック構成時(デフォルト)
#define CPU_WRAM_END (CPU_WRAM + PRV_WRAM_DF_SIZE + 0x10000)
#define CPU_WRAM_2B 0x037fc000 // 2ブロック構成時
#define CPU_WRAM_2B_END (CPU_WRAM_2B + PRV_WRAM_DF_SIZE + 0xc000)
#define CPU_WRAM_BLOCK0 0x037f8000 // ブロック0
#define CPU_WRAM_BLOCK0_END (CPU_WRAM_BLOCK0 + 0x4000)
#define CPU_WRAM_BLOCK1 0x037fc000 // ブロック1
#define CPU_WRAM_BLOCK1_END (CPU_WRAM_BLOCK1 + 0x4000)
#define PRV_WRAM 0x03800000 // CPU内部専有ワークRAM
#define PRV_WRAM_END (PRV_WRAM + PRV_WRAM_DF_SIZE + 0x8000)
#define CPU_XWRAM 0x06000000 // CPU内部拡張ワークRAM
#define CPU_XWRAM_END (CPU_XWRAM +0x40000)
#define INTR_VECTOR_BUF (CPU_WRAM_END - 0x4)// 割り込み分岐アドレス
#define INTR_CHECK_BUF (CPU_WRAM_END - 0x8)// 割り込みチェック
#define SEND_FIFO_LOCK_BUF (CPU_WRAM_END - 0x10)// CPU間送信FIFO・ロックバッファ
#define TIMER3_LOCK_BUF (CPU_WRAM_END - 0x12)// タイマー3・ロックバッファ
#define TIMER2_LOCK_BUF (CPU_WRAM_END - 0x14)// タイマー2
#define TIMER1_LOCK_BUF (CPU_WRAM_END - 0x16)// タイマー1
#define TIMER0_LOCK_BUF (CPU_WRAM_END - 0x18)// タイマー0
#define DMA3_LOCK_BUF (CPU_WRAM_END - 0x1a)// DMA3・ロックバッファ
#define DMA2_LOCK_BUF (CPU_WRAM_END - 0x1c)//
#define DMA1_LOCK_BUF (CPU_WRAM_END - 0x1e)//
#define DMA0_LOCK_BUF (CPU_WRAM_END - 0x20)//
#define REG_BASE 0x04000000 // レジスタ群
#define WIRELESS_INTF 0x04800000 // 無線通信インタフェース
#define WIRELESS_INTF0 0x04800000 // インタフェース0
#define WIRELESS_INTF1 0x04808000 // インタフェース1
#define WIRELESS_INTF0_END (WIRELESS_INTF0 + 0x8000)
#define WIRELESS_INTF1_END (WIRELESS_INTF1 + 0x8000)
#define WIRELESS_INTF_END (WIRELESS_INTF + 0x10000)
#define CARTRIDGE 0x08000000 // カートリッジ
#define CTRDG_AD16_BANK0 0x08000000 // カートリッジ AD16バス バンク0
#define CTRDG_AD16_BANK0_END 0x0a000000
#define CTRDG_AD16_BANK1 0x0a000000 // バンク1
#define CTRDG_AD16_BANK1_END 0x0c000000
#define CTRDG_AD16_BANK2 0x0c000000 // バンク2
#define CTRDG_AD16_BANK2_END 0x0e000000
#define CTRDG_DT8 0x0e000000 // カートリッジ 8bitデータバス
#define CTRDG_DT8_END 0x10000000
//----------------------------------------------------------------------
// メモリ・サイズ
//----------------------------------------------------------------------
#define SHARED_WORK_SIZE (SHARED_WORK_END - SHARED_WORK) // CPU間共有ワーク領域(4KB以上、2のべき乗サイズ)
#define SUBP_PRV_SIZE (SUBP_PRV_END - SUBP_PRV) // サブプロセッサ専有領域(32KB以上、2のべき乗サイズ)
#define SHARED_LOCK_BUF_SIZE (SHARED_LOCK_BUF_END - SHARED_LOCK_BUF) // 共有リソース・ロックバッファ
#define MAIN_MEM_SIZE 0x400000 // メインメモリ
#define MAIN_MEM_EX_SIZE 0x800000 // (拡張時)
#define CPU_WRAM_SIZE (0x10000 + PRV_WRAM_DF_SIZE) // CPU内部ワークRAM 3ブロック構成時(デフォルト)
#define CPU_WRAM_2B_SIZE (0xc000 + PRV_WRAM_DF_SIZE) // 2ブロック構成時
#define CPU_WRAM_BLOCK0_SIZE 0x4000 // ブロック0
#define CPU_WRAM_BLOCK1_SIZE 0x4000 // ブロック1
#define PRV_WRAM_SIZE (0x8000 + PRV_WRAM_DF_SIZE) // CPU内部専有ワークRAM
#define CPU_XWRAM_SIZE 0x40000 // CPU内部拡張ワークRAM
#define MROM_PAGE_SIZE 512 // マスクROM・ページ
#define CARTRIDGE_SIZE 0x02000000 // カートリッジ
#define CTRDG_AD16_BANK_SIZE 0x02000000 // カートリッジ AD16バス バンク
#define CTRDG_AD16_BANK0_SIZE 0x02000000 // バンク0
#define CTRDG_AD16_BANK1_SIZE 0x02000000 // バンク1
#define CTRDG_AD16_BANK2_SIZE 0x02000000 // バンク2
#define CTRDG_DT8_SIZE 0x02000000 // カートリッジ 8bitデータバス
//----------------------------------------------------------------------
// レジスタ・アドレス
//----------------------------------------------------------------------
#define REG_IME (REG_BASE + 0x208) // 割り込みマスタイネーブル
#define REG_IE (REG_BASE + 0x210) // 割り込み許可
#define REG_IF (REG_BASE + 0x214) // 割り込み要求
#define REG_MAINPINTF (REG_BASE + 0x180) // メインプロセッサインタフェース
#define REG_MAINP_FIFO_CNT (REG_BASE + 0x184) // CPU間FIFOコントロール
#define REG_SEND_FIFO (REG_BASE + 0x188) // 送信FIFO
#define REG_RECV_FIFO (REG_BASE + 0x100000) // 受信FIFO
#define REG_POWCNT (REG_BASE + 0x304) // パワーコントロール
#define REG_EXMEMCNT (REG_BASE + 0x204) // 外部メモリコントロール
#define REG_VRAMSTAT (REG_BASE + 0x240) // VRAMステータス
#define REG_WRAMSTAT (REG_BASE + 0x241) // 内部ワークRAMステータス
#define REG_WVRAMSTAT (REG_BASE + 0x240) // C・D 内部ワークRAM ステータス
#define REG_DISPSTAT (REG_BASE + 0x4) // 表示ステータス
#define REG_VCOUNT (REG_BASE + 0x6) // Vカウンタ
#define REG_SPICNT (REG_BASE + 0x1c0) // SPIコントロール
#define REG_SPIDATA (REG_BASE + 0x1c2) // SPIデータ
#define REG_RCNT (REG_BASE + 0x134) // 汎用入出力コントロール
#define REG_KEYINPUT (REG_BASE + 0x130) // キー入力
#define REG_KEYCNT (REG_BASE + 0x132) // キーコントロール
#define REG_DMA0 (REG_BASE + 0xb0) //
#define REG_DMA0SAD (REG_BASE + 0xb0)
#define REG_DMA0DAD (REG_BASE + 0xb4)
#define REG_DMA0CNT (REG_BASE + 0xb8)
#define REG_DMA0CNT_L (REG_BASE + 0xb8)
#define REG_DMA0CNT_H (REG_BASE + 0xba)
#define REG_DMA1 (REG_BASE + 0xbc) //
#define REG_DMA1SAD (REG_BASE + 0xbc)
#define REG_DMA1DAD (REG_BASE + 0xc0)
#define REG_DMA1CNT (REG_BASE + 0xc4)
#define REG_DMA1CNT_L (REG_BASE + 0xc4)
#define REG_DMA1CNT_H (REG_BASE + 0xc6)
#define REG_DMA2 (REG_BASE + 0xc8) //
#define REG_DMA2SAD (REG_BASE + 0xc8)
#define REG_DMA2DAD (REG_BASE + 0xcc)
#define REG_DMA2CNT (REG_BASE + 0xd0)
#define REG_DMA2CNT_L (REG_BASE + 0xd0)
#define REG_DMA2CNT_H (REG_BASE + 0xd2)
#define REG_DMA3 (REG_BASE + 0xd4) //
#define REG_DMA3SAD (REG_BASE + 0xd4)
#define REG_DMA3DAD (REG_BASE + 0xd8)
#define REG_DMA3CNT (REG_BASE + 0xdc)
#define REG_DMA3CNT_L (REG_BASE + 0xdc)
#define REG_DMA3CNT_H (REG_BASE + 0xde)
#define REG_TM0CNT (REG_BASE + 0x100) // タイマー0
#define REG_TM0CNT_L (REG_BASE + 0x100)
#define REG_TM0CNT_H (REG_BASE + 0x102)
#define REG_TM1CNT (REG_BASE + 0x104) // タイマー1
#define REG_TM1CNT_L (REG_BASE + 0x104)
#define REG_TM1CNT_H (REG_BASE + 0x106)
#define REG_TM2CNT (REG_BASE + 0x108) // タイマー2
#define REG_TM2CNT_L (REG_BASE + 0x108)
#define REG_TM2CNT_H (REG_BASE + 0x10a)
#define REG_TM3CNT (REG_BASE + 0x10c) // タイマー3
#define REG_TM3CNT_L (REG_BASE + 0x10c)
#define REG_TM3CNT_H (REG_BASE + 0x10e)
#define REG_SOUNDCNT (REG_BASE + 0x500) // サウンド・マスタコントロール
#define REG_SOUNDBIAS (REG_BASE + 0x504) // サウンドBIAS
#define REG_SNDCAPCNT (REG_BASE + 0x508) // サウンドキャプチャコントロール
#define REG_SNDCAP0DAD (REG_BASE + 0x510) // サウンドキャプチャ0パラメータ
#define REG_SNDCAP0LEN (REG_BASE + 0x514)
#define REG_SNDCAP1DAD (REG_BASE + 0x518) // サウンドキャプチャ1パラメータ
#define REG_SNDCAP1LEN (REG_BASE + 0x51c)
#define REG_SOUND0CNT (REG_BASE + 0x400) // サウンド0コントロール
#define REG_SOUND0CNT_L (REG_BASE + 0x400)
#define REG_SOUND0CNT_H (REG_BASE + 0x402)
#define REG_SOUND0SAD (REG_BASE + 0x404)
#define REG_SOUND0TMR (REG_BASE + 0x408)
#define REG_SOUND0RPT_PT (REG_BASE + 0x40a)
#define REG_SOUND0RPT_LEN (REG_BASE + 0x40c)
#define REG_SOUND1CNT (REG_BASE + 0x410) // サウンド1コントロール
#define REG_SOUND1CNT_L (REG_BASE + 0x410)
#define REG_SOUND1CNT_H (REG_BASE + 0x412)
#define REG_SOUND1SAD (REG_BASE + 0x414)
#define REG_SOUND1TMR (REG_BASE + 0x418)
#define REG_SOUND1RPT_PT (REG_BASE + 0x41a)
#define REG_SOUND1RPT_LEN (REG_BASE + 0x41c)
#define REG_SOUND2CNT (REG_BASE + 0x420) // サウンド2コントロール
#define REG_SOUND2CNT_L (REG_BASE + 0x420)
#define REG_SOUND2CNT_H (REG_BASE + 0x422)
#define REG_SOUND2SAD (REG_BASE + 0x424)
#define REG_SOUND2TMR (REG_BASE + 0x428)
#define REG_SOUND2RPT_PT (REG_BASE + 0x42a)
#define REG_SOUND2RPT_LEN (REG_BASE + 0x42c)
#define REG_SOUND3CNT (REG_BASE + 0x430) // サウンド3コントロール
#define REG_SOUND3CNT_L (REG_BASE + 0x430)
#define REG_SOUND3CNT_H (REG_BASE + 0x432)
#define REG_SOUND3SAD (REG_BASE + 0x434)
#define REG_SOUND3TMR (REG_BASE + 0x438)
#define REG_SOUND3RPT_PT (REG_BASE + 0x43a)
#define REG_SOUND3RPT_LEN (REG_BASE + 0x43c)
#define REG_SOUND4CNT (REG_BASE + 0x440) // サウンド4コントロール
#define REG_SOUND4CNT_L (REG_BASE + 0x440)
#define REG_SOUND4CNT_H (REG_BASE + 0x442)
#define REG_SOUND4SAD (REG_BASE + 0x444)
#define REG_SOUND4TMR (REG_BASE + 0x448)
#define REG_SOUND4RPT_PT (REG_BASE + 0x44a)
#define REG_SOUND4RPT_LEN (REG_BASE + 0x44c)
#define REG_SOUND5CNT (REG_BASE + 0x450) // サウンド5コントロール
#define REG_SOUND5CNT_L (REG_BASE + 0x450)
#define REG_SOUND5CNT_H (REG_BASE + 0x452)
#define REG_SOUND5SAD (REG_BASE + 0x454)
#define REG_SOUND5TMR (REG_BASE + 0x458)
#define REG_SOUND5RPT_PT (REG_BASE + 0x45a)
#define REG_SOUND5RPT_LEN (REG_BASE + 0x45c)
#define REG_SOUND6CNT (REG_BASE + 0x460) // サウンド6コントロール
#define REG_SOUND6CNT_L (REG_BASE + 0x460)
#define REG_SOUND6CNT_H (REG_BASE + 0x462)
#define REG_SOUND6SAD (REG_BASE + 0x464)
#define REG_SOUND6TMR (REG_BASE + 0x468)
#define REG_SOUND6RPT_PT (REG_BASE + 0x46a)
#define REG_SOUND6RPT_LEN (REG_BASE + 0x46c)
#define REG_SOUND7CNT (REG_BASE + 0x470) // サウンド7コントロール
#define REG_SOUND7CNT_L (REG_BASE + 0x470)
#define REG_SOUND7CNT_H (REG_BASE + 0x472)
#define REG_SOUND7SAD (REG_BASE + 0x474)
#define REG_SOUND7TMR (REG_BASE + 0x478)
#define REG_SOUND7RPT_PT (REG_BASE + 0x47a)
#define REG_SOUND7RPT_LEN (REG_BASE + 0x47c)
#define REG_SOUND8CNT (REG_BASE + 0x480) // サウンド8コントロール
#define REG_SOUND8CNT_L (REG_BASE + 0x480)
#define REG_SOUND8CNT_H (REG_BASE + 0x482)
#define REG_SOUND8SAD (REG_BASE + 0x484)
#define REG_SOUND8TMR (REG_BASE + 0x488)
#define REG_SOUND8RPT_PT (REG_BASE + 0x48a)
#define REG_SOUND8RPT_LEN (REG_BASE + 0x48c)
#define REG_SOUND9CNT (REG_BASE + 0x490) // サウンド9コントロール
#define REG_SOUND9CNT_L (REG_BASE + 0x490)
#define REG_SOUND9CNT_H (REG_BASE + 0x492)
#define REG_SOUND9SAD (REG_BASE + 0x494)
#define REG_SOUND9TMR (REG_BASE + 0x498)
#define REG_SOUND9RPT_PT (REG_BASE + 0x49a)
#define REG_SOUND9RPT_LEN (REG_BASE + 0x49c)
#define REG_SOUND10CNT (REG_BASE + 0x4a0) // サウンド10コントロール
#define REG_SOUND10CNT_L (REG_BASE + 0x4a0)
#define REG_SOUND10CNT_H (REG_BASE + 0x4a2)
#define REG_SOUND10SAD (REG_BASE + 0x4a4)
#define REG_SOUND10TMR (REG_BASE + 0x4a8)
#define REG_SOUND10RPT_PT (REG_BASE + 0x4aa)
#define REG_SOUND10RPT_LEN (REG_BASE + 0x4ac)
#define REG_SOUND11CNT (REG_BASE + 0x4b0) // サウンド11コントロール
#define REG_SOUND11CNT_L (REG_BASE + 0x4b0)
#define REG_SOUND11CNT_H (REG_BASE + 0x4b2)
#define REG_SOUND11SAD (REG_BASE + 0x4b4)
#define REG_SOUND11TMR (REG_BASE + 0x4b8)
#define REG_SOUND11RPT_PT (REG_BASE + 0x4ba)
#define REG_SOUND11RPT_LEN (REG_BASE + 0x4bc)
#define REG_SOUND12CNT (REG_BASE + 0x4c0) // サウンド12コントロール
#define REG_SOUND12CNT_L (REG_BASE + 0x4c0)
#define REG_SOUND12CNT_H (REG_BASE + 0x4c2)
#define REG_SOUND12SAD (REG_BASE + 0x4c4)
#define REG_SOUND12TMR (REG_BASE + 0x4c8)
#define REG_SOUND12RPT_PT (REG_BASE + 0x4ca)
#define REG_SOUND12RPT_LEN (REG_BASE + 0x4cc)
#define REG_SOUND13CNT (REG_BASE + 0x4d0) // サウンド13コントロール
#define REG_SOUND13CNT_L (REG_BASE + 0x4d0)
#define REG_SOUND13CNT_H (REG_BASE + 0x4d2)
#define REG_SOUND13SAD (REG_BASE + 0x4d4)
#define REG_SOUND13TMR (REG_BASE + 0x4d8)
#define REG_SOUND13RPT_PT (REG_BASE + 0x4da)
#define REG_SOUND13RPT_LEN (REG_BASE + 0x4dc)
#define REG_SOUND14CNT (REG_BASE + 0x4e0) // サウンド14コントロール
#define REG_SOUND14CNT_L (REG_BASE + 0x4e0)
#define REG_SOUND14CNT_H (REG_BASE + 0x4e2)
#define REG_SOUND14SAD (REG_BASE + 0x4e4)
#define REG_SOUND14TMR (REG_BASE + 0x4e8)
#define REG_SOUND14RPT_PT (REG_BASE + 0x4ea)
#define REG_SOUND14RPT_LEN (REG_BASE + 0x4ec)
#define REG_SOUND15CNT (REG_BASE + 0x4f0) // サウンド15コントロール
#define REG_SOUND15CNT_L (REG_BASE + 0x4f0)
#define REG_SOUND15CNT_H (REG_BASE + 0x4f2)
#define REG_SOUND15SAD (REG_BASE + 0x4f4)
#define REG_SOUND15TMR (REG_BASE + 0x4f8)
#define REG_SOUND15RPT_PT (REG_BASE + 0x4fa)
#define REG_SOUND15RPT_LEN (REG_BASE + 0x4fc)
//----------------------------------------------------------------------
// レジスタ・オフセット
//----------------------------------------------------------------------
#define OFFSET_REG_IME 0x208 // 割り込みマスタイネーブル
#define OFFSET_REG_IE 0x210 // 割り込み許可
#define OFFSET_REG_IF 0x214 // 割り込み要求
#define OFFSET_REG_MAINPINTF 0x180 // メインプロセッサインタフェース
#define OFFSET_REG_MAINP_FIFO_CNT 0x184 // CPU間FIFOコントロール
#define OFFSET_REG_SEND_FIFO 0x188 // 送信FIFO
#define OFFSET_REG_RECV_FIFO 0x100000 // 受信FIFO
#define OFFSET_REG_POWCNT 0x304 // パワーコントロール
#define OFFSET_REG_EXMEMCNT 0x204 // 外部メモリコントロール
#define OFFSET_REG_VRAMSTAT 0x240 // VRAMステータス
#define OFFSET_REG_WRAMSTAT 0x241 // 内部ワークRAMステータス
#define OFFSET_REG_WVRAMSTAT 0x240 // C・D 内部ワークRAM ステータス
#define OFFSET_REG_DISPSTAT 0x4 // ステータス
#define OFFSET_REG_VCOUNT 0x6 // Vカウンタ
#define OFFSET_REG_SPICNT 0x1c0 // SPIコントロール
#define OFFSET_REG_SPIDATA 0x1c2 // SPIデータ
#define OFFSET_REG_RCNT 0x134 // 汎用入出力コントロール
#define OFFSET_REG_KEYINPUT 0x130 // キー入力
#define OFFSET_REG_KEYCNT 0x132 // キーコントロール
#define OFFSET_REG_DMA0 0xb0 //
#define OFFSET_REG_DMA0SAD 0xb0
#define OFFSET_REG_DMA0DAD 0xb4
#define OFFSET_REG_DMA0CNT 0xb8
#define OFFSET_REG_DMA0CNT_L 0xb8
#define OFFSET_REG_DMA0CNT_H 0xba
#define OFFSET_REG_DMA1 0xbc //
#define OFFSET_REG_DMA1SAD 0xbc
#define OFFSET_REG_DMA1DAD 0xc0
#define OFFSET_REG_DMA1CNT 0xc4
#define OFFSET_REG_DMA1CNT_L 0xc4
#define OFFSET_REG_DMA1CNT_H 0xc6
#define OFFSET_REG_DMA2 0xc8 //
#define OFFSET_REG_DMA2SAD 0xc8
#define OFFSET_REG_DMA2DAD 0xcc
#define OFFSET_REG_DMA2CNT 0xd0
#define OFFSET_REG_DMA2CNT_L 0xd0
#define OFFSET_REG_DMA2CNT_H 0xd2
#define OFFSET_REG_DMA3 0xd4 //
#define OFFSET_REG_DMA3SAD 0xd4
#define OFFSET_REG_DMA3DAD 0xd8
#define OFFSET_REG_DMA3CNT 0xdc
#define OFFSET_REG_DMA3CNT_L 0xdc
#define OFFSET_REG_DMA3CNT_H 0xde
#define OFFSET_REG_TM0CNT 0x100 // タイマー0
#define OFFSET_REG_TM0CNT_L 0x100
#define OFFSET_REG_TM0CNT_H 0x102
#define OFFSET_REG_TM1CNT 0x104 // タイマー1
#define OFFSET_REG_TM1CNT_L 0x104
#define OFFSET_REG_TM1CNT_H 0x106
#define OFFSET_REG_TM2CNT 0x108 // タイマー2
#define OFFSET_REG_TM2CNT_L 0x108
#define OFFSET_REG_TM2CNT_H 0x10a
#define OFFSET_REG_TM3CNT 0x10c // タイマー3
#define OFFSET_REG_TM3CNT_L 0x10c
#define OFFSET_REG_TM3CNT_H 0x10e
#define OFFSET_REG_SOUNDCNT 0x500 // サウンド・マスタコントロール
#define OFFSET_REG_SOUNDBIAS 0x504 // サウンドBIAS
#define OFFSET_REG_SNDCAPCNT 0x508 // サウンドキャプチャコントロール
#define OFFSET_REG_SNDCAP0DAD 0x510 // サウンドキャプチャ0パラメータ
#define OFFSET_REG_SNDCAP0LEN 0x514
#define OFFSET_REG_SNDCAP1DAD 0x518 // サウンドキャプチャ1パラメータ
#define OFFSET_REG_SNDCAP1LEN 0x51c
#define OFFSET_REG_SOUND0CNT 0x400 // サウンド0コントロール
#define OFFSET_REG_SOUND0CNT_L 0x400
#define OFFSET_REG_SOUND0CNT_H 0x402
#define OFFSET_REG_SOUND0SAD 0x404
#define OFFSET_REG_SOUND0TMR 0x408
#define OFFSET_REG_SOUND0REPLEN 0x40c
#define OFFSET_REG_SOUND1CNT 0x410 // サウンド1コントロール
#define OFFSET_REG_SOUND1CNT_L 0x410
#define OFFSET_REG_SOUND1CNT_H 0x412
#define OFFSET_REG_SOUND1SAD 0x414
#define OFFSET_REG_SOUND1TMR 0x418
#define OFFSET_REG_SOUND1REPLEN 0x41c
#define OFFSET_REG_SOUND2CNT 0x420 // サウンド2コントロール
#define OFFSET_REG_SOUND2CNT_L 0x420
#define OFFSET_REG_SOUND2CNT_H 0x422
#define OFFSET_REG_SOUND2SAD 0x424
#define OFFSET_REG_SOUND2TMR 0x428
#define OFFSET_REG_SOUND2REPLEN 0x42c
#define OFFSET_REG_SOUND3CNT 0x430 // サウンド3コントロール
#define OFFSET_REG_SOUND3CNT_L 0x430
#define OFFSET_REG_SOUND3CNT_H 0x432
#define OFFSET_REG_SOUND3SAD 0x434
#define OFFSET_REG_SOUND3TMR 0x438
#define OFFSET_REG_SOUND3REPLEN 0x43c
#define OFFSET_REG_SOUND4CNT 0x440 // サウンド4コントロール
#define OFFSET_REG_SOUND4CNT_L 0x440
#define OFFSET_REG_SOUND4CNT_H 0x442
#define OFFSET_REG_SOUND4SAD 0x444
#define OFFSET_REG_SOUND4TMR 0x448
#define OFFSET_REG_SOUND4REPLEN 0x44c
#define OFFSET_REG_SOUND5CNT 0x450 // サウンド5コントロール
#define OFFSET_REG_SOUND5CNT_L 0x450
#define OFFSET_REG_SOUND5CNT_H 0x452
#define OFFSET_REG_SOUND5SAD 0x454
#define OFFSET_REG_SOUND5TMR 0x458
#define OFFSET_REG_SOUND5REPLEN 0x45c
#define OFFSET_REG_SOUND6CNT 0x460 // サウンド6コントロール
#define OFFSET_REG_SOUND6CNT_L 0x460
#define OFFSET_REG_SOUND6CNT_H 0x462
#define OFFSET_REG_SOUND6SAD 0x464
#define OFFSET_REG_SOUND6TMR 0x468
#define OFFSET_REG_SOUND6REPLEN 0x46c
#define OFFSET_REG_SOUND7CNT 0x470 // サウンド7コントロール
#define OFFSET_REG_SOUND7CNT_L 0x470
#define OFFSET_REG_SOUND7CNT_H 0x472
#define OFFSET_REG_SOUND7SAD 0x474
#define OFFSET_REG_SOUND7TMR 0x478
#define OFFSET_REG_SOUND7REPLEN 0x47c
#define OFFSET_REG_SOUND8CNT 0x480 // サウンド8コントロール
#define OFFSET_REG_SOUND8CNT_L 0x480
#define OFFSET_REG_SOUND8CNT_H 0x482
#define OFFSET_REG_SOUND8SAD 0x484
#define OFFSET_REG_SOUND8TMR 0x488
#define OFFSET_REG_SOUND8REPLEN 0x48c
#define OFFSET_REG_SOUND9CNT 0x490 // サウンド9コントロール
#define OFFSET_REG_SOUND9CNT_L 0x490
#define OFFSET_REG_SOUND9CNT_H 0x492
#define OFFSET_REG_SOUND9SAD 0x494
#define OFFSET_REG_SOUND9TMR 0x498
#define OFFSET_REG_SOUND9REPLEN 0x49c
#define OFFSET_REG_SOUND10CNT 0x4a0 // サウンド10コントロール
#define OFFSET_REG_SOUND10CNT_L 0x4a0
#define OFFSET_REG_SOUND10CNT_H 0x4a2
#define OFFSET_REG_SOUND10SAD 0x4a4
#define OFFSET_REG_SOUND10TMR 0x4a8
#define OFFSET_REG_SOUND10REPLEN 0x4ac
#define OFFSET_REG_SOUND11CNT 0x4b0 // サウンド11コントロール
#define OFFSET_REG_SOUND11CNT_L 0x4b0
#define OFFSET_REG_SOUND11CNT_H 0x4b2
#define OFFSET_REG_SOUND11SAD 0x4b4
#define OFFSET_REG_SOUND11TMR 0x4b8
#define OFFSET_REG_SOUND11REPLEN 0x4bc
#define OFFSET_REG_SOUND12CNT 0x4c0 // サウンド12コントロール
#define OFFSET_REG_SOUND12CNT_L 0x4c0
#define OFFSET_REG_SOUND12CNT_H 0x4c2
#define OFFSET_REG_SOUND12SAD 0x4c4
#define OFFSET_REG_SOUND12TMR 0x4c8
#define OFFSET_REG_SOUND12REPLEN 0x4cc
#define OFFSET_REG_SOUND13CNT 0x4d0 // サウンド13コントロール
#define OFFSET_REG_SOUND13CNT_L 0x4d0
#define OFFSET_REG_SOUND13CNT_H 0x4d2
#define OFFSET_REG_SOUND13SAD 0x4d4
#define OFFSET_REG_SOUND13TMR 0x4d8
#define OFFSET_REG_SOUND13REPLEN 0x4dc
#define OFFSET_REG_SOUND14CNT 0x4e0 // サウンド14コントロール
#define OFFSET_REG_SOUND14CNT_L 0x4e0
#define OFFSET_REG_SOUND14CNT_H 0x4e2
#define OFFSET_REG_SOUND14SAD 0x4e4
#define OFFSET_REG_SOUND14TMR 0x4e8
#define OFFSET_REG_SOUND14REPLEN 0x4ec
#define OFFSET_REG_SOUND15CNT 0x4f0 // サウンド15コントロール
#define OFFSET_REG_SOUND15CNT_L 0x4f0
#define OFFSET_REG_SOUND15CNT_H 0x4f2
#define OFFSET_REG_SOUND15SAD 0x4f4
#define OFFSET_REG_SOUND15TMR 0x4f8
#define OFFSET_REG_SOUND15REPLEN 0x4fc
#ifdef __cplusplus
} // extern "C"
#endif
#endif // _IRIS_SUBP_MEMORY_MAP_H