mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
83 lines
4.0 KiB
C
83 lines
4.0 KiB
C
//======================================================================
|
||
// IRISモニタプログラム用定義
|
||
//======================================================================
|
||
#ifndef _IRIS_MON_MEMORY_MAP_H
|
||
#define _IRIS_MON_MEMORY_MAP_H
|
||
|
||
|
||
#include "IrisMonTarget.h"
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// メモリ・マップ
|
||
//----------------------------------------------------------------------
|
||
|
||
#define MON_DTCM 0x00800000 // モニタ用データTCM
|
||
#define MON_DTCM_END (MON_DTCM + 0x4000)
|
||
#undef DTCM
|
||
#define DTCM MON_DTCM // データTCM
|
||
|
||
#define MMEM_CHK_SIZE_READ_BUF (MAIN_MEM_END - 0x8) // メインメモリ・サイズチェック書き込みバッファ
|
||
#define MMEM_CHK_SIZE_WRITE_BUF (MAIN_MEM_EX_END - 0x8) // 読み込みバッファ
|
||
|
||
#define MON_PNA_DEFAULT 0x02000ec7 // PNAデフォルト値
|
||
#define MON_PNB_DEFAULT 0x02000f75 // PNB
|
||
|
||
#define MON_CPU_WRAM 0x03000000 // CPU内部ワークRAM
|
||
#define MON_CPU_WRAM_END (MON_CPU_WRAM + 0x01000000)
|
||
#define MON_WRAM EX_WRAM // ワークRAM全体
|
||
#define MON_WRAM_END MON_CPU_WRAM_END
|
||
#define MON_USR_BUF EX_WRAM // ユーザ領域
|
||
#define MON_USR_BUF_END (MON_CPU_WRAM_END - 4*32)
|
||
#define MON_SYS_BUF (MON_CPU_WRAM_END - 4*32) //システム領域
|
||
#define MON_SYS_BUF_END MON_CPU_WRAM_END
|
||
#define MON_FIQ_VECTOR_BUF (MON_CPU_WRAM_END - 4*6 ) // FIQ割り込み分岐アドレス
|
||
#define MON_INTR_VECTOR_BUF (MON_CPU_WRAM_END - 4*1 ) // 割り込み分岐アドレス
|
||
|
||
#define ROM_HEADER 0x08000004 // ROM内登録データ
|
||
|
||
#define MON_NINLOGO (ROM_HEADER + 0x0 ) // NINTENDOロゴ・データ
|
||
#define MON_FIQ_FLAG (ROM_HEADER + 0x9c - 4) // FIQフラグ
|
||
#define MON_KEY_GROUP_NO (ROM_HEADER + 0x9e - 4) // キーグループNo
|
||
#define MON_SOFT_NAME (ROM_HEADER + 0xa0 - 4) // ソフト名
|
||
#define MON_COMPLEMENT (ROM_HEADER + 0xbd - 4) // 補数チェック・データ
|
||
|
||
#define ICE_ROM0 0x09fe2000 // ICE ROM
|
||
#define ICE_ROM0_END 0x09fe4000
|
||
#define ICE_ROM1 0x09ffc000
|
||
#define ICE_ROM1_END 0x09ffe000
|
||
|
||
#define DACS_KEY_REG0 0x0bfe2000 - 32 // DACSキーレジスタ
|
||
#define DACS_KEY_REG1 0x0c000000 - 32
|
||
|
||
#define REG_PAUSE (REG_BASE + 0x300) // PAUSE
|
||
#define REG_OBJ_CENTER (REG_BASE + 0x410) // OBJ中心位置
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// メモリ・サイズ
|
||
//----------------------------------------------------------------------
|
||
|
||
#define ROM_HEADER_SIZE (0xc0 - 4 + OFFSET_MON_NINLOGO) // ROM内登録データ
|
||
#define MON_NINLOGO_SIZE (MON_SOFT_NAME - MON_NINLOGO) // NINTENDOロゴ・データ
|
||
|
||
#define ICE_ROM_SIZE 0x2000 // ICE ROM
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// 登録データ・オフセット
|
||
//----------------------------------------------------------------------
|
||
|
||
#define OFFSET_MON_NINLOGO (MON_NINLOGO - MON_NINLOGO) // NINTENDOロゴ・データ
|
||
#define OFFSET_MON_FIQ_FLAG (MON_FIQ_FLAG - MON_NINLOGO) // FIQフラグ
|
||
#define OFFSET_MON_KEY_GROUP_NO (MON_KEY_GROUP_NO - MON_NINLOGO) // キーグループNo
|
||
#define OFFSET_MON_SOFT_NAME (MON_SOFT_NAME - MON_NINLOGO) // ソフト名
|
||
#define OFFSET_MON_COMPLEMENT (MON_COMPLEMENT - MON_NINLOGO) // 補数チェック・データ
|
||
|
||
#define OFFSET_REG_PAUSE 0x300 // PAUSE
|
||
#define OFFSET_REG_OBJ_CENTER 0x410 // OBJ中心位置
|
||
|
||
|
||
|
||
#endif // _IRIS_MON_MEMORY_MAP_H
|