mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
531 lines
26 KiB
C
531 lines
26 KiB
C
//======================================================================
|
||
// 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)// DMA2
|
||
#define DMA1_LOCK_BUF (CPU_WRAM_END - 0x1e)// DMA1
|
||
#define DMA0_LOCK_BUF (CPU_WRAM_END - 0x20)// DMA0
|
||
|
||
|
||
#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) // VRAM 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) // DMA0
|
||
#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) // DMA1
|
||
#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) // DMA2
|
||
#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) // DMA3
|
||
#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 // VRAM 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 // DMA0
|
||
#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 // DMA1
|
||
#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 // DMA2
|
||
#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 // DMA3
|
||
#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
|